martin@... (Martin Blom) wrote on 05.07.2003:
Hello!
> > My sources compile without warnings with SAS-C,
> > there is one meaningless warning with the 68k GCC I'm using
> > and yet there are quite some warnings with the x86 GCC.
> >
> > Compilation comes to halt here now:
> >
> > DMSort.c: In function `DMSortN':
> > DMSort.c:154: implicit declaration of function `qsort'
> >
> > The includes must be different in some way.
>
> qsort is in stdlib.h. Perhaps some other SAS/C include file is
> including stdlib.h "automatically" for you and you didn't notice?
Nope, I have one single .h file for my whole project and
the includes go like this:
#include <string.h>
#include <stdlib.h> /* qsort...*/
#include <exec/types.h>
[...]
Looks like the includes are not loaded at all.
I just unpacked x86-ami-gcc.lha, x86-ami-bin.lha and i686be-amithlon.lzx
again, this time directly to disk in case there is some link problem
I missed so far.
And I unpacked x86-ami-bin.lha a second time after the includes archive
to restore the 68k based binaries.
It's installed in dh4:gcc_x86 and I have this in my User-Startup:
;Begin GCC_x86
c:assign GG: dh4:GCC_x86
c:assign c: GG:bin add
Now I have different makefiles.
One for the normal 2.95.3 GCC.
And a second for x86 that is an edited variant of the 68k one.
I call the second with "make -f makefile_x86".
The most important lines that are different:
BIN = GG:bin
CC = $(BIN)/i686be-amithlon-gcc
CFLAGS = -noixemul -r -O1 -fomit-frame-pointer -W -Wall -Wstrict-prototypes
-Wshadow -Werror-implicit-function-declaration
LDFLAGS = -s -Wl,--verbose
Now I made a little test with SnoopDos running.
This what I get with GCC for 68k:
gcc:lib/gc Open BSE:DM2_at_work/DM2source/DM.h Read OK
gcc:lib/gc Open gcc:include/string.h Read OK
gcc:lib/gc Open gcc:include/stddef.h Read OK
gcc:lib/gc Open gcc:include/stdlib.h Read OK
gcc:lib/gc Open gcc:os-include/exec/types.h Read OK
[...removed the fails'...]
When I compile for x86 I find none of this in the log.
There is not even a "Lock someincludedir" in the log.
So the includes are just not loaded.
On the other side I found this a few times:
GG:bin/i68 OpenLib bsdsocket.library
Why the heck is the compiler trying to open bsdsocket.library?
Are the includes expected to remain on some server? :-)
MIAMI_TCPDump however found no packages when I started
a LAN session for a little test.
I can't believe that the bin-utils from x86-ami-bin.lha are just
broken but I also can't find out what I am doing wrong.
Have a nice day - Rudolph