From ba384f6ed9275f3966505f2375b56d169e3dc588 Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Mon, 18 Feb 2013 19:08:21 +0530 Subject: C++11 thread_local destructors support 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. --- ports/ChangeLog.alpha | 5 +++++ ports/ChangeLog.arm | 5 +++++ ports/ChangeLog.ia64 | 5 +++++ ports/ChangeLog.m68k | 7 +++++++ ports/ChangeLog.mips | 9 +++++++++ ports/ChangeLog.powerpc | 7 +++++++ ports/ChangeLog.tile | 7 +++++++ ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist | 3 +++ ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist | 3 +++ ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist | 3 +++ ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist | 3 +++ ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist | 3 +++ ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist | 3 +++ ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist | 3 +++ ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist | 3 +++ .../unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist | 3 +++ .../unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist | 3 +++ .../unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist | 3 +++ ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist | 3 +++ 19 files changed, 81 insertions(+) (limited to 'ports') diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha index 991c36aea2..0ac8add048 100644 --- a/ports/ChangeLog.alpha +++ b/ports/ChangeLog.alpha @@ -1,3 +1,8 @@ +2013-02-18 Siddhesh Poyarekar + + * sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist: Add + __cxa_thread_atexit_impl. + 2013-02-14 Joseph Myers [BZ #13550] diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm index 2596b8da35..3a5880bd39 100644 --- a/ports/ChangeLog.arm +++ b/ports/ChangeLog.arm @@ -1,3 +1,8 @@ +2013-02-18 Siddhesh Poyarekar + + * sysdeps/unix/sysv/linux/arm/nptl/libc.abilist: Add + __cxa_thread_atexit_impl. + 2013-02-13 Joseph Myers [BZ #13550] diff --git a/ports/ChangeLog.ia64 b/ports/ChangeLog.ia64 index 26d99f7b22..d9fda457fc 100644 --- a/ports/ChangeLog.ia64 +++ b/ports/ChangeLog.ia64 @@ -1,3 +1,8 @@ +2013-02-18 Siddhesh Poyarekar + + * sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist: Add + __cxa_thread_atexit_impl. + 2013-02-08 Joseph Myers [BZ #13550] diff --git a/ports/ChangeLog.m68k b/ports/ChangeLog.m68k index dfbe0df6c1..e7cb81e8f8 100644 --- a/ports/ChangeLog.m68k +++ b/ports/ChangeLog.m68k @@ -1,3 +1,10 @@ +2013-02-18 Siddhesh Poyarekar + + * sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist: Add + __cxa_thread_atexit_impl. + * sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist: + Likewise. + 2013-02-08 Andreas Schwab * sysdeps/unix/sysv/linux/m68k/kernel-features.h diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips index b91a1a8619..de967c65d1 100644 --- a/ports/ChangeLog.mips +++ b/ports/ChangeLog.mips @@ -1,3 +1,12 @@ +2013-02-18 Siddhesh Poyarekar + + * sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist: Add + __cxa_thread_atexit_impl. + * sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist: + Likewise. + 2013-02-13 Joseph Myers [BZ #13550] diff --git a/ports/ChangeLog.powerpc b/ports/ChangeLog.powerpc index ecac527439..c66dc07e43 100644 --- a/ports/ChangeLog.powerpc +++ b/ports/ChangeLog.powerpc @@ -1,3 +1,10 @@ +2013-02-18 Siddhesh Poyarekar + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist: + Add __cxa_thread_atexit_impl. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist: + Likewise. + 2013-02-14 Joseph Myers [BZ #13550] diff --git a/ports/ChangeLog.tile b/ports/ChangeLog.tile index a5eaec3a9b..a473b30847 100644 --- a/ports/ChangeLog.tile +++ b/ports/ChangeLog.tile @@ -1,3 +1,10 @@ +2013-02-18 Siddhesh Poyarekar + + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist: + Add __cxa_thread_atexit_impl. + * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist: + Likewise. + 2013-01-10 Chris Metcalf * sysdeps/unix/sysv/linux/tile/tilegx/ldd-rewrite.sed: New file. diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist index 1d0cc7ec31..980e08857a 100644 --- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist +++ b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist @@ -1819,6 +1819,9 @@ GLIBC_2.17 clock_nanosleep F clock_settime F secure_getenv F +GLIBC_2.18 + GLIBC_2.18 A + __cxa_thread_atexit_impl F GLIBC_2.2 GLIBC_2.2 A _IO_adjust_wcolumn F diff --git a/ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist index ceab6b2cd9..ce45208b5f 100644 --- a/ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist +++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist @@ -86,6 +86,9 @@ GLIBC_2.17 clock_nanosleep F clock_settime F secure_getenv F +GLIBC_2.18 + GLIBC_2.18 A + __cxa_thread_atexit_impl F GLIBC_2.4 GLIBC_2.4 A _Exit F diff --git a/ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist index b3510fe2a2..067552d175 100644 --- a/ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist +++ b/ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist @@ -86,6 +86,9 @@ GLIBC_2.17 clock_nanosleep F clock_settime F secure_getenv F +GLIBC_2.18 + GLIBC_2.18 A + __cxa_thread_atexit_impl F GLIBC_2.2 GLIBC_2.2 A _Exit F diff --git a/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist index 3c40379aac..f06cc8ef8b 100644 --- a/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist +++ b/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist @@ -87,6 +87,9 @@ GLIBC_2.17 clock_nanosleep F clock_settime F secure_getenv F +GLIBC_2.18 + GLIBC_2.18 A + __cxa_thread_atexit_impl F GLIBC_2.4 GLIBC_2.4 A _Exit F diff --git a/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist index f998b1b276..9010ea733b 100644 --- a/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist +++ b/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist @@ -1775,6 +1775,9 @@ GLIBC_2.17 clock_nanosleep F clock_settime F secure_getenv F +GLIBC_2.18 + GLIBC_2.18 A + __cxa_thread_atexit_impl F GLIBC_2.2 GLIBC_2.2 A _IO_adjust_wcolumn F diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist index 7378869236..f8cefd1f51 100644 --- a/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist +++ b/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist @@ -2250,3 +2250,6 @@ GLIBC_2.17 clock_nanosleep F clock_settime F secure_getenv F +GLIBC_2.18 + GLIBC_2.18 A + __cxa_thread_atexit_impl F diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist index df2e63728a..9dbbd97c8e 100644 --- a/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist +++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist @@ -1398,6 +1398,9 @@ GLIBC_2.17 clock_nanosleep F clock_settime F secure_getenv F +GLIBC_2.18 + GLIBC_2.18 A + __cxa_thread_atexit_impl F GLIBC_2.2 GLIBC_2.2 A _Exit F diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist index 22b3068d8f..c7e46aa869 100644 --- a/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist +++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist @@ -1396,6 +1396,9 @@ GLIBC_2.17 clock_nanosleep F clock_settime F secure_getenv F +GLIBC_2.18 + GLIBC_2.18 A + __cxa_thread_atexit_impl F GLIBC_2.2 GLIBC_2.2 A _Exit F diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist index 0efc6b55c4..9b6d663748 100644 --- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist +++ b/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist @@ -1781,6 +1781,9 @@ GLIBC_2.17 clock_nanosleep F clock_settime F secure_getenv F +GLIBC_2.18 + GLIBC_2.18 A + __cxa_thread_atexit_impl F GLIBC_2.2 GLIBC_2.2 A _IO_adjust_wcolumn F diff --git a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist index d79b2df55d..caf74b89e1 100644 --- a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist +++ b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist @@ -2088,3 +2088,6 @@ GLIBC_2.17 clock_nanosleep F clock_settime F secure_getenv F +GLIBC_2.18 + GLIBC_2.18 A + __cxa_thread_atexit_impl F diff --git a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist index f617405675..68d975be55 100644 --- a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist +++ b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist @@ -2088,3 +2088,6 @@ GLIBC_2.17 clock_nanosleep F clock_settime F secure_getenv F +GLIBC_2.18 + GLIBC_2.18 A + __cxa_thread_atexit_impl F diff --git a/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist index d79b2df55d..caf74b89e1 100644 --- a/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist +++ b/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist @@ -2088,3 +2088,6 @@ GLIBC_2.17 clock_nanosleep F clock_settime F secure_getenv F +GLIBC_2.18 + GLIBC_2.18 A + __cxa_thread_atexit_impl F -- cgit v1.2.3