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