CVSROOT: /cvs Module name: src Changes by: kette...@cvs.openbsd.org 2016/06/08 05:58:59
Modified files: libexec/ld.so : library.c loader.c Log message: Some ELF ABIs still require a PLT that is both writable and executable. To avoid W^X violations, initially map such segments as writable and non-executable, and change the mapping to non-writable and executable after initial relocation processing. As a side-benefit this means we no longer depend on the __plt_start and __plt_end to make the PLT read-only after relocation processing. This will break binaries linked with ld -Z, most notably emacs, on some of our architectures. ok deraadt@, guenther@