Subject: Re: toolchain/33294: rtld regression test failure on ARM
To: None <gnats-bugs@netbsd.org>
From: Nick Hudson <skrll@netbsd.org>
List: netbsd-bugs
Date: 09/08/2006 12:05:31
On Thursday 20 April 2006 10:55, Simon Burge wrote:
> >Number: 33294
> >Category: toolchain
> >Synopsis: rtld regression test failure on ARM
[...]
> >Description:
>
> The rtld regression test fails on ARM, with:
>
> /usr/lib/libstdc++.so.5: Undefined PLT symbol "_Unwind_SjLj_Register"
> (symnum = 1176)
>
> There are undefined _Unwind_SjLj* symbols in libstdc++.so.5, and
> these symbols are in libgcc_s.so and libgcc_eh.a.
I think we should link regress/usr.bin/rtld/dlopen against libgcc_s.so.
This fails on ARM as it uses SjLj EH which requires the "register" step. If
the RTLD_LAZY in dlopen.c is changed to RTLD_NOW this also fails on other
platforms, e.g. i386. That is, symbols are missing for all platforms, but
some get lucky.
Nick