Cover your kid's remaining eye and lock up the pets for the great old ones
authorguenther <guenther@openbsd.org>
Wed, 10 Aug 2016 02:58:44 +0000 (02:58 +0000)
committerguenther <guenther@openbsd.org>
Wed, 10 Aug 2016 02:58:44 +0000 (02:58 +0000)
commit7310f5ffd2bd10e53f6320b063e2fe1b96b1e682
tree14cb552c902b1dc1cbb2511e17fb5387c71201c2
parent25c853e4d60e5dbf09071101e16d2e6d9176a80c
Cover your kid's remaining eye and lock up the pets for the great old ones
have been disturbed: rework the linker script and then enable RELRO support
on all but mips64 (something something padding) and m88k (untested).
This extends the RO coverage from just .got and .cdtors to also include
.openbsd.randomdata, .jcr, .dynamic, and .data.rel.ro., and moves more
segments from the text section to the rodata section.  Depends on the
previous csu and ld.so work; reinstall those *before* rebuilding ld, or
just get a snapshot.

clues from kettenis
assistance testing and ok deraadt@
gnu/usr.bin/binutils-2.17/ld/emulparams/armelf_obsd.sh
gnu/usr.bin/binutils-2.17/ld/emulparams/elf32ppc_obsd.sh
gnu/usr.bin/binutils-2.17/ld/emulparams/elf64btsmip_obsd.sh
gnu/usr.bin/binutils-2.17/ld/emulparams/elf64ltsmip_obsd.sh
gnu/usr.bin/binutils-2.17/ld/emulparams/hppaobsd.sh
gnu/usr.bin/binutils-2.17/ld/emulparams/shelf_obsd.sh
gnu/usr.bin/binutils-2.17/ld/ldmain.c
gnu/usr.bin/binutils-2.17/ld/scripttempl/elf.sc