[comp.sys.amiga.tech] Manx C compiler bug? Please help.

abbadon@nuchat.UUCP (David Neal) (07/02/89)

Greetings, netlanders!


Perhaps you can help me with a Manx 'C' problem.

I'm trying to port FBM to the amiga and am having
problems with Manx C.

FBM has several support modules that are linked 
into every program. In the UNIX version, ar is
used to create a library. When I copied this approach
using manx's lb, the linker can't find a few modules
that I know are there. (And that compiled successfully,
I double checked).

The line was 'ln clr2gray +lfbm.lib -lc32 -lm32'.

If I opt for the brute force approach and simply
list each object module to be linked in...

ln clr2gray flalfb flblue ... -lc32 -lm32

This instead gives me:
Total data size > 64K! Too large for small data model.

I have compiled each file, however, as follows:

cc +C +D +L clr2gray.c -DAMIGA

According to the manual, this should give me large
code, large data and 32 bit integers. Anyone have
any ideas? Is this a bug? I have manx 3.6a, by the way.


Thanks.
David Neal
abbadon@nuchat.uucp
{killer!texbell||uunet}!nuchat!abbadon
 

FelineGrace@cup.portal.com (Dana B Bourgeois) (07/03/89)

(this is great! "I'M HELPING!!")

David, I think you need to switch the order of your libraries. Try
putting the m.lib *before* the c.lib.  And be sure you use the 32 bit
libraries.  I don't remember now if you said you had linked the regular
(m.lib) or the 32 bit(m32.lib) libraries.

Anyway, your link should look something like:

ln <list of object files> m32.lib c32.lib

Check page 3-13 about the libraries and 13-18 discusses the order.

Hope this helps...

Dana