CVSROOT: /cvs
Module name: src
Changes by: [email protected] 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@