8sa1-binutils-gdb/include/elf
Christophe Lyon 5c5a4843ec [ARM] Add TLS relocations for FDPIC.
Define and handle TLS relocations for FDPIC in BFD and gas.

In gas, the new relocations are rejected if the --fdpic option was not
specified.

We also define the __tdata_start symbol to mark the start of the
.tdata section. This allows FDPIC static binaries to find the start of
.tdata section, since phdr->p_vaddr of TLS segment is not a valid
value for FDPIC.

2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
	Mickaël Guêné  <mickael.guene@st.com>

	bfd/:
	* bfd-in2.h (BFD_RELOC_ARM_TLS_GD32_FDPIC)
	(BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC): New
	relocations.
	* elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_TLS_GD32_FDPIC,
	R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC relocations.
	(elf32_arm_reloc_map): Add R_ARM_TLS_GD32_FDPIC,
	R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC.
	(struct elf32_arm_link_hash_table): Update comment.
	(elf32_arm_final_link_relocate): Handle TLS FDPIC relocations.
	(IS_ARM_TLS_RELOC): Likewise.
	(elf32_arm_check_relocs): Likewise.
	(allocate_dynrelocs_for_symbol): Likewise.
	(elf32_arm_size_dynamic_sections): Update comment.
	* reloc.c: Add BFD_RELOC_ARM_TLS_GD32_FDPIC,
	BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC.

	gas/
	* config/tc-arm.c (reloc_names): Add TLSGD_FDPIC, TLSLDM_FDPIC,
	GOTTPOFF_FDIC relocations.
	(md_apply_fix): Handle the new TLS FDPIC relocations.
	(tc_gen_reloc): Likewise.
	(arm_fix_adjustable): Likewise.

	include/
	* elf/arm.h: Add R_ARM_TLS_GD32_FDPIC, R_ARM_TLS_LDM32_FDPIC,
	R_ARM_TLS_IE32_FDPIC.

	ld/
	* scripttempl/elf.sc: Define __tdata_start for .tdata section.
2018-04-25 20:57:02 +00:00
..
aarch64.h [1/2][GAS][AARCH64]Add BFD_RELOC_AARCH64_TLSLE_LDST8/16/32/64_TPREL_LO12 support in GAS. 2018-03-28 18:03:55 +01:00
alpha.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
arc-cpu.def Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
arc-reloc.def Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
arc.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
arm.h [ARM] Add TLS relocations for FDPIC. 2018-04-25 20:57:02 +00:00
avr.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
bfin.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
ChangeLog-0415 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
common.h [ARM] Add FDPIC OSABI flag support. 2018-04-25 20:49:57 +00:00
cr16.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cr16c.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cris.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
crx.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
d10v.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
d30v.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
dlx.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
dwarf.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
epiphany.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
external.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
fr30.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
frv.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
ft32.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
h8.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
hppa.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
i370.h Reinstate readelf decoding of i860, i960 and i370 relocs 2018-04-17 10:48:58 +09:30
i386.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
i860.h Reinstate readelf decoding of i860, i960 and i370 relocs 2018-04-17 10:48:58 +09:30
i960.h Reinstate readelf decoding of i860, i960 and i370 relocs 2018-04-17 10:48:58 +09:30
ia64.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
internal.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
ip2k.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
iq2000.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
lm32.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
m32c.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
m32r.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
m68hc11.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
m68k.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
mcore.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
mep.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
metag.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
microblaze.h [MicroBlaze] PIC data text relative 2018-04-17 14:47:13 -07:00
mips.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
mmix.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
mn10200.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
mn10300.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
moxie.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
msp430.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
mt.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
nds32.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
nios2.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
or1k.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pj.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
ppc64.h PowerPC inline PLT call support 2018-04-09 17:25:20 +09:30
ppc.h PowerPC inline PLT call support 2018-04-09 17:25:20 +09:30
pru.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
reloc-macros.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
riscv.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
rl78.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
rx.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
s390.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
score.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
sh.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
sparc.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
spu.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
tic6x-attrs.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
tic6x.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
tilegx.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
tilepro.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
v850.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
vax.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
visium.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
vxworks.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
wasm32.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
x86-64.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
xc16x.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
xgate.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
xstormy16.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
xtensa.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30