diff options
author | Siddhesh Poyarekar <siddhesh@redhat.com> | 2015-07-21 07:14:16 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@redhat.com> | 2015-07-21 07:14:17 +0530 |
commit | d72c2763056b9c0de69886f8f3e6c3ed0aaa6dd4 (patch) | |
tree | a947c3e64ac3c37cc01dbea0140174ca8e9e5298 /stdlib/tst-tls-atexit-lib.c | |
parent | 530deb962fb9c6ccbcf773051ab89569ae1b7d7e (diff) | |
download | glibc-d72c2763056b9c0de69886f8f3e6c3ed0aaa6dd4.tar.gz glibc-d72c2763056b9c0de69886f8f3e6c3ed0aaa6dd4.tar.xz glibc-d72c2763056b9c0de69886f8f3e6c3ed0aaa6dd4.zip |
Remove Linuxism from tst-tls-atexit
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.
Diffstat (limited to 'stdlib/tst-tls-atexit-lib.c')
-rw-r--r-- | stdlib/tst-tls-atexit-lib.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/stdlib/tst-tls-atexit-lib.c b/stdlib/tst-tls-atexit-lib.c index 2945379eed..2478d80f72 100644 --- a/stdlib/tst-tls-atexit-lib.c +++ b/stdlib/tst-tls-atexit-lib.c @@ -31,7 +31,7 @@ void A_dtor (void *obj) ((A *)obj)->val = obj; } -void do_foo (void) +void reg_dtor (void) { static __thread A b; __cxa_thread_atexit_impl (A_dtor, &b, __dso_handle); |