Skip to content

Commit

Permalink
aarch64: Use tpidr_el0 rather than __errno_location in librt
Browse files Browse the repository at this point in the history
  • Loading branch information
Richard Henderson committed May 29, 2014
1 parent a17e5ff commit 11a28ae
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 16 deletions.
8 changes: 7 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
2014-05-29 Richard Henderson <rth@twiddle.net>

* sysdeps/unix/sysv/linux/aarch64/sysdep.h [NOT_IN_libc]
(SYSCALL_ERROR_HANDLER): Use tpidr_el0 instead of a call
to __errno_location.
* sysdeps/unix/sysv/linux/aarch64/nptl/localplt.data (libpthread.so):
Remove the expected plt for __errno_location.

* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
[!NOT_IN_libc] (SINGLE_THREAD_P): Use tpidr_el0 instead of a
[NOT_IN_libc] (SINGLE_THREAD_P): Use tpidr_el0 instead of a
call to __read_tp.

* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h (PSEUDO):
Expand Down
1 change: 0 additions & 1 deletion sysdeps/unix/sysv/linux/aarch64/nptl/localplt.data
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,3 @@ libm.so: matherr
libm.so: __signbit
libm.so: __signbitf
libm.so: __signbitl
libpthread.so: __errno_location
19 changes: 5 additions & 14 deletions sysdeps/unix/sysv/linux/aarch64/sysdep.h
Original file line number Diff line number Diff line change
Expand Up @@ -123,21 +123,12 @@

# define SYSCALL_ERROR_HANDLER \
.Lsyscall_error: \
stp x29, x30, [sp, -32]!; \
cfi_adjust_cfa_offset (32); \
cfi_rel_offset (x29, 0); \
cfi_rel_offset (x30, 8); \
add x29, sp, 0; \
str x19, [sp,16]; \
neg x19, x0; \
bl C_SYMBOL_NAME(__errno_location); \
str w19, [x0]; \
adrp x1, :gottprel:errno; \
neg w2, w0; \
ldr x1, [x1, :gottprel_lo12:errno]; \
mrs x3, tpidr_el0; \
mov x0, -1; \
ldr x19, [sp,16]; \
ldp x29, x30, [sp], 32; \
cfi_adjust_cfa_offset (-32); \
cfi_restore (x29); \
cfi_restore (x30); \
str w2, [x1, x3]; \
RET;
# endif
# else
Expand Down

0 comments on commit 11a28ae

Please sign in to comment.