Why isn't __pthread_unwind linked?
Toru UCHIYAMA
uchi@cs.fujitsu.co.jp
Wed Nov 5 12:09:00 GMT 2003
Hi
I builded cross-gcc for powerpc-linux. each version is as follows.
<gcc>
$ ~/exper/1001/bin/powerpc-405-linux-gnu-gcc -vReading specs from
/home/xgcc/exper/1001/lib/gcc/powerpc-405-linux-gnu/3.4/specsConfi
gured with: ../../src/gcc-3.4-20031001/configure --target=powerpc-
405-linux-gnu --prefix=/home/xgcc/exper/1001 --with-cpu=405 --enab
le-cxx-flags=-mcpu=405 --with-headers=/home/xgcc/exper/1001/powerp
c-405-linux-gnu/include --disable-nls --enable-threads=posix
Thread model: posix
gcc version 3.4 20031001 (experimental)
<binutils>
$ ~/exper/1001/bin/powerpc-405-linux-gnu-ld -vGNU ld version 2.14.
90.0.7 20031029
<glibc with nptl>
2003/10/29 cvs checkouted
But if pthread program using pthread_exit() is compiled and perfor
med, segmentation fault will occur.a __pthread_unwind function is
assigned to the 0x0x10000000.Of course, libpthread.a contains unwi
nd.o. and the extract of a result which performed nm -a is shown b
elow.
unwind.o:
00000000 t
00000000 d
00000000 b
00000000 r
00000000 r
00000000 n
00000000 n
U _Unwind_ForcedUnwind
U _Unwind_GetCFA
U __libc_longjmp
00000080 W __pthread_unwind
0000010c W __pthread_unwind_next
U abort
00000000 a unwind.c
00000054 t unwind_cleanup
00000000 t unwind_stop
application build script is below.
---
GCC=/home/xgcc/exper/1001/powerpc-405-linux-gnu/bin/gcc
INCDIR=/home/xgcc/exper/1001/powerpc-405-linux-gnu/include
LIBDIR=/home/xgcc/exper/1001/powerpc-405-linux-gnu/lib
$GCC -Wall -g2 $1 -I$INCDIR -L$LIBDIR -lpthread -static -Wl,--verbose,--error-unresolved-symbols,-v
---
'--verbose' print is below.
--- It omits the middle. ---
attempt to open /home/xgcc/exper/1001/powerpc-405-linux-gnu/lib/libpthread.a succeeded
(/home/xgcc/exper/1001/powerpc-405-linux-gnu/lib/libpthread.a)pthread_create.o
(/home/xgcc/exper/1001/powerpc-405-linux-gnu/lib/libpthread.a)pthread_exit.o
(/home/xgcc/exper/1001/powerpc-405-linux-gnu/lib/libpthread.a)pthread_join.o
(/home/xgcc/exper/1001/powerpc-405-linux-gnu/lib/libpthread.a)cleanup_compat.o
(/home/xgcc/exper/1001/powerpc-405-linux-gnu/lib/libpthread.a)cancellation.o
(/home/xgcc/exper/1001/powerpc-405-linux-gnu/lib/libpthread.a)lowlevellock.o
(/home/xgcc/exper/1001/powerpc-405-linux-gnu/lib/libpthread.a)init.o
(/home/xgcc/exper/1001/powerpc-405-linux-gnu/lib/libpthread.a)events.o
(/home/xgcc/exper/1001/powerpc-405-linux-gnu/lib/libpthread.a)pthread_once.o
(/home/xgcc/exper/1001/powerpc-405-linux-gnu/lib/libpthread.a)sigaction.o
(/home/xgcc/exper/1001/powerpc-405-linux-gnu/lib/libpthread.a)errno-loc.o
attempt to open /home/xgcc/exper/1001/powerpc-405-linux-gnu/lib/libgcc.a failed
attempt to open /home/xgcc/exper/1001/lib/gcc/powerpc-405-linux-gnu/3.4/nof/libgcc.a succeeded
--- It omits the middle.---
Why isn't __pthread_unwind linked ? Any ideas ?
Thanks
Uchiyama Toru
More information about the Libc-alpha
mailing list