]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
ld.so: Remove __libc_memalign
authorFlorian Weimer <fweimer@redhat.com>
Wed, 30 Nov 2016 15:23:58 +0000 (16:23 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Wed, 30 Nov 2016 15:23:58 +0000 (16:23 +0100)
It is no longer needed since commit 6c444ad6e953dbdf9c7be065308a0a777
(elf: Do not use memalign for TCB/TLS blocks allocation [BZ #17730]).
Applications do not link against ld.so and will use the definition in
libc.so, so there is no ABI impact.

48 files changed:
ChangeLog
elf/Versions
elf/dl-minimal.c
sysdeps/generic/localplt.data
sysdeps/nacl/ld.abilist
sysdeps/unix/sysv/linux/aarch64/ld.abilist
sysdeps/unix/sysv/linux/aarch64/localplt.data
sysdeps/unix/sysv/linux/alpha/ld.abilist
sysdeps/unix/sysv/linux/alpha/localplt.data
sysdeps/unix/sysv/linux/arm/ld.abilist
sysdeps/unix/sysv/linux/arm/localplt.data
sysdeps/unix/sysv/linux/hppa/ld.abilist
sysdeps/unix/sysv/linux/hppa/localplt.data
sysdeps/unix/sysv/linux/i386/ld.abilist
sysdeps/unix/sysv/linux/i386/localplt.data
sysdeps/unix/sysv/linux/ia64/ld.abilist
sysdeps/unix/sysv/linux/ia64/localplt.data
sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist
sysdeps/unix/sysv/linux/m68k/localplt.data
sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist
sysdeps/unix/sysv/linux/microblaze/ld.abilist
sysdeps/unix/sysv/linux/microblaze/localplt.data
sysdeps/unix/sysv/linux/mips/mips32/ld.abilist
sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist
sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist
sysdeps/unix/sysv/linux/nios2/ld.abilist
sysdeps/unix/sysv/linux/nios2/localplt.data
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/localplt.data
sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data
sysdeps/unix/sysv/linux/powerpc/powerpc64/ld-le.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/ld.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/localplt.data
sysdeps/unix/sysv/linux/s390/localplt.data
sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist
sysdeps/unix/sysv/linux/s390/s390-64/ld.abilist
sysdeps/unix/sysv/linux/sh/ld.abilist
sysdeps/unix/sysv/linux/sh/localplt.data
sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist
sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data
sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data
sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/ld.abilist
sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/ld.abilist
sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist
sysdeps/unix/sysv/linux/x86_64/64/ld.abilist
sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist
sysdeps/x86_64/localplt.data

index d01747866e496ccf8b3828e09d499a793caf017a..09c2e52afd2a4e76b1a56e062267bc7a8cd28dbf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,60 @@
+2016-11-30  Florian Weimer  <fweimer@redhat.com>
+
+       Remove __libc_memalign from ld.so because it is unused.
+       * elf/dl-minimal.c: Update comment on the malloc implementation.
+       (malloc): Renamed from __libc_memalign, replacing the original
+       malloc implementation.  Replace the align parameter with
+       MALLOC_ALIGNMENT.
+       * elf/Versions (ld): Update comment and remove __libc_memalign.
+       * sysdeps/nacl/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/aarch64/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/alpha/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/arm/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/hppa/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/i386/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/ia64/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/microblaze/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/mips/mips32/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/nios2/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/ld-le.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/s390/s390-64/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/sh/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/64/ld.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist: Likewise.
+       * sysdeps/generic/localplt.data (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/aarch64/localplt.data (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/alpha/localplt.data (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/arm/localplt.data (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/hppa/localplt.data (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/i386/localplt.data (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/ia64/localplt.data (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/m68k/localplt.data (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/microblaze/localplt.data (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/nios2/localplt.data (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/localplt.data
+       (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data
+       (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/localplt.data (ld.so):
+       Likewise.
+       * sysdeps/unix/sysv/linux/s390/localplt.data (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/sh/localplt.data (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data (ld.so): Likewise.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data (ld.so): Likewise.
+       * sysdeps/x86_64/localplt.data (ld.so): Likewise.
+
 2016-11-30  Florian Weimer  <fweimer@redhat.com>
 
        [BZ #16628]
index 05e5449f4d059715fa5b8c6a6f7e715c249611f5..08f76a7a203a6d599af6a76c46b9731e8f1d18cf 100644 (file)
@@ -34,8 +34,8 @@ libc {
 
 ld {
   GLIBC_2.0 {
-    # Function from libc.so which must be shared with libc.
-    __libc_memalign; calloc; free; malloc; realloc;
+    # Functions which are interposed from libc.so.
+    calloc; free; malloc; realloc;
 
     _r_debug;
   }
index 6034b5a3fa601299d94da88c6c821d707c10b063..116ec4978c2a28de1df79e640b23470942bfefd9 100644 (file)
 
 #include <assert.h>
 
-/* Minimal `malloc' allocator for use while loading shared libraries.
-   No block is ever freed.  */
+/* Minimal malloc allocator for used during initial link.  After the
+   initial link, a full malloc implementation is interposed, either
+   the one in libc, or a different one supplied by the user through
+   interposition.  */
 
 static void *alloc_ptr, *alloc_end, *alloc_last_block;
 
@@ -49,7 +51,7 @@ extern unsigned long int weak_function strtoul (const char *nptr,
 
 /* Allocate an aligned memory block.  */
 void * weak_function
-__libc_memalign (size_t align, size_t n)
+malloc (size_t n)
 {
   if (alloc_end == 0)
     {
@@ -62,8 +64,8 @@ __libc_memalign (size_t align, size_t n)
     }
 
   /* Make sure the allocation pointer is ideally aligned.  */
-  alloc_ptr = (void *) 0 + (((alloc_ptr - (void *) 0) + align - 1)
-                           & ~(align - 1));
+  alloc_ptr = (void *) 0 + (((alloc_ptr - (void *) 0) + MALLOC_ALIGNMENT - 1)
+                           & ~(MALLOC_ALIGNMENT - 1));
 
   if (alloc_ptr + n >= alloc_end || n >= -(uintptr_t) alloc_ptr)
     {
@@ -88,12 +90,6 @@ __libc_memalign (size_t align, size_t n)
   return alloc_last_block;
 }
 
-void * weak_function
-malloc (size_t n)
-{
-  return __libc_memalign (MALLOC_ALIGNMENT, n);
-}
-
 /* We use this function occasionally since the real implementation may
    be optimized when it can assume the memory it returns already is
    set to NUL.  */
index 5cf53a4c21443521460c72539fef3f0b58232a6c..81c741b038cbea90f75d94fc950e2c00733e5973 100644 (file)
@@ -7,10 +7,8 @@ libc.so: malloc
 libc.so: memalign
 libc.so: realloc
 libm.so: matherr
-# The dynamic loader uses __libc_memalign internally to allocate aligned
-# TLS storage. The other malloc family of functions are expected to allow
-# user symbol interposition.
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index 242f6d0723525b1e452abf8753988728e5e74d23..0a52a24cad3fe6cdb842dd78c0f8d28d4748e867 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.22 GLIBC_2.22 A
-GLIBC_2.22 __libc_memalign F
 GLIBC_2.22 __libc_stack_end D 0x4
 GLIBC_2.22 __stack_chk_guard D 0x4
 GLIBC_2.22 __tls_get_addr F
index ab08a9845f46419a1ae2edc49276a0e5d0d53a24..ec7f6174c594a2f0600efe5250121c57d5109382 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.17 GLIBC_2.17 A
-GLIBC_2.17 __libc_memalign F
 GLIBC_2.17 __libc_stack_end D 0x8
 GLIBC_2.17 __stack_chk_guard D 0x8
 GLIBC_2.17 __tls_get_addr F
index e431f368e31e8d00399081a4815c3d27b0043677..bb18ff9bb234a27889564129a30394d9341bda0d 100644 (file)
@@ -7,11 +7,10 @@ libc.so: malloc
 libc.so: memalign
 libc.so: realloc
 libm.so: matherr
-# The dynamic loader needs __tls_get_addr for TLS, and uses __libc_memalign
-# internally to allocate aligned TLS storage. The other malloc family of
-# functions are expected to allow user symbol interposition.
+# The dynamic loader needs __tls_get_addr for TLS.
 ld.so: __tls_get_addr
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index 9faf6eb2c65ff6d3baf43a7ecf4e91d48400798e..ca3429461036ecf1cd90af456f7cce0fe91eec4b 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.0 GLIBC_2.0 A
-GLIBC_2.0 __libc_memalign F
 GLIBC_2.0 _r_debug D 0x28
 GLIBC_2.0 calloc F
 GLIBC_2.0 free F
index 298439365f6f76d1578d858651b5a2f2aacdf475..cca17f1e34bd81de7bfeb8aba5b141637250b43e 100644 (file)
@@ -24,11 +24,10 @@ libm.so: matherr
 # We used to offer inline functions that used this, so it must be exported.
 # Ought to reorg things such that carg isn't thus forced to use a plt.
 libm.so: __atan2
-# The dynamic loader needs __tls_get_addr for TLS, and uses __libc_memalign
-# internally to allocate aligned TLS storage. The other malloc family of
-# functions are expected to allow user symbol interposition.
+# The dynamic loader needs __tls_get_addr for TLS.
 ld.so: __tls_get_addr ?
-ld.so: __libc_memalign + RELA R_ALPHA_GLOB_DAT
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc + RELA R_ALPHA_GLOB_DAT
 ld.so: calloc + RELA R_ALPHA_GLOB_DAT
 ld.so: realloc + RELA R_ALPHA_GLOB_DAT
index 4de351ea3f6337790b0ec4c350604d3b9222e1b1..cbf3a3cb2e62e1e3de435124b7f93c11c3ca693d 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.4 GLIBC_2.4 A
-GLIBC_2.4 __libc_memalign F
 GLIBC_2.4 __libc_stack_end D 0x4
 GLIBC_2.4 __stack_chk_guard D 0x4
 GLIBC_2.4 __tls_get_addr F
index a5ccd7fa587a1584b1d23be6a64ceb828a3f89e8..8bc876dd03239ceecc731fc6d87071d9c97d141d 100644 (file)
@@ -7,11 +7,10 @@ libc.so: realloc
 libm.so: matherr
 libpthread.so: __errno_location
 libpthread.so: raise
-# The dynamic loader needs __tls_get_addr for TLS, and uses __libc_memalign
-# internally to allocate aligned TLS storage. The other malloc family of
-# functions are expected to allow user symbol interposition.
+# The dynamic loader needs __tls_get_addr for TLS.
 ld.so: __tls_get_addr
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index dc3ebf48c562747ba33e3dcc053167c8349cd063..fc1c60ea17a33c6e42a5eb66fb0b30952db56dd4 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.2 GLIBC_2.2 A
-GLIBC_2.2 __libc_memalign F
 GLIBC_2.2 __libc_stack_end D 0x4
 GLIBC_2.2 _dl_mcount F
 GLIBC_2.2 _r_debug D 0x14
index fea8c9cbf61581b81e69455acced8be548a4d3e5..9dd81b47c81de54a02b96b395165c991682ec989 100644 (file)
@@ -13,10 +13,8 @@ libc.so: sigprocmask
 libc.so: __errno_location
 libm.so: matherr
 libpthread.so: __errno_location
-# The dynamic loader uses __libc_memalign internally to allocate aligned
-# TLS storage. The other malloc family of functions are expected to allow
-# user symbol interposition.
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index b8914ed64253412a452c98483ad2d82843cfbee7..ddf9e78ec2e0fc86448499d485f52767ceb2c158 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.0 GLIBC_2.0 A
-GLIBC_2.0 __libc_memalign F
 GLIBC_2.0 _r_debug D 0x14
 GLIBC_2.0 calloc F
 GLIBC_2.0 free F
index 48bcc42a6722d49902d98b68cfe6d59e40c24fcd..2c2584956d038a4b64e56731378f12b96fb7b304 100644 (file)
@@ -7,10 +7,8 @@ libc.so: malloc + REL R_386_GLOB_DAT
 libc.so: memalign + REL R_386_GLOB_DAT
 libc.so: realloc + REL R_386_GLOB_DAT
 libm.so: matherr
-# The dynamic loader uses __libc_memalign internally to allocate aligned
-# TLS storage. The other malloc family of functions are expected to allow
-# user symbol interposition.
-ld.so: __libc_memalign + REL R_386_GLOB_DAT
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc + REL R_386_GLOB_DAT
 ld.so: calloc + REL R_386_GLOB_DAT
 ld.so: realloc + REL R_386_GLOB_DAT
index 9041ccbe608a338d93329979613f4124527d3159..9b45d5e90c53f6f8e3236a87f1f599fbdbba1502 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.2 GLIBC_2.2 A
-GLIBC_2.2 __libc_memalign F
 GLIBC_2.2 __libc_stack_end D 0x8
 GLIBC_2.2 _dl_mcount F
 GLIBC_2.2 _r_debug D 0x28
index df63530b6ca56c38dd792fb97dd6dd817a9f98e2..fd2b98c8b65757eb8f0b4efeba89dcd75eeaf11d 100644 (file)
@@ -6,10 +6,8 @@ libc.so: realloc
 libm.so: matherr
 libm.so: matherrf
 libm.so: matherrl
-# The dynamic loader uses __libc_memalign internally to allocate aligned
-# TLS storage. The other malloc family of functions are expected to allow
-# user symbol interposition.
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index 4de351ea3f6337790b0ec4c350604d3b9222e1b1..cbf3a3cb2e62e1e3de435124b7f93c11c3ca693d 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.4 GLIBC_2.4 A
-GLIBC_2.4 __libc_memalign F
 GLIBC_2.4 __libc_stack_end D 0x4
 GLIBC_2.4 __stack_chk_guard D 0x4
 GLIBC_2.4 __tls_get_addr F
index abfbd34f419ff17ce2ef648d32a55a6a082eddbf..1a2acfdb932f9f2f0baef941be169be2d344adcb 100644 (file)
@@ -6,10 +6,8 @@ libc.so: malloc
 libc.so: memalign
 libc.so: realloc
 libm.so: matherr
-# The dynamic loader uses __libc_memalign internally to allocate aligned
-# TLS storage. The other malloc family of functions are expected to allow
-# user symbol interposition.
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index ee3458906dfe1f07c66d44d10f858d1d2449399b..3907c9da3346577d3e4e3c1a0f4b2d6d9e66cb12 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.0 GLIBC_2.0 A
-GLIBC_2.0 __libc_memalign F
 GLIBC_2.0 _r_debug D 0x14
 GLIBC_2.0 calloc F
 GLIBC_2.0 free F
index f486acb3992698700363ad35ffae66ae05eda419..265085edc878e4aa1bb42f900fc6ecb90539e28d 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.18 GLIBC_2.18 A
-GLIBC_2.18 __libc_memalign F
 GLIBC_2.18 __libc_stack_end D 0x4
 GLIBC_2.18 __stack_chk_guard D 0x4
 GLIBC_2.18 __tls_get_addr F
index 697fdd018683b30026cd2c327cbb99bef5f516b5..07bcf3b29a181da8aadceb4ebd04bde6ba887d8c 100644 (file)
@@ -6,11 +6,10 @@ libc.so: memalign
 libc.so: realloc
 libm.so: matherr
 libpthread.so: __errno_location
-# The dynamic loader needs __tls_get_addr for TLS, and uses __libc_memalign
-# internally to allocate aligned TLS storage. The other malloc family of
-# functions are expected to allow user symbol interposition.
+# The dynamic loader needs __tls_get_addr for TLS.
 ld.so: __tls_get_addr
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index afdb9058117e2210bf071a23d7e35be9c8f8a8d3..651b9525243b3fc8e097bf4e86668f39a55bd384 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.0 GLIBC_2.0 A
-GLIBC_2.0 __libc_memalign F
 GLIBC_2.0 _r_debug D 0x14
 GLIBC_2.0 calloc F
 GLIBC_2.0 free F
index 6993e70bfa5d5a2ac9985399615fad4d13730d3e..bf55148c79bda9af47c3fbe5d0686c6fa508d06e 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.0 GLIBC_2.0 A
-GLIBC_2.0 __libc_memalign F
 GLIBC_2.0 _r_debug D 0x14
 GLIBC_2.0 calloc F
 GLIBC_2.0 free F
index 759e99b00cba29506582077faf75724043c94259..f7ba5fd730662200b3ef86faab3bf7ae85f1d8bc 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.0 GLIBC_2.0 A
-GLIBC_2.0 __libc_memalign F
 GLIBC_2.0 _r_debug D 0x28
 GLIBC_2.0 calloc F
 GLIBC_2.0 free F
index 389bdaa0cbe20dca7fc222ca3070be35571db1cb..a127464b4b19108e34397ccbe357b3c621eeca2f 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.21 GLIBC_2.21 A
-GLIBC_2.21 __libc_memalign F
 GLIBC_2.21 __libc_stack_end D 0x4
 GLIBC_2.21 __stack_chk_guard D 0x4
 GLIBC_2.21 __tls_get_addr F
index a7d774dcf81a1e0788b328d999258d35261c3247..584963d202ba766b3c8cb7f75fcc7fc9b828146e 100644 (file)
@@ -27,10 +27,8 @@ libc.so: __nedf2
 libc.so: __eqdf2
 libc.so: __extendsfdf2
 libm.so: matherr
-# The dynamic loader uses __libc_memalign internally to allocate aligned
-# TLS storage. The other malloc family of functions are expected to allow
-# user symbol interposition.
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index 4ef5bf4a7fd7a822107e4829dd9974c3a2bd0d49..50006317c7bc04ec4771400a0f378eb5d72cc53d 100644 (file)
@@ -5,10 +5,8 @@ libc.so: malloc
 libc.so: memalign
 libc.so: realloc
 libm.so: matherr
-# The dynamic loader uses __libc_memalign internally to allocate aligned
-# TLS storage. The other malloc family of functions are expected to allow
-# user symbol interposition.
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index 2eb4d5fef1bcf54a1dfc8016ef30719af83b233c..100d133495f0efaf29541b4544b11a5b82ea81ac 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.0 GLIBC_2.0 A
-GLIBC_2.0 __libc_memalign F
 GLIBC_2.0 _r_debug D 0x14
 GLIBC_2.0 calloc F
 GLIBC_2.0 free F
index c9194264dd5b40210284a545580891fc1093aede..1c20d2f2b40bd21e0a98dfc824f43cdeed97f8fc 100644 (file)
@@ -35,10 +35,8 @@ libc.so: realloc
 libm.so: copysignl ?
 libm.so: fabsl
 libm.so: matherr
-# The dynamic loader uses __libc_memalign internally to allocate aligned
-# TLS storage. The other malloc family of functions are expected to allow
-# user symbol interposition.
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index 27d451b46bd0a0b37a31dfd0fa8031149fb51907..ef6159baa88818db030d5732d49f8105c4f18692 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.17 GLIBC_2.17 A
-GLIBC_2.17 __libc_memalign F
 GLIBC_2.17 __libc_stack_end D 0x8
 GLIBC_2.17 __tls_get_addr F
 GLIBC_2.17 _dl_mcount F
index 8914eb06b4cf3c81f79d23bf73b3c6b90ed5fed0..2c3b74cc20ea0944fdb5a4ef504d1f29dc2e4408 100644 (file)
@@ -3,7 +3,6 @@ GLIBC_2.22 __tls_get_addr_opt F
 GLIBC_2.23 GLIBC_2.23 A
 GLIBC_2.23 __parse_hwcap_and_convert_at_platform F
 GLIBC_2.3 GLIBC_2.3 A
-GLIBC_2.3 __libc_memalign F
 GLIBC_2.3 __libc_stack_end D 0x8
 GLIBC_2.3 __tls_get_addr F
 GLIBC_2.3 _dl_mcount F
index 2d434726cc186ca2d72c91af4bbcd8d0ddd4d03a..6f8ed25922edaf7913bd7d26eb89d492aac31b96 100644 (file)
@@ -4,10 +4,8 @@ libc.so: malloc
 libc.so: memalign
 libc.so: realloc
 libm.so: matherr
-# The dynamic loader uses __libc_memalign internally to allocate aligned
-# TLS storage. The other malloc family of functions are expected to
-# allow user symbol interposition.
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index bd1adddb1f1f075ad0e16509701621ff0f7fbbce..50006317c7bc04ec4771400a0f378eb5d72cc53d 100644 (file)
@@ -5,17 +5,8 @@ libc.so: malloc
 libc.so: memalign
 libc.so: realloc
 libm.so: matherr
-# The dynamic loader uses __libc_memalign internally to allocate aligned
-# TLS storage. The other malloc family of functions are expected to allow
-# user symbol interposition.
-# It is also allowed to call __libc_memalign via function-pointer loaded from
-# GOT instead of calling via a plt-stub. In this case there is a R_390_GLOB_DAT
-# relocation in section .rela.dyn instead of R_390_JMP_SLOT in .rela.plt.
-# After commit "elf: Do not use memalign for TCB/TLS blocks allocation
-# [BZ #17730]" __libc_memalign is only called in elf/dl-minimal.c: malloc() in
-# ld.so and gcc -O2/-O3 leads to R_390_GLOB_DAT. If build with
-# -fno-optimize-sibling-calls an R_390_JMP_SLOT is generated.
-ld.so: __libc_memalign + RELA R_390_GLOB_DAT
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index ec7491f5d79bc984f078edcbe10064c33ef0a547..c16b2c1344ba5667e44c50d5b644b2d10220206f 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.0 GLIBC_2.0 A
-GLIBC_2.0 __libc_memalign F
 GLIBC_2.0 _r_debug D 0x14
 GLIBC_2.0 calloc F
 GLIBC_2.0 free F
index c2e0d9660ac088e74fd3e7a89ebc70a9044f6de9..5e604f5376924b415d14817897973f2bd4199a74 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.2 GLIBC_2.2 A
-GLIBC_2.2 __libc_memalign F
 GLIBC_2.2 __libc_stack_end D 0x8
 GLIBC_2.2 _dl_mcount F
 GLIBC_2.2 _r_debug D 0x28
index dc3ebf48c562747ba33e3dcc053167c8349cd063..fc1c60ea17a33c6e42a5eb66fb0b30952db56dd4 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.2 GLIBC_2.2 A
-GLIBC_2.2 __libc_memalign F
 GLIBC_2.2 __libc_stack_end D 0x4
 GLIBC_2.2 _dl_mcount F
 GLIBC_2.2 _r_debug D 0x14
index e6fb930cf73ae1174ebd8969b562b5bad80c2f3e..f1f5effc24a3729ffbcefc4e635257e1baf74897 100644 (file)
@@ -10,10 +10,8 @@ libc.so: _Unwind_Find_FDE
 libc.so: _exit
 libc.so: __errno_location
 libm.so: matherr
-# The dynamic loader uses __libc_memalign internally to allocate aligned
-# TLS storage. The other malloc family of functions are expected to allow
-# user symbol interposition.
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index 3acaae229099de805047aef1a26848cee416f772..fb4bcb016d07c6550ae568c65d82d677bed3762a 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.0 GLIBC_2.0 A
-GLIBC_2.0 __libc_memalign F
 GLIBC_2.0 _r_debug D 0x14
 GLIBC_2.0 calloc F
 GLIBC_2.0 free F
index d5b5895a5c00a0668d4256ef6758643744bb97d8..c9786fd6ea93227e320c7870c020e71e294232b6 100644 (file)
@@ -16,10 +16,8 @@ libc.so: malloc
 libc.so: memalign
 libc.so: realloc
 libm.so: matherr
-# The dynamic loader uses __libc_memalign internally to allocate
-# aligned TLS storage. The other malloc family of functions are
-# expected to allow user symbol interposition.
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index 9041ccbe608a338d93329979613f4124527d3159..9b45d5e90c53f6f8e3236a87f1f599fbdbba1502 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.2 GLIBC_2.2 A
-GLIBC_2.2 __libc_memalign F
 GLIBC_2.2 __libc_stack_end D 0x8
 GLIBC_2.2 _dl_mcount F
 GLIBC_2.2 _r_debug D 0x28
index edceab57c3ff6cf67420d02143da0ed4b2c4e12a..912bd1a16e7854d1cd74c21d4df00ebce3ecfcc3 100644 (file)
@@ -18,10 +18,8 @@ libc.so: malloc
 libc.so: memalign
 libc.so: realloc
 libm.so: matherr
-# The dynamic loader uses __libc_memalign internally to allocate
-# aligned TLS storage. The other malloc family of functions are
-# expected to allow user symbol interposition.
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc
 ld.so: calloc
 ld.so: realloc
index 3ab170cc917e1840bd5553cab620c34f88c435c4..f166310147b2961375616187a58a91eaea0662ba 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 __libc_memalign F
 GLIBC_2.12 __libc_stack_end D 0x4
 GLIBC_2.12 __tls_get_addr F
 GLIBC_2.12 _dl_mcount F
index aa6cbabfc3716e8a194ff1f22aa72c26080d66b6..ab74e7ecd1d3035baa310fa98f2e02b9febf4255 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 __libc_memalign F
 GLIBC_2.12 __libc_stack_end D 0x8
 GLIBC_2.12 __tls_get_addr F
 GLIBC_2.12 _dl_mcount F
index 3ab170cc917e1840bd5553cab620c34f88c435c4..f166310147b2961375616187a58a91eaea0662ba 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 __libc_memalign F
 GLIBC_2.12 __libc_stack_end D 0x4
 GLIBC_2.12 __tls_get_addr F
 GLIBC_2.12 _dl_mcount F
index 9e09ac69364db741027e03c4d677d11c5894fe8f..07cab4bd7a0ff0bdd237e71f51c6f7b91d4612bc 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.2.5 GLIBC_2.2.5 A
-GLIBC_2.2.5 __libc_memalign F
 GLIBC_2.2.5 __libc_stack_end D 0x8
 GLIBC_2.2.5 _dl_mcount F
 GLIBC_2.2.5 _r_debug D 0x28
index d595038b2b6e88d43ea68096098e576d31bd71e2..236357bd834f23b035c7a40ae59cdc8988d1f26b 100644 (file)
@@ -1,5 +1,4 @@
 GLIBC_2.16 GLIBC_2.16 A
-GLIBC_2.16 __libc_memalign F
 GLIBC_2.16 __libc_stack_end D 0x4
 GLIBC_2.16 __tls_get_addr F
 GLIBC_2.16 _dl_mcount F
index 28096f893e3099671b4fb9773c729bbadf9bd1d6..014a9f455430a3ba7fadb5422af189a95021e68e 100644 (file)
@@ -9,10 +9,8 @@ libc.so: malloc + RELA R_X86_64_GLOB_DAT
 libc.so: memalign + RELA R_X86_64_GLOB_DAT
 libc.so: realloc + RELA R_X86_64_GLOB_DAT
 libm.so: matherr
-# The dynamic loader uses __libc_memalign internally to allocate aligned
-# TLS storage. The other malloc family of functions are expected to allow
-# user symbol interposition.
-ld.so: __libc_memalign + RELA R_X86_64_GLOB_DAT
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
 ld.so: malloc + RELA R_X86_64_GLOB_DAT
 ld.so: calloc + RELA R_X86_64_GLOB_DAT
 ld.so: realloc + RELA R_X86_64_GLOB_DAT