8sa1-binutils-gdb/include/elf
Michael Eager 3f0a5f17d7 [MicroBlaze] PIC data text relative
Andrew Sadek <andrew.sadek.se@gmail.com>

A new implemented feature in GCC Microblaze that allows Position
Independent Code to run using Data Text Relative addressing instead
of using Global Offset Table.

Its aim was to make 'PIC' more efficient and flexible as elf size
excess performance overhead were noticed when using GOT due to the
indirect addressing.

include/ChangeLog:
	* bfdlink.h (Add flag): Add new flag @ 'bfd_link_info' struct.
	* elf/microblaze.h (Add 3 new relocations):
	R_MICROBLAZE_TEXTPCREL_64, R_MICROBLAZE_TEXTREL_64
	and R_MICROBLAZE_TEXTREL_32_LO for relax function.
bfd/ChangeLog:
	* bfd/reloc.c (2 new BFD relocations):
	BFD_RELOC_MICROBLAZE_64_TEXTPCREL &
	BFD_RELOC_MICROBLAZE_64_TEXTPCREL
	* bfd/bfd-in2.h: Regenerate
	* bfd/libbfd.h: Regenerate
	* bfd/elf32-microblaze.c (Handle new relocs): define 'HOWTO' of 3
	new relocs and handle them in both relocate and relax functions.
	(microblaze_elf_reloc_type_lookup): add mapping between for new
	bfd relocs.
	(microblaze_elf_relocate_section): Handle new relocs in case of
	elf relocation.
	(microblaze_elf_relax_section): Handle new relocs for elf relaxation.
gas/ChangeLog:
	* gas/config/tc-microblaze.c (Handle new relocs directives in
	assembler): Handle new relocs from compiler output.
	(imm_types): add new imm types for data text relative addressing
	TEXT_OFFSET, TEXT_PC_OFFSET
	(md_convert_frag): conversion for BFD_RELOC_MICROBLAZE_64_TEXTPCREL,
	BFD_RELOC_MICROBLAZE_64_TEXTPCREL
	(md_apply_fix): apply fix for BFD_RELOC_MICROBLAZE_64_TEXTPCREL,
	BFD_RELOC_MICROBLAZE_64_TEXTPCREL
	(md_estimate_size_before_relax): estimate size for
	BFD_RELOC_MICROBLAZE_64_TEXTPCREL,
	BFD_RELOC_MICROBLAZE_64_TEXTPCREL
	(tc_gen_reloc): generate relocations for
	BFD_RELOC_MICROBLAZE_64_TEXTPCREL,
	BFD_RELOC_MICROBLAZE_64_TEXTPCREL
ld/ChangeLog:
	* ld/lexsup.c (Add 2 ld options):
	(ld_options): add disable-multiple-abs-defs @ 'ld_options' array
	(parse_args): parse new option and pass flag to 'link_info' struct.
	* ld/ldlex.h (Add enum): add new enum @ 'option_values' enum.
	* ld/ld.texinfo (Add new option): Add description for
	'disable-multiple-abs-defs'
	* ld/main.c: Initialize flags with false @ 'main'. Handle
	disable-multiple-abs-defs @ 'mutiple_definition'.
2018-04-17 14:47:13 -07: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 Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
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 DT_FLAGS_1: Add Solaris bits 2018-03-21 12:55:52 -07: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