Update alpha localplt.data.

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.
This commit is contained in:
Joseph Myers 2016-11-08 23:41:51 +00:00
parent 38d84a0f37
commit 58d6b0d865
2 changed files with 16 additions and 11 deletions

View File

@ -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.

View 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