Strange linking behaviour in conjunction with ARM-EABI unwinding routines (__cxa_begin_cleanup)
Andreas Schwab
schwab@suse.de
Tue Sep 12 08:03:00 GMT 2017
On Sep 12 2017, "Thomas Schmid via binutils" <binutils@sourceware.org> wrote:
> When I compile and link a simple C++-library consisting of the files
> test.cpp, TestClass.cpp, TestClass.h
> some unwinding support routines like '__cxa_begin_cleanup' are
> weak-referenced from the library,
> 'objdump -T' showing them as
> 00000000 w D *UND* 00000000 __cxa_begin_cleanup
> 00000000 w D *UND* 00000000 __cxa_call_unexpected
>
> '__cxa_begin_cleanup' is implemented in libsupc++, which our library is
> linked with, but the function is not linked into the library.
> Why?
Weak references don't pull in archive members.
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
More information about the Binutils
mailing list