aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/aarch64/dl-machine.h3
-rw-r--r--sysdeps/aarch64/dl-sysdep.h2
3 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index d43a564..ecce7f3 100644
--- 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
diff --git a/sysdeps/aarch64/dl-machine.h b/sysdeps/aarch64/dl-machine.h
index 350d987..217e179 100644
--- a/sysdeps/aarch64/dl-machine.h
+++ b/sysdeps/aarch64/dl-machine.h
@@ -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
diff --git a/sysdeps/aarch64/dl-sysdep.h b/sysdeps/aarch64/dl-sysdep.h
index 4f951de..0bdbea6 100644
--- a/sysdeps/aarch64/dl-sysdep.h
+++ b/sysdeps/aarch64/dl-sysdep.h
@@ -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