about summary refs log tree commit diff
path: root/stdlib/tst-tls-atexit-lib.c
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright dates with scripts/update-copyrights.Joseph Myers2016-01-041-1/+1
|
* Remove Linuxism from tst-tls-atexitSiddhesh Poyarekar2015-07-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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.
* Update copyright dates with scripts/update-copyrights.Joseph Myers2015-01-021-1/+1
|
* Turn on -Werror=implicit-function-declarationFlorian Weimer2014-09-101-0/+2
| | | | | | | GCC 4.4, the minimum compiler version, supports this option. Unlike other warnings, -Wimplicit-function-declaration warnings should be independent of compiler versions, so this change should not cause compiler-specific build failures.
* Update copyright notices with scripts/update-copyrightsAllan McRae2014-01-011-1/+1
|
* Fix copyright year in new filesSiddhesh Poyarekar2013-02-191-1/+1
|
* C++11 thread_local destructors supportSiddhesh Poyarekar2013-02-181-0/+36
This feature is specifically for the C++ compiler to offload calling thread_local object destructors on thread program exit, to glibc. This is to overcome the possible complication of destructors of thread_local objects getting called after the DSO in which they're defined is unloaded by the dynamic linker. The DSO is marked as 'unloadable' if it has a constructed thread_local object and marked as 'unloadable' again when all the constructed thread_local objects defined in it are destroyed.