PATCH RFC: Remove fork from collect2
Andrew Pinski
apinski@apple.com
Fri Mar 19 22:44:00 GMT 2004
On Mar 19, 2004, at 1:30 PM, Caroline Tice wrote:
> I believe your patch broke the bootstrap on powerpc-apple-darwin. I
> downloaded the most recent sources
> and attempted to bootstrap them. It fails with:
>
> stage1/xgcc -Bstage1/ -B/usr/local/powerpc-apple-darwin7.0.0/bin/ -g
> -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes
> -Wmissing-prototypes -pedantic -Wno-long-long -Wold-style-definition
> -Wno-variadic-macros -Werror -fno-common -DHAVE_CONFIG_H -o
> Tcollect2 \
> collect2.o tlink.o intl.o version.o libcpp.a
> ../libiberty/libiberty.a -liconv
> /usr/bin/ld: Undefined symbols:
> restFP
> saveFP
> collect2: ld returned 1 exit status
> make[2]: *** [collect2] Error 1
> make[1]: *** [stage2_build] Error 2
> make: *** [bootstrap] Error 2
>
>
> After some investigation, I found that the symbols restFP and saveFP
> are coming into libiberty.a from
> pex-unix.o. By replacing libiberty/pex-unix.c with an older version
> of pex-unix.c (from before you applied
> your patch), the problem goes away. I haven't had the chance to
> investigate this further yet, but I
> wanted to mention it.
>
> ctice% nm -o ../libiberty/libiberty.a | grep restFP
> ../libiberty/libiberty.a:pex-unix.o: U restFP
> ctice% nm -o ../libiberty/libiberty.a | grep saveFP
> ../libiberty/libiberty.a:pex-unix.o: U saveFP
> ctice% nm -o ../libiberty/pex-unix.o | grep saveFP
> ../libiberty/pex-unix.o: U saveFP
> ctice% nm -o ../libiberty/pex-unix.o | grep restFP
> ../libiberty/pex-unix.o: U restFP
Actually this is an issue with Apple versus FSF libgcc and the name of
the
function which saves/restores the FP so to resolve this issue either
the FSF's gcc has to have the functions in Darwin's libgcc or have
libiberty
be built like the rest of the compiler, in each stage.
Thanks,
Andrew Pinski
pinskia@physics.uc.edu
More information about the Gcc
mailing list