binutils-gdb/include
H.J. Lu 6a91be8666 ld: Initial DT_RELR support
Add a -z pack-relative-relocs option to enable DT_RELR and create a
relr.dyn section for DT_RELR.  DT_RELR is implemented with the linker
relaxation infrastructure, but it doesn't require the --relax option
enabled.  -z pack-relative-relocs implies -z combreloc.  -z nocombreloc
implies -z nopack-relative-relocs.

-z pack-relative-relocs is chosen over the similar option in lld,
--pack-dyn-relocs=relr, to implement a glibc binary lockout mechanism
with a special glibc version symbol, to avoid random crashes of DT_RELR
binaries with the existing glibc binaries.

bfd/

	* elf-bfd.h (elf_link_hash_table): Add srelrdyn.
	* elflink.c (_bfd_elf_link_create_dynamic_sections): Create a
	.relr.dyn section for DT_RELR.

include/

	* bfdlink.h (bfd_link_info): Add enable_dt_relr.

ld/

	* News: Mention -z pack-relative-relocs and
	-z nopack-relative-relocs.
	* ld.texi: Document -z pack-relative-relocs and
	-z nopack-relative-relocs.
	* ldelf.c (ldelf_after_parse): Disable DT_RELR if not building
	PIE nor shared library.  Add 3 spare dynamic tags for DT_RELR,
	DT_RELRSZ and DT_RELRENT.
	* ldlang.c (lang_relax_sections): Also enable relaxation if
	DT_RELR is enabled.
	* emulparams/elf32_x86_64.sh: Source dt-relr.sh.
	* emulparams/elf_i386.sh: Likewise.
	* emulparams/elf_x86_64.sh: Likewise.
	* emulparams/dt-relr.sh: New file.
	* scripttempl/elf.sc: Support .relr.dyn.
2022-01-12 06:04:29 -08:00
..
aout Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
cgen Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
coff gas: add visibility support for XCOFF 2022-01-12 09:08:11 +01:00
elf Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
gdb Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
mach-o Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
opcode Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
sim Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
som Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
vms Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
alloca-conf.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
ansidecl.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
bfdlink.h ld: Initial DT_RELR support 2022-01-12 06:04:29 -08:00
binary-io.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
bout.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
ChangeLog Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
ChangeLog-0415
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020
ChangeLog-9103
COPYING
COPYING3
ctf-api.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
ctf.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
demangle.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
diagnostics.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
dis-asm.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
dwarf2.def Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
dwarf2.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
dyn-string.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
environ.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
fibheap.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
filenames.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
floatformat.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
fnmatch.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
fopen-bin.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
fopen-same.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
fopen-vms.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
gcc-c-fe.def Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
gcc-c-interface.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
gcc-cp-fe.def Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
gcc-cp-interface.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
gcc-interface.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
getopt.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
hashtab.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
hp-symtab.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
leb128.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
libiberty.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
longlong.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
lto-symtab.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
MAINTAINERS Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
md5.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
oasys.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
objalloc.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
obstack.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
os9k.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
partition.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
plugin-api.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
progress.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
safe-ctype.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
sha1.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
simple-object.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
sort.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
splay-tree.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
symcat.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
timeval-utils.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
vtv-change-permission.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
xregex2.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
xregex.h
xtensa-config.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
xtensa-isa-internal.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
xtensa-isa.h Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30