Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/libexec/ld.elf_so
Module Name: src
Committed By: joerg
Date: Tue Apr 3 21:10:28 UTC 2018
Modified Files:
src/libexec/ld.elf_so: reloc.c rtld.c rtld.h
src/libexec/ld.elf_so/arch/arm: Makefile.inc mdreloc.c
src/libexec/ld.elf_so/arch/i386: Makefile.inc mdreloc.c
src/libexec/ld.elf_so/arch/powerpc: Makefile.inc ppc_reloc.c
src/libexec/ld.elf_so/arch/sparc: Makefile.inc mdreloc.c
src/libexec/ld.elf_so/arch/sparc64: Makefile.inc mdreloc.c
src/libexec/ld.elf_so/arch/x86_64: Makefile.inc mdreloc.c
Log Message:
Rework ifunc support to address a number of short comings:
- Move to a shared _rtld_call_ifunc for rel and rela architectures
- Architectures using rel format must patch IRELATIVE non-PLT
relocations like RELATIVE in additition to the later ifunc handling
- Consistently record the delta to the end of the relocation group for
non-PLT IRELATIVE relocations
Hidden ifunc is now supported on all ifunc platforms, even when using
-fno-plt. The combination of -fno-plt and relro is broken due to
incorrect GNU ld output though.
To generate a diff of this commit:
cvs rdiff -u -r1.111 -r1.112 src/libexec/ld.elf_so/reloc.c
cvs rdiff -u -r1.191 -r1.192 src/libexec/ld.elf_so/rtld.c
cvs rdiff -u -r1.132 -r1.133 src/libexec/ld.elf_so/rtld.h
cvs rdiff -u -r1.20 -r1.21 src/libexec/ld.elf_so/arch/arm/Makefile.inc
cvs rdiff -u -r1.43 -r1.44 src/libexec/ld.elf_so/arch/arm/mdreloc.c
cvs rdiff -u -r1.14 -r1.15 src/libexec/ld.elf_so/arch/i386/Makefile.inc
cvs rdiff -u -r1.40 -r1.41 src/libexec/ld.elf_so/arch/i386/mdreloc.c
cvs rdiff -u -r1.15 -r1.16 src/libexec/ld.elf_so/arch/powerpc/Makefile.inc
cvs rdiff -u -r1.56 -r1.57 src/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c
cvs rdiff -u -r1.14 -r1.15 src/libexec/ld.elf_so/arch/sparc/Makefile.inc
cvs rdiff -u -r1.54 -r1.55 src/libexec/ld.elf_so/arch/sparc/mdreloc.c
cvs rdiff -u -r1.8 -r1.9 src/libexec/ld.elf_so/arch/sparc64/Makefile.inc
cvs rdiff -u -r1.68 -r1.69 src/libexec/ld.elf_so/arch/sparc64/mdreloc.c
cvs rdiff -u -r1.7 -r1.8 src/libexec/ld.elf_so/arch/x86_64/Makefile.inc
cvs rdiff -u -r1.46 -r1.47 src/libexec/ld.elf_so/arch/x86_64/mdreloc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index