aarch64: Merge rtld_errno offset with memory reference
authorRichard Henderson <rth@redhat.com>
Wed, 21 May 2014 15:36:03 +0000 (11:36 -0400)
committerRichard Henderson <rth@redhat.com>
Wed, 21 May 2014 15:36:03 +0000 (11:36 -0400)
ChangeLog
sysdeps/unix/sysv/linux/aarch64/sysdep.h

index 7f49fbb..4f0414e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-05-21  Richard Henderson  <rth@redhat.com>
+
+       * sysdeps/unix/sysv/linux/aarch64/sysdep.h [RTLD_PRIVATE_ERRNO]
+       (SYSCALL_ERROR_HANDLER): Fold add insn into str offset.
+
 2014-05-20  Joseph Myers  <joseph@codesourcery.com>
 
        * sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c
index d90ef25..8397ad3 100644 (file)
 #   define SYSCALL_ERROR_HANDLER                               \
 __local_syscall_error:                                         \
        adrp    x1, C_SYMBOL_NAME(rtld_errno);                  \
-       add     x1, x1, #:lo12:C_SYMBOL_NAME(rtld_errno);       \
        neg     w0, w0;                                         \
-       str     w0, [x1];                                       \
+       str     w0, [x1, :lo12:C_SYMBOL_NAME(rtld_errno)];      \
        mov     x0, -1;                                         \
        RET;
 #  else