[PATCH v7] Remove Linuxism from tst-tls-atexit

Carlos O'Donell carlos@redhat.com
Mon Jul 20 17:34:00 GMT 2015


On 07/20/2015 01:22 PM, Siddhesh Poyarekar wrote:
> The tst-tls-atexit test case searches for its module in /proc/PID/maps
> to verify that it is unloaded, which is a Linux-specific test.  This
> patch makes the test generic by looking for the library in the link
> map list in the _r_debug structure.
> 
> Verified that the test continues to succeed on x86_64.  There is a bug
> in the test case where it calls dlclose once again, which is actually
> incorrect but still manages to unload the DSO thanks to an existing
> bug in __tls_call_dtors.  This will be fixed in a later patch which
> also fixes up the __cxa_thread_atexit_impl implementation.  I have
> added a FIXME comment to that call momentarily, which I will remove
> when I fix the problem.
> 
> 	* stdlib/tst-tls-atexit-lib.c (do_foo): Rename to reg_dtor.
> 	* stdlib/tst-tls-atexit.c: (is_loaded): New function.
> 	(spawn_thread): New function.
> 	(load): Rename to reg_dtor_and_close.  Move dlopen to...
> 	(do_test): ... here.  Use IS_LOADED to test for its
> 	availability.

Looks good to me for 2.22.

I know this is coupled with the fix we want for the l_tls_dtors_count.

Cheers,
Carlos.



More information about the Libc-alpha mailing list