about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@sourceware.org>2017-05-11 20:13:49 +0530
committerSiddhesh Poyarekar <siddhesh@sourceware.org>2017-05-11 20:15:56 +0530
commit17284d650ebe5c736c9730ee16401008f26128c3 (patch)
treebf7e409ae22bfca1f6a252423b02e16eddc33173
parent5df4854ed21641e5f82e17677fc385e05480ce3a (diff)
downloadglibc-17284d650ebe5c736c9730ee16401008f26128c3.tar.gz
glibc-17284d650ebe5c736c9730ee16401008f26128c3.tar.xz
glibc-17284d650ebe5c736c9730ee16401008f26128c3.zip
tunables: Make tunable_list relro
As of now we don't need tunables to be writable after they have been
set initially, so there is no point in having them writable.  Put
tunable_list in .data.rel.ro so that it is set as read-only after
relocation.  This also allows us to move some of the dl_* variables
that are tunables controlled into the tunables infrastructure instead
of having two copies.

In future if we ever need specific tunables to be writable at runtime,
we can split the tunable_list into two.

Regression tested on x86_64 to verify that tests continue to pass.

	* scripts/gen-tunables.awk: Add attribute_relro to
	tunable_list.
-rw-r--r--ChangeLog5
-rw-r--r--scripts/gen-tunables.awk2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index d886161b20..f92e871198 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-05-11  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+	* scripts/gen-tunables.awk: Add attribute_relro to
+	tunable_list.
+
 2017-05-11  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #21457]
diff --git a/scripts/gen-tunables.awk b/scripts/gen-tunables.awk
index 601240ac0d..defb3e7354 100644
--- a/scripts/gen-tunables.awk
+++ b/scripts/gen-tunables.awk
@@ -141,7 +141,7 @@ END {
 
   # Finally, the tunable list.
   print "\n#ifdef TUNABLES_INTERNAL"
-  print "static tunable_t tunable_list[] = {"
+  print "static tunable_t tunable_list[] attribute_relro = {"
   for (t in types) {
     for (n in types[t]) {
       for (m in types[t][n]) {