]> sourceware.org Git - glibc.git/commitdiff
[AArch64][BZ #17711] Fix extern protected data handling
authorSzabolcs Nagy <nsz@port70.net>
Fri, 24 Jul 2015 08:57:32 +0000 (09:57 +0100)
committerSzabolcs Nagy <nsz@port70.net>
Fri, 24 Jul 2015 08:57:32 +0000 (09:57 +0100)
Fixes elf/tst-protected1a and elf/tst-protected1b tests.

Depends on a gcc patch that makes protected visibility data non-local:
https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01871.html
and on a binutils patch so R_*_GLOB_DAT relocs are used for it:
https://sourceware.org/ml/binutils/2015-07/msg00246.html

ChangeLog
sysdeps/aarch64/dl-machine.h
sysdeps/aarch64/dl-sysdep.h

index d43a564c32372a4a43079dde5f5471b6d36e34ea..ecce7f3273bc69c0b8e46ea54026d5c7ff5b09ee 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-07-24  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       [BZ #17711]
+       * sysdeps/aarch64/dl-sysdep.h (DL_EXTERN_PROTECTED_DATA): Define.
+       * sysdeps/aarch64/dl-machine.h (elf_machine_type_class): Handle
+       ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA.
+
 2015-07-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
        * stdlib/cxa_thread_atexit_impl.c: Use the lock name dl_load_lock
index 350d9879b29e34b1d2cf5669d25596de0d53eca6..217e1798c49adb2675ae13620af945b7a3338138 100644 (file)
@@ -195,7 +195,8 @@ _dl_start_user:                                                     \n\
      (type) == R_AARCH64_TLS_DTPREL ||                                 \
      (type) == R_AARCH64_TLS_TPREL ||                                  \
      (type) == R_AARCH64_TLSDESC) * ELF_RTYPE_CLASS_PLT)               \
-   | (((type) == R_AARCH64_COPY) * ELF_RTYPE_CLASS_COPY))
+   | (((type) == R_AARCH64_COPY) * ELF_RTYPE_CLASS_COPY)               \
+   | (((type) == R_AARCH64_GLOB_DAT) * ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA))
 
 #define ELF_MACHINE_JMP_SLOT   R_AARCH64_JUMP_SLOT
 
index 4f951def57e9f7789d12c034b6248a5add0ca488..0bdbea651efb71844c26b02fb883b5091d84f1ed 100644 (file)
@@ -21,3 +21,5 @@
 /* _dl_argv cannot be attribute_relro, because _dl_start_user
    might write into it after _dl_start returns.  */
 #define DL_ARGV_NOT_RELRO 1
+
+#define DL_EXTERN_PROTECTED_DATA
This page took 0.118032 seconds and 5 git commands to generate.