5e99c15672
* elf64-s390.c: Include elf-s390-common.c. (R_390_IRELATIVE): New reloc. (elf_s390_reloc_type_lookup): Support R_390_IRELATIVE. (RELA_ENTRY_SIZE): New macro. (elf_s390_link_hash_entry): New fields ifunc_resolver_address and *ifunc_resolver_section. (struct plt_entry): New struct. (struct elf_s390_obj_tdata): New field local_plt. (elf_s390_local_plt): New macro. (struct elf_s390_link_hash_table): New field irelifunc. (ELF64): New macro. (link_hash_newfunc): Initialize new fields. (elf_s390_check_relocs): Handle IFUNC symbols. (elf_s390_adjust_dynamic_symbol): Don't do anything for IFUNC symbols. (allocate_dynrelocs): Call s390_elf_allocate_ifunc_dyn_relocs for IFUNC symbols. (elf_s390_size_dynamic_sections): Handle IFUNC symbols. (elf_s390_relocate_section): Likewise. (elf_s390_finish_dynamic_symbol): Likewise. (elf_s390_finish_dynamic_sections): Handle local IFUNC symbols. (elf_s390_finish_ifunc_symbol): New function. (elf_s390_gc_sweep_hook): Handle local plt entries. (elf_backend_add_symbol_hook): Define. * elf32-s390.c: See elf64-s390.c changes. * elf-s390-common.c: New file. * bfd-in2.h (BFD_RELOC_390_IRELATIVE): New enum field. * libbfd.h (BFD_RELOC_390_IRELATIVE): New entry for BFD_RELOC_390_IRELATIVE. * reloc.c (BFD_RELOC_390_IRELATIVE): Document new relocation. 2012-07-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * elf/s390.h (START_RELOC_NUMBERS): Define R_390_IRELATIVE reloc. 2012-07-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * emulparams/elf_s390.sh (IREL_IN_PLT): Define. * emulparams/elf64_s390.sh (IREL_IN_PLT): Define. |
||
---|---|---|
.. | ||
alpha.h | ||
arc.h | ||
arm.h | ||
avr.h | ||
bfin.h | ||
ChangeLog | ||
ChangeLog-9103 | ||
common.h | ||
cr16.h | ||
cr16c.h | ||
cris.h | ||
crx.h | ||
d10v.h | ||
d30v.h | ||
dlx.h | ||
dwarf.h | ||
epiphany.h | ||
external.h | ||
fr30.h | ||
frv.h | ||
h8.h | ||
hppa.h | ||
i370.h | ||
i386.h | ||
i860.h | ||
i960.h | ||
ia64.h | ||
internal.h | ||
ip2k.h | ||
iq2000.h | ||
lm32.h | ||
m32c.h | ||
m32r.h | ||
m68hc11.h | ||
m68k.h | ||
mcore.h | ||
mep.h | ||
microblaze.h | ||
mips.h | ||
mmix.h | ||
mn10200.h | ||
mn10300.h | ||
moxie.h | ||
msp430.h | ||
mt.h | ||
openrisc.h | ||
or32.h | ||
pj.h | ||
ppc64.h | ||
ppc.h | ||
reloc-macros.h | ||
rl78.h | ||
rx.h | ||
s390.h | ||
score.h | ||
sh.h | ||
sparc.h | ||
spu.h | ||
tic6x-attrs.h | ||
tic6x.h | ||
tilegx.h | ||
tilepro.h | ||
v850.h | ||
vax.h | ||
vxworks.h | ||
x86-64.h | ||
xc16x.h | ||
xgate.h | ||
xstormy16.h | ||
xtensa.h |