[I know this is a duplicate of 43810, but the information there is partly misleading, so I decided to file a new report.] If GCC is configured for powerpc with --enable-target-optspace, libgcc_s objects get compiled with -Os, and this causes libgcc_s to contain undefined symbols _savegpr_* and _restgpr_*. This is probably due to this commit: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=151729 (The use of those symbols might also depend on --with-float=soft, I didn't test with a different float option.) Those symbols _savegpr_* and _restgpr_* are defined in crtsavgpr_s.o and crtresgpr_s.o, respectively. But those objects are not linked into libgcc_s. The problem also occurs with gcc-4.5.1-RC-20100722 and with gcc-4.4.4, if the patch for pr41175 is applied.
Environment: System: Linux sonnet 2.6.24-28-generic #1 SMP Fri Jun 18 14:18:04 UTC 2010 x86_64 GNU/Linux host: x86_64-unknown-linux-gnu build: x86_64-unknown-linux-gnu target: powerpc-none-linux-gnu configured with: /work2/build/cross-own/src/gcc-4.5.0/configure --target=powerpc-none-linux-gnu --prefix=/work2/build/cross-own/ppc-own-tmp --disable-threads --disable-nls --disable-multilib --disable-libgomp --disable-libssp --disable-libmudflap --enable-decimal-float=no --disable-libssp --enable-shared --enable-languages=c --enable-checking=yes --enable-symvers=gnu --enable-target-optspace --with-float=soft --with-local-prefix=/work2/build/cross-own/ppc-own/sys-root --with-build-sysroot=/work2/build/cross-own/ppc-own/sys-root --with-sysroot=/work2/build/cross-own/ppc-own/sys-root How-To-Repeat: configure for powerpc and --enable-target-optspace (and possibly --with-float=soft) ------- Comment #1 from dv at vollmann dot ch 2010-07-24 12:42 ------- Fix: The workaround is not to use --enable-target-optspace. The correct fix would be to link libgcc_s against crtsavgpr_s.o and crtresgpr_s.o, but I don't know the build system of GCC well enough to figure out how to do that. -- Summary: libgcc_s link command misses crtsavgpr_s and crtresgpr_s for powerpc Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dv at vollmann dot ch GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: powerpc-none-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45053