Link Fehler mit gcc -m32

atzplzw

Active Member
Hi!

Bin auf FBSD 6.2 AMD64 unterwegs und leider hab ich ein paar Programme die nur 32Bit unterstützen.
Aber das sollte ja kein Problem sein, da man bei gcc einfach -m32 angeben kann.

Doch hier bekomme ich immer den Fehler:
#gcc -v -O2 -m32 -o test test.c
....
GNU ld version 2.15 [FreeBSD] 2004-05-23
Supported emulations:
elf_i386_fbsd
elf_x86_64_fbsd
/usr/bin/ld: skipping incompatible /usr/lib/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
Das Ganze kann man umgehen indem ich gcc mit -c nicht linken lasse und dann ld manuell ausführe:
#gcc -v -O2 -m32 -c -o test.o test.c
#ld -m elf_i386_fbsd -V -dynamic-linker /libexec/ld-elf.so.1 -o test /usr/lib32/crt1.o /usr/lib32/crti.o /usr/lib32/crtbegin.o -L/usr/lib32 test.o -lgcc -lc -lgcc /usr/lib32/crtend.o /usr/lib32/crtn.o
Funktioniert da die ganzen Libs in /usr/lib32 alle vorhanden sind. Nur der ld checkt das wohl automatisch irgendwie nicht.

Ein -L/usr/lib32 geht auch nicht. Da schreit er gleich irgendetwas ist incompatible.

Welche cmdline kann ich denn gcc und dann ld angeben damit das alles automatisch geht?
 
Zurück
Oben