NPTL on ARM isseu with __aeabi_unwind_cpp_pr0
Johannes Stezenbach
js at sig21.net
Tue Nov 29 16:05:15 UTC 2011
Hi,
static linking on ARM with NPTL causes duplicate symbol
errors for __aeabi_unwind_cpp_pr0. I think it is
both gcc and uClibc issue.
See also
https://bugs.busybox.net/show_bug.cgi?id=4117
gcc version 4.6.2 20111004 (prerelease) (linaro version)
uClibc-0.9.32 or git master
- gcc defines __aeabi_unwind_cpp_pr0/pr1/pr2
- uClibc-0.9.32/libc/sysdeps/linux/arm/aeabi_unwind_cpp_pr1.c defines stubs,
the comment says "This routine will never actually be called."
I think the gcc versions of these functions must not be weak,
but the uClibc stubs need to be weak, so that when linking
statically the gcc versions will be used.
However, gcc makes __aeabi_unwind_cpp_pr1/pr2 weak, with the
"weak" attr on __aeabi_unwind_cpp_pr0 left in a comment:
http://bazaar.launchpad.net/~linaro-toolchain-dev/gcc-linaro/4.6/annotate/head:/gcc/config/arm/unwind-arm.c#L223
Confusing, isn't it?
Johannes
More information about the uClibc
mailing list