startfile prefix
Markus Duft
mduft@gentoo.org
Tue Sep 15 14:02:00 GMT 2009
Hey!
I'm trying to make GCC search for crt*.o in an additional location
(/usr/lib/x86), so i can use a x86 compiled GCC on a x86_64 interix
installation (which just has libs moved to /usr/lib/x86, with a few
additional libraries (don't know why) still in /usr/lib (also x86)).
i tried to set STARTFILE_PREFIX_SPEC in the config (which works), but
gcc then calls the linker like this:
/opt/gentoo/usr/lib/gcc/i586-pc-interix6.0/4.2.4/../../../../i586-pc-interix6.0/bin/ld
-stack 0x400000,0x10000 -subsystem posix -o parity.ms.cl
/usr/lib/x86/crt0.o -L/usr/lib/x86 -L../parity.options -L../parity.tasks
-L../parity.binary -L../parity.utils
-L/opt/gentoo/usr/lib/gcc/i586-pc-interix6.0/4.2.4
-L/opt/gentoo/usr/lib/gcc/i586-pc-interix6.0/4.2.4
-L/opt/gentoo/usr/lib/gcc/i586-pc-interix6.0/4.2.4/../../../../i586-pc-interix6.0/lib
-L/usr/lib/x86 --verbose parity.ms.cl.o -lparity_parity.options
-lparity_parity.tasks -lparity_parity.binary -lparity_parity.utils
-lstdc++ -lm -lgcc -lc -lpsxdll -lc -lpsxdll -v -lgcc
as you can see /usr/lib/x86/crt0.o is found as i expected it, but gcc
adds a -L/usr/lib/x86 _before_ all other paths, which is really bad,
because ld then finds the system libstdc++.so, and not the one in
/opt/gentoo/usr/lib/gcc/i586-pc-interix6.0/4.2.4/ (the path is later on
the link line...).
Any ideas? settings standard_startfile_prefix or any other other
*startfile_prefix* variables has the same effect... will i have to hack
up a special solution for #ifdef __INTERIX to handle this correctly?
Cheers, Markus
More information about the Gcc-help
mailing list