Module Name:    src
Committed By:   bouyer
Date:           Tue Aug 29 11:25:51 UTC 2017

Added Files:
        src/tests/lib/libpthread [netbsd-8]: h_thread_local_dtor.cpp
            t_thread_local_dtor.sh

Log Message:
Pull up following revision(s) (requested by joerg in ticket #127):
        tests/libexec/ld.elf_so/h_thread_local_dtor.c: revision 1.1
        external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++config.h: revision 
1.14
        external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++config.h: revision 
1.17
        lib/libc/stdlib/atexit.h: file removal
        lib/libc/stdlib/exit.c: revision 1.16
        external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/c++config.h: revision 
1.8
        lib/libc/stdlib/exit.c: revision 1.17
        external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++config.h: revision 
1.14
        distrib/sets/lists/debug/shl.mi: revision 1.178
        external/gpl3/gcc/lib/libstdc++-v3/arch/sh3el/c++config.h: revision 1.21
        distrib/sets/lists/debug/shl.mi: revision 1.179
        distrib/sets/lists/debug/mi: revision 1.219
        lib/libpthread/pthread.c: revision 1.150
        external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++config.h: revision 
1.14
        libexec/ld.elf_so/symbols.map: revision 1.2
        include/dlfcn.h: revision 1.25
        external/gpl3/gcc/lib/libstdc++-v3/arch/arm/c++config.h: revision 1.21
        external/gpl3/gcc/lib/libstdc++-v3/arch/x86_64/c++config.h: revision 
1.23
        external/gpl3/gcc/lib/libstdc++-v3/arch/mips64el/c++config.h: revision 
1.18
        external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/c++config.h: revision 
1.14
        external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h: revision 1.19
        external/gpl3/gcc/lib/libstdc++-v3/arch/mipsel/c++config.h: revision 
1.19
        external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/c++config.h: revision 1.5
        external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++config.h: revision 
1.14
        external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++config.h: revision 
1.17
        distrib/sets/lists/tests/mi: revision 1.755
        external/gpl3/gcc/lib/libstdc++-v3/arch/mips64eb/c++config.h: revision 
1.19
        external/gpl3/gcc/lib/libstdc++-v3/arch/i386/c++config.h: revision 1.20
        external/gpl3/gcc/lib/libstdc++-v3/arch/vax/c++config.h: revision 1.21
        external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/c++config.h: revision 1.21
        external/gpl3/gcc/lib/libstdc++-v3/arch/sparc/c++config.h: revision 1.20
        lib/libc/dlfcn/dlfcn_elf.c: revision 1.14
        tests/libexec/ld.elf_so/t_thread_local_dtor.sh: revision 1.1
        tests/lib/libpthread/t_thread_local_dtor.sh: revision 1.1
        lib/libc/stdlib/Makefile.inc: revision 1.93
        lib/libc/include/atexit.h: revision 1.1
        lib/libc/include/atexit.h: revision 1.2
        external/gpl3/gcc/lib/libstdc++-v3/arch/m68k/c++config.h: revision 1.19
        external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++config.h: revision 
1.14
        distrib/sets/lists/debug/shl.mi: revision 1.180
        external/gpl3/gcc/lib/libstdc++-v3/arch/sparc64/c++config.h: revision 
1.19
        external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++config.h: 
revision 1.14
        external/gpl3/gcc/lib/libstdc++-v3/arch/hppa/c++config.h: revision 1.19
        external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++config.h: 
revision 1.14
        lib/libc/stdlib/cxa_thread_atexit.c: revision 1.1
        tests/libexec/ld.elf_so/helper_dso3/h_helper_dso3.cpp: revision 1.1
        tests/libexec/ld.elf_so/helper_dso3/Makefile: revision 1.1
        external/gpl3/gcc/lib/libstdc++-v3/arch/riscv64/c++config.h: revision 
1.5
        libexec/ld.elf_so/rtld.c: revision 1.185
        external/gpl3/gcc/lib/libstdc++-v3/arch/sh3eb/c++config.h: revision 1.19
        external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/c++config.h: revision 
1.5
        external/gpl3/gcc/lib/libstdc++-v3/arch/m68000/c++config.h: revision 
1.15
        external/gpl3/gcc/lib/libstdc++-v3/arch/mipseb/c++config.h: revision 
1.21
        external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/c++config.h: revision 
1.12
        external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/c++config.h: revision 
1.14
        external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++config.h: revision 
1.15
        external/gpl3/gcc/lib/libstdc++-v3/arch/alpha/c++config.h: revision 1.19
        tests/libexec/ld.elf_so/Makefile: revision 1.9
        external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc/c++config.h: revision 
1.20
        external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++config.h: revision 
1.14
        tests/lib/libpthread/h_thread_local_dtor.cpp: revision 1.1
        distrib/sets/lists/tests/shl.mi: revision 1.11
        tests/lib/libpthread/Makefile: revision 1.13
        libexec/ld.elf_so/rtld.h: revision 1.129
        external/gpl3/gcc/lib/libstdc++-v3/arch/or1k/c++config.h: revision 1.6
Implement __cxa_thread_atexit and __cxa_thread_atexit_impl. This
functions are used for destructors of thread_local objects.
If a pending destructor exists, prevent unloading of shared objects.
Introduce __dl_cxa_refcount interface for this purpose. When the last
reference is gone and the object has been dlclose'd before, the
unloading is finalized.
Ideally, __cxa_thread_atexit_impl wouldn't exist, but libstdc++ insists
on providing __cxa_thread_atexit as direct wrapper without further
patching.
Fix filename of new debug file
Add misising DEBUGLIB file
Avoid common declaration.
Drop TLS variant checks, emutls is enough for VAX and Sun2.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1.4.2 src/tests/lib/libpthread/h_thread_local_dtor.cpp \
    src/tests/lib/libpthread/t_thread_local_dtor.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Reply via email to