summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2016-05-23 14:41:00 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2016-05-23 14:41:00 +0000
commit241d3bf325998ee49c7d65e82192bfadf55cbc81 (patch)
tree894a8875e5773e7184fbcd349e67dd3e8bb678a9
parentace8535e82c677f53d6c51c11ff9520c0efc2e80 (diff)
On sparc64, make the PLT read-only. This allows the kernel and ld.so to
load binaries without violating W^X. ld.so will make the PLT temporarily writable (making it non-executable at the same time) to set up the initial PLT slots and to do non-lazy relocations and restore permissions afterwards. Make sure you install an updated ld.so before doing a full build. ok deraadt@
-rw-r--r--gnu/usr.bin/binutils-2.17/bfd/elf64-sparc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gnu/usr.bin/binutils-2.17/bfd/elf64-sparc.c b/gnu/usr.bin/binutils-2.17/bfd/elf64-sparc.c
index dd1c302174a..4543121391a 100644
--- a/gnu/usr.bin/binutils-2.17/bfd/elf64-sparc.c
+++ b/gnu/usr.bin/binutils-2.17/bfd/elf64-sparc.c
@@ -892,7 +892,7 @@ const struct elf_size_info elf64_sparc_size_info =
#define elf_backend_can_gc_sections 1
#define elf_backend_can_refcount 1
#define elf_backend_want_got_plt 0
-#define elf_backend_plt_readonly 0
+#define elf_backend_plt_readonly 1
#define elf_backend_want_plt_sym 1
#define elf_backend_got_header_size 8
#define elf_backend_rela_normal 1