In -Os mode I see undefined references to _restgpr_* _savefpr_* and similar functions.
Michael Matz sees libgcc.a not added to the linkline in this mode. testcase: g++ -Os -shared -o libhello.so -Wl,-z,defs -fPIC hello.c /tmp/cc8oo25Z.o: In function `hello()': hello.c:(.text+0x30): undefined reference to `_restgpr_30_x' collect2: ld returned 1 exit status -- Summary: undefined reference to `_restgpr_30_x' Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: marcus at jet dot franken dot de GCC build triplet: powerpc-unknown-linux GCC host triplet: powerpc-unknown-linux GCC target triplet: powerpc-unknown-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43727