glibc/sysdeps/aarch64
Florian Weimer 67aae64512 aarch64: Use explicit offsets in _dl_tlsdesc_dynamic
Commit 389d1f1b23 (“Partial ILP32
support for aarch64”) broke dynamic TLS support because a load
offset changed:

 0000000000000030 <_dl_tlsdesc_dynamic>:
   30:  a9bc7bfd        stp     x29, x30, [sp,#-64]!
   34:  910003fd        mov     x29, sp
   38:  a9020be1        stp     x1, x2, [sp,#32]
   3c:  a90313e3        stp     x3, x4, [sp,#48]
   40:  d53bd044        mrs     x4, tpidr_el0
   44:  c8dffc1f        ldar    xzr, [x0]
   48:  f9400401        ldr     x1, [x0,#8]
   4c:  f9400080        ldr     x0, [x4]
   50:  f9400823        ldr     x3, [x1,#16]
   54:  f9400002        ldr     x2, [x0]
   58:  eb02007f        cmp     x3, x2
   5c:  540001a8        b.hi    90 <_dl_tlsdesc_dynamic+0x60>
   60:  f9400022        ldr     x2, [x1]
   64:  8b021000        add     x0, x0, x2, lsl #4
   68:  f9400000        ldr     x0, [x0]
   6c:  b100041f        cmn     x0, #0x1
   70:  54000100        b.eq    90 <_dl_tlsdesc_dynamic+0x60>
-  74:  f9400421        ldr     x1, [x1,#8]
+  74:  f9400821        ldr     x1, [x1,#16]
   78:  8b010000        add     x0, x0, x1
…

This commit introduces explicit struct offsets, generated
from the C headers, fixing the regression.
2016-12-02 16:52:57 +01:00
..
bits Refactor FP_ILOGB* out of bits/mathdef.h. 2016-12-01 02:56:55 +00:00
fpu Add femode_t functions: aarch64. 2016-09-07 16:41:20 +00:00
nptl Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
soft-fp Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
__longjmp.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
abort-instr.h
atomic-machine.h Remove atomic_compare_and_exchange_bool_rel. 2016-06-24 23:04:40 +03:00
backtrace.c
bsd-_setjmp.S
bsd-setjmp.S
configure Require autoconf 2.69 2014-09-29 07:53:36 -07:00
configure.ac
crti.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
crtn.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-irel.h Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
dl-link.sym
dl-machine.h Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
dl-sysdep.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-tls.h elf: Consolidate machine-agnostic DTV definitions in <dl-dtv.h> 2016-06-20 14:31:40 +02:00
dl-tlsdesc.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-tlsdesc.S aarch64: Use explicit offsets in _dl_tlsdesc_dynamic 2016-12-02 16:52:57 +01:00
dl-trampoline.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
Implies
jmpbuf-offsets.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
jmpbuf-unwind.h Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
ldsodefs.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
libc-tls.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
libm-test-ulps Regenerate ULPs for aarch64 2016-11-10 16:52:35 +05:30
libm-test-ulps-name Do not hardcode platform names in manual/libm-err-tab.pl (bug 14139). 2016-11-04 16:49:06 +00:00
linkmap.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
machine-gmon.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Makefile [AArch64] Fix libc internal asm profiling code 2016-07-11 09:50:41 +01:00
math-tests.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mcount.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
memchr.S An optimized memchr was missing for AArch64. This version is similar to 2016-11-04 14:37:10 +00:00
memcmp.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
memcpy.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
memmove.S This is an optimized memcpy/memmove for AArch64. Copies are split into 3 main 2016-06-20 17:41:33 +01:00
memset.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
memusage.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
preconfigure Remove relro configure test. 2014-06-27 16:51:22 +00:00
rawmemchr.S Add a simple rawmemchr implementation. Use strlen for rawmemchr(s, '\0') as it 2016-06-20 17:48:20 +01:00
setjmp.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
stackinfo.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
start.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
stpcpy.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
strchr.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
strchrnul.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
strcmp.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
strcpy.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
string_private.h Add _STRING_INLINE_unaligned and string_private.h 2016-02-18 14:55:29 -02:00
strlen.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
strncmp.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
strnlen.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
strrchr.S Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
sysdep.h Partial ILP32 support for aarch64. 2016-11-28 09:01:23 -08:00
tls-macros.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tlsdesc.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tlsdesc.sym aarch64: Use explicit offsets in _dl_tlsdesc_dynamic 2016-12-02 16:52:57 +01:00
tst-audit.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Versions