about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChung-Lin Tang <cltang@codesourcery.com>2015-07-26 05:27:18 -0700
committerChung-Lin Tang <cltang@codesourcery.com>2015-07-26 05:27:18 -0700
commitae5eae7cfc9c4a8297ff82ec6b794faca1976ecc (patch)
tree192719301e27a8a2acf24eeac3116d91e27147ca
parent34e3f83fe17b27a4c618a33661eb5412350f1147 (diff)
downloadglibc-ae5eae7cfc9c4a8297ff82ec6b794faca1976ecc.tar.gz
glibc-ae5eae7cfc9c4a8297ff82ec6b794faca1976ecc.tar.xz
glibc-ae5eae7cfc9c4a8297ff82ec6b794faca1976ecc.zip
Fixes extern protected data handling testcases elf/tst-protected1a
and elf/tst-protected1b for Nios II.
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/nios2/dl-machine.h3
-rw-r--r--sysdeps/nios2/dl-sysdep.h2
3 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 2603ad0cd9..3e202c4bf9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2015-07-26  Chung-Lin Tang  <cltang@codesourcery.com>
 
+	* sysdeps/nios2/dl-sysdep.h (DL_EXTERN_PROTECTED_DATA): Define.
+	* sysdeps/nios2/dl-machine.h (elf_machine_type_class): Handle
+	ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA.
+
+2015-07-26  Chung-Lin Tang  <cltang@codesourcery.com>
+
 	* nptl/tst-join7mod.c: Add #include <string.h>.
 
 2015-07-25  Chung-Lin Tang  <cltang@codesourcery.com>
diff --git a/sysdeps/nios2/dl-machine.h b/sysdeps/nios2/dl-machine.h
index 1a8397ffc5..10ec821bcb 100644
--- a/sysdeps/nios2/dl-machine.h
+++ b/sysdeps/nios2/dl-machine.h
@@ -193,7 +193,8 @@ _start:\n\
      || (type) == R_NIOS2_TLS_DTPMOD				\
      || (type) == R_NIOS2_TLS_DTPREL				\
      || (type) == R_NIOS2_TLS_TPREL) * ELF_RTYPE_CLASS_PLT)	\
-   | (((type) == R_NIOS2_COPY) * ELF_RTYPE_CLASS_COPY))
+   | (((type) == R_NIOS2_COPY) * ELF_RTYPE_CLASS_COPY)		\
+   | (((type) == R_NIOS2_GLOB_DAT) * ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA))
 
 /* A reloc type used for ld.so cmdline arg lookups to reject PLT entries.  */
 #define ELF_MACHINE_JMP_SLOT  R_NIOS2_JUMP_SLOT
diff --git a/sysdeps/nios2/dl-sysdep.h b/sysdeps/nios2/dl-sysdep.h
index 4f49c2d2ff..ef6d3f39eb 100644
--- a/sysdeps/nios2/dl-sysdep.h
+++ b/sysdeps/nios2/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