------- Comment #18 from hjl dot tools at gmail dot com 2010-09-08 00:32 ------- (In reply to comment #17) > (In reply to comment #9) > > unwind-ia64_s.o(.text+0x30b2): In function `uw_frame_state_for': > > ../.././../gcc-4.5-20091112/libgcc/../gcc/config/ia64/unwind-ia64.c:1788: > > undefined reference to `_Unwind_FindTableEntry' > > unwind-ia64_s.o(.text+0x7632): In function `_Unwind_FindEnclosingFunction': > > ../.././../gcc-4.5-20091112/libgcc/../gcc/config/ia64/unwind-ia64.c:1745: > > undefined reference to `_Unwind_FindTableEntry' > > /usr/bin/ld: ./libgcc_s.so.1.tmp: hidden symbol `_Unwind_FindTableEntry' isn't > > defined > > collect2: ld returned 1 exit status > > gmake[3]: *** [libgcc_s.so] Error 1 > > gmake[3]: Leaving directory > > `/usr/ports/lang/gcc45/work/build/ia64-portbld-freebsd9.0/libgcc' > > gmake[2]: *** [all-stage1-target-libgcc] Error 2 > > After making the change to libgcc/config.host that is also described in > comment #5 I get the same. > > libc indeed does feature _Unwind_FindTableEntry() as I can easily verify > with the following program: > > void _Unwind_FindTableEntry(); > int main() { _Unwind_FindTableEntry(); } > > Just, why do we then get this link failure? Adding -v I see that > /lib/libc.so.7 is explicitly part of the collect2 invocation. >
Because _Unwind_FindTableEntry is marked hidden. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40959