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