]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update alpha localplt.data.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 8 Nov 2016 23:41:51 +0000 (23:41 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 8 Nov 2016 23:41:51 +0000 (23:41 +0000)
This patch updates alpha localplt.data so the localplt test passes in
my compile-only all-ABIs glibc testing.  The failures I see without
this patch are:

Missing required PLT reference: ld.so: __tls_get_addr
Missing required PLT reference: ld.so: free

Now, __tls_get_addr can be made optional.  For free, rather than
making it optional as in libc.so it seems better to mark all the
malloc-related symbols in both libc.so and ld.so as allowing an
R_ALPHA_GLOB_DAT relocation as an alternative to using a PLT entry, so
this patch does so.

Tested for alpha.

* sysdeps/unix/sysv/linux/alpha/localplt.data: Make __tls_get_addr
optional in ld.so.  Allow R_ALPHA_GLOB_DAT relocation for malloc,
calloc, realloc, free, memalign and __libc_memalign rather than
making them optional.

ChangeLog
sysdeps/unix/sysv/linux/alpha/localplt.data

index 27f4417f2bc12b48675913568120f2ed57edb4ca..a5f418584192b1c4ce335b5062eb164ff36a5aae 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2016-11-08  Joseph Myers  <joseph@codesourcery.com>
 
+       * sysdeps/unix/sysv/linux/alpha/localplt.data: Make __tls_get_addr
+       optional in ld.so.  Allow R_ALPHA_GLOB_DAT relocation for malloc,
+       calloc, realloc, free, memalign and __libc_memalign rather than
+       making them optional.
+
        * sysdeps/unix/sysv/linux/nios2/localplt.data: Add __extendsfdf2
        for libc.so.
 
index e2a4311cbdacfe69d0313383336ae4c2d39efc01..351596cf575270d72bc0028743d322e35e334853 100644 (file)
@@ -15,11 +15,11 @@ libc.so: _OtsNeqX ?
 libc.so: _OtsNintXQ ?
 libc.so: _OtsSubX ?
 libc.so: _Unwind_Find_FDE
-libc.so: calloc ?
-libc.so: free ?
-libc.so: malloc ?
-libc.so: memalign ?
-libc.so: realloc ?
+libc.so: calloc + RELA R_ALPHA_GLOB_DAT
+libc.so: free + RELA R_ALPHA_GLOB_DAT
+libc.so: malloc + RELA R_ALPHA_GLOB_DAT
+libc.so: memalign + RELA R_ALPHA_GLOB_DAT
+libc.so: realloc + RELA R_ALPHA_GLOB_DAT
 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.
@@ -27,9 +27,9 @@ 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.
-ld.so: __tls_get_addr
-ld.so: __libc_memalign
-ld.so: malloc
-ld.so: calloc
-ld.so: realloc
-ld.so: free
+ld.so: __tls_get_addr ?
+ld.so: __libc_memalign + RELA R_ALPHA_GLOB_DAT
+ld.so: malloc + RELA R_ALPHA_GLOB_DAT
+ld.so: calloc + RELA R_ALPHA_GLOB_DAT
+ld.so: realloc + RELA R_ALPHA_GLOB_DAT
+ld.so: free + RELA R_ALPHA_GLOB_DAT