🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.atari.st
Article #39508

Re: help with dlibs

#39508
From: Dale Schumacher
Date: Fri, 15 Dec 1989 02:27
53 lines
2934 bytes
[depeche@quiche.cs.mcgill.ca (Sam Alan EZUST) writes...]
> 
> I am a novice user of computers and compilers, and just downloaded
> dlibs12 from terminator.
> I placed the header files in e:\dlibs\h,
> and everything else in e:\dlibs
> 
> Now I want laser C to use these libraries instead of the default ones.
> 
> I went into the environment variables and changed all the ones
> I thought I was supposed to.
> 
> clib=e:\dlibs\dlib.a
> cinit=e:\dlibs\dstart.o
> cinclude=e:\dlibs\h\
> 
> and I also tried changing libpath to e:\dlibs\
> 
> And now when I try to compile/link a program, the linker says
> 
>  undefinined symbol: __lmul
> 
> I don't even know what lmul is, but anyway... What else do I need to
> do in order to get laserc working with dlibs?
> -- 
> S. Alan Ezust                                   depeche@calvin.cs.mcgill.ca
> McGill University Department of Computer Science - Montreal, Quebec, Canada


DISCLAIMER:  I haven't tried to make dLibs work with Laser C, and it may
not work at all since it was designed to work with Alcyon C and Sozobon C.

The problem appears to be one of not finding a function which is probably
a reference internally generated by the compiler.  This one is most likely
the 'long multiply' function.  In Alcyon/Sozobon the name of this function
is 'lmul' (note: NO leading underscore, this is in assembly code) and it,
along with others like 'ldiv', 'lmod', etc. are in the "math.s" source file.
You MAY be able to get dLibs working with Laser C by putting two underscores
in front of the global identifiers in "math.s" and re-assembling that source.
The compiler makes reference to these function when it need to multiply,
divide, modulo a long or unsigned long value, since these operations are
not directly supported by the 68000.  The names used to call these functions
vary by compiler and are supplied with the compiler's normal libraries.
If you have a library manager, you may be able to extract the appropriate
functions from the Laser C library and combine then with dLibs, or simply
link with dLibs first, then with the default library to resolve any other
dependencies.  Good luck.

\\   /  Dale Schumacher                         399 Beacon Ave.
 \\ /   (alias: Dalnefre')                      St. Paul, MN  55104-3527
  ><    ..!nic.mr.net!bungia.mn.org!syntel!dal  United States of America
 / \\   "The power of accurate observation is commonly called cynicism
/   \\   by those who have not got it." -George Bernard Shaw
Technical Details
Message-ID: <1989Dec15.022759.208@stag.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uwm.edu!uwvax!umn-d-ub!umn-cs!nis!pwcs!stag!daemon

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uwm.edu!uwvax!umn-d-ub!umn-cs!nis!pwcs!stag!daemon
From: dal@syntel.mn.org (Dale Schumacher)
Newsgroups: comp.sys.atari.st
Subject: Re: help with dlibs
Message-ID: <1989Dec15.022759.208@stag.UUCP>
Date: 15 Dec 89 02:27:59 GMT
Sender: daemon@stag.UUCP (The devil himself)
Organization: Mindtools ST Access Group
Lines: 53