about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2019-07-03 13:52:49 +0200
committerAndreas Schwab <schwab@suse.de>2019-07-04 14:55:58 +0200
commit484b7af3ccb782ccb3491b541a68de9c5d6f063b (patch)
tree24ddb47606e8342fb668ea9500a11d82eca08e52
parent2b8a3c86e7606cf1b0a997dad8af2d45ae8989c3 (diff)
downloadglibc-484b7af3ccb782ccb3491b541a68de9c5d6f063b.tar.gz
glibc-484b7af3ccb782ccb3491b541a68de9c5d6f063b.tar.xz
glibc-484b7af3ccb782ccb3491b541a68de9c5d6f063b.zip
riscv: restore ABI compatibility (bug 24484)
The contents of the dynamic section are part of the ABI, thus
DL_RO_DYN_SECTION cannot be changed.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/riscv/ldsodefs.h5
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index fe5fd79eac..fbe5cd8648 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2019-07-04  Andreas Schwab  <schwab@suse.de>
+
+	[BZ #24484]
+	* sysdeps/riscv/ldsodefs.h (DL_RO_DYN_SECTION): Define.
+
 2019-07-04  Szabolcs Nagy  <szabolcs.nagy@arm.com>
 
 	* sysdeps/aarch64/Makefile: Install sys/ifunc.h and add tests.
diff --git a/sysdeps/riscv/ldsodefs.h b/sysdeps/riscv/ldsodefs.h
index 5ec607e867..d7531b707a 100644
--- a/sysdeps/riscv/ldsodefs.h
+++ b/sysdeps/riscv/ldsodefs.h
@@ -38,6 +38,11 @@ struct La_riscv_retval;
 				       struct La_riscv_retval *,	\
 				       const char *);
 
+/* Although the RISC-V ABI does not specify that the dynamic section has
+   to be read-only, it needs to be kept for ABI compatibility.  */
+
+#define DL_RO_DYN_SECTION 1
+
 #include_next <ldsodefs.h>
 
 #endif