[binutils-gdb] Issue an error for read-only segment with dynamic IFUNC relocations

sergiodj+buildbot@redhat.com sergiodj+buildbot@redhat.com
Thu Aug 13 11:55:00 GMT 2015


*** TEST RESULTS FOR COMMIT 8efa2874ab298f3923f4127340da119435f87c39 ***

Author: H.J. Lu <hjl.tools@gmail.com>
Branch: master
Commit: 8efa2874ab298f3923f4127340da119435f87c39

Issue an error for read-only segment with dynamic IFUNC relocations

To load an ELF binary with DT_TEXTREL tag, the dynamic linker calls
__mprotect on the read-only segment with PROT_READ|PROT_WRITE before
applying dynamic relocation.  It leads to segfault when performing
IFUNC relocations since the read-only segment has no execute permission.
This patch changes x86 linker to issue an error for read-only segment
with dynamic IFUNC relocations.  Other backends with IFUNC support
may need a similar change.

bfd/

	PR ld/18801
	* elf32-i386.c (elf_i386_size_dynamic_sections): Issue an error
	for read-only segment with dynamic IFUNC relocations.
	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.

ld/testsuite/

	PR ld/18801
	* ld-i386/i386.exp: Run pr18801.
	* ld-x86-64/x86-64.exp: Likewise.
	* ld-i386/pr18801.d: New file.
	* ld-i386/pr18801.s: Likewise.
	* ld-x86-64/pr18801.d: Likewise.
	* ld-x86-64/pr18801.s: Likewise.



More information about the Gdb-testers mailing list