diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2016-05-23 14:41:00 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2016-05-23 14:41:00 +0000 |
commit | 241d3bf325998ee49c7d65e82192bfadf55cbc81 (patch) | |
tree | 894a8875e5773e7184fbcd349e67dd3e8bb678a9 | |
parent | ace8535e82c677f53d6c51c11ff9520c0efc2e80 (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.c | 2 |
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 |