diff options
Diffstat (limited to 'bfd/elf64-s390.c')
-rw-r--r-- | bfd/elf64-s390.c | 124 |
1 files changed, 62 insertions, 62 deletions
diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index 0b851f7ac0e..0b9b0b809b7 100644 --- a/bfd/elf64-s390.c +++ b/bfd/elf64-s390.c @@ -44,7 +44,7 @@ static reloc_howto_type elf_howto_table[] = { HOWTO (R_390_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = 2 byte, 2 = 4 byte) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -56,137 +56,137 @@ static reloc_howto_type elf_howto_table[] = 0, /* dst_mask */ false), /* pcrel_offset */ - HOWTO(R_390_8, 0, 0, 8, false, 0, complain_overflow_bitfield, + HOWTO(R_390_8, 0, 1, 8, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_8", false, 0,0x000000ff, false), - HOWTO(R_390_12, 0, 1, 12, false, 0, complain_overflow_dont, + HOWTO(R_390_12, 0, 2, 12, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_390_12", false, 0,0x00000fff, false), - HOWTO(R_390_16, 0, 1, 16, false, 0, complain_overflow_bitfield, + HOWTO(R_390_16, 0, 2, 16, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_16", false, 0,0x0000ffff, false), - HOWTO(R_390_32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_32", false, 0,0xffffffff, false), - HOWTO(R_390_PC32, 0, 2, 32, true, 0, complain_overflow_bitfield, + HOWTO(R_390_PC32, 0, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PC32", false, 0,0xffffffff, true), - HOWTO(R_390_GOT12, 0, 1, 12, false, 0, complain_overflow_bitfield, + HOWTO(R_390_GOT12, 0, 2, 12, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOT12", false, 0,0x00000fff, false), - HOWTO(R_390_GOT32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_GOT32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOT32", false, 0,0xffffffff, false), - HOWTO(R_390_PLT32, 0, 2, 32, true, 0, complain_overflow_bitfield, + HOWTO(R_390_PLT32, 0, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PLT32", false, 0,0xffffffff, true), - HOWTO(R_390_COPY, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_COPY, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_COPY", false, 0,MINUS_ONE, false), - HOWTO(R_390_GLOB_DAT, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_GLOB_DAT, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GLOB_DAT", false, 0,MINUS_ONE, false), - HOWTO(R_390_JMP_SLOT, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_JMP_SLOT, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_JMP_SLOT", false, 0,MINUS_ONE, false), - HOWTO(R_390_RELATIVE, 0, 4, 64, true, 0, complain_overflow_bitfield, + HOWTO(R_390_RELATIVE, 0, 8, 64, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_RELATIVE", false, 0,MINUS_ONE, false), - HOWTO(R_390_GOTOFF32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_GOTOFF32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOTOFF32", false, 0,MINUS_ONE, false), - HOWTO(R_390_GOTPC, 0, 4, 64, true, 0, complain_overflow_bitfield, + HOWTO(R_390_GOTPC, 0, 8, 64, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOTPC", false, 0,MINUS_ONE, true), - HOWTO(R_390_GOT16, 0, 1, 16, false, 0, complain_overflow_bitfield, + HOWTO(R_390_GOT16, 0, 2, 16, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOT16", false, 0,0x0000ffff, false), - HOWTO(R_390_PC16, 0, 1, 16, true, 0, complain_overflow_bitfield, + HOWTO(R_390_PC16, 0, 2, 16, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PC16", false, 0,0x0000ffff, true), - HOWTO(R_390_PC16DBL, 1, 1, 16, true, 0, complain_overflow_bitfield, + HOWTO(R_390_PC16DBL, 1, 2, 16, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PC16DBL", false, 0,0x0000ffff, true), - HOWTO(R_390_PLT16DBL, 1, 1, 16, true, 0, complain_overflow_bitfield, + HOWTO(R_390_PLT16DBL, 1, 2, 16, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PLT16DBL", false, 0,0x0000ffff, true), - HOWTO(R_390_PC32DBL, 1, 2, 32, true, 0, complain_overflow_bitfield, + HOWTO(R_390_PC32DBL, 1, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PC32DBL", false, 0,0xffffffff, true), - HOWTO(R_390_PLT32DBL, 1, 2, 32, true, 0, complain_overflow_bitfield, + HOWTO(R_390_PLT32DBL, 1, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PLT32DBL", false, 0,0xffffffff, true), - HOWTO(R_390_GOTPCDBL, 1, 2, 32, true, 0, complain_overflow_bitfield, + HOWTO(R_390_GOTPCDBL, 1, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOTPCDBL", false, 0,MINUS_ONE, true), - HOWTO(R_390_64, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_64, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_64", false, 0,MINUS_ONE, false), - HOWTO(R_390_PC64, 0, 4, 64, true, 0, complain_overflow_bitfield, + HOWTO(R_390_PC64, 0, 8, 64, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PC64", false, 0,MINUS_ONE, true), - HOWTO(R_390_GOT64, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_GOT64, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOT64", false, 0,MINUS_ONE, false), - HOWTO(R_390_PLT64, 0, 4, 64, true, 0, complain_overflow_bitfield, + HOWTO(R_390_PLT64, 0, 8, 64, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PLT64", false, 0,MINUS_ONE, true), - HOWTO(R_390_GOTENT, 1, 2, 32, true, 0, complain_overflow_bitfield, + HOWTO(R_390_GOTENT, 1, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOTENT", false, 0,MINUS_ONE, true), - HOWTO(R_390_GOTOFF16, 0, 1, 16, false, 0, complain_overflow_bitfield, + HOWTO(R_390_GOTOFF16, 0, 2, 16, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOTOFF16", false, 0,0x0000ffff, false), - HOWTO(R_390_GOTOFF64, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_GOTOFF64, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOTOFF64", false, 0,MINUS_ONE, false), - HOWTO(R_390_GOTPLT12, 0, 1, 12, false, 0, complain_overflow_dont, + HOWTO(R_390_GOTPLT12, 0, 2, 12, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_390_GOTPLT12", false, 0,0x00000fff, false), - HOWTO(R_390_GOTPLT16, 0, 1, 16, false, 0, complain_overflow_bitfield, + HOWTO(R_390_GOTPLT16, 0, 2, 16, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOTPLT16", false, 0,0x0000ffff, false), - HOWTO(R_390_GOTPLT32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_GOTPLT32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOTPLT32", false, 0,0xffffffff, false), - HOWTO(R_390_GOTPLT64, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_GOTPLT64, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOTPLT64", false, 0,MINUS_ONE, false), - HOWTO(R_390_GOTPLTENT, 1, 2, 32, true, 0, complain_overflow_bitfield, + HOWTO(R_390_GOTPLTENT, 1, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOTPLTENT",false, 0,MINUS_ONE, true), - HOWTO(R_390_PLTOFF16, 0, 1, 16, false, 0, complain_overflow_bitfield, + HOWTO(R_390_PLTOFF16, 0, 2, 16, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PLTOFF16", false, 0,0x0000ffff, false), - HOWTO(R_390_PLTOFF32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_PLTOFF32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PLTOFF32", false, 0,0xffffffff, false), - HOWTO(R_390_PLTOFF64, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_PLTOFF64, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PLTOFF64", false, 0,MINUS_ONE, false), - HOWTO(R_390_TLS_LOAD, 0, 0, 0, false, 0, complain_overflow_dont, + HOWTO(R_390_TLS_LOAD, 0, 1, 0, false, 0, complain_overflow_dont, s390_tls_reloc, "R_390_TLS_LOAD", false, 0, 0, false), - HOWTO(R_390_TLS_GDCALL, 0, 0, 0, false, 0, complain_overflow_dont, + HOWTO(R_390_TLS_GDCALL, 0, 1, 0, false, 0, complain_overflow_dont, s390_tls_reloc, "R_390_TLS_GDCALL", false, 0, 0, false), - HOWTO(R_390_TLS_LDCALL, 0, 0, 0, false, 0, complain_overflow_dont, + HOWTO(R_390_TLS_LDCALL, 0, 1, 0, false, 0, complain_overflow_dont, s390_tls_reloc, "R_390_TLS_LDCALL", false, 0, 0, false), EMPTY_HOWTO (R_390_TLS_GD32), /* Empty entry for R_390_TLS_GD32. */ - HOWTO(R_390_TLS_GD64, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_GD64, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_GD64", false, 0, MINUS_ONE, false), - HOWTO(R_390_TLS_GOTIE12, 0, 1, 12, false, 0, complain_overflow_dont, + HOWTO(R_390_TLS_GOTIE12, 0, 2, 12, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_390_TLS_GOTIE12", false, 0, 0x00000fff, false), EMPTY_HOWTO (R_390_TLS_GOTIE32), /* Empty entry for R_390_TLS_GOTIE32. */ - HOWTO(R_390_TLS_GOTIE64, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_GOTIE64, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_GOTIE64", false, 0, MINUS_ONE, false), EMPTY_HOWTO (R_390_TLS_LDM32), /* Empty entry for R_390_TLS_LDM32. */ - HOWTO(R_390_TLS_LDM64, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_LDM64, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_LDM64", false, 0, MINUS_ONE, false), EMPTY_HOWTO (R_390_TLS_IE32), /* Empty entry for R_390_TLS_IE32. */ - HOWTO(R_390_TLS_IE64, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_IE64, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_IE64", false, 0, MINUS_ONE, false), - HOWTO(R_390_TLS_IEENT, 1, 2, 32, true, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_IEENT, 1, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_IEENT", false, 0, MINUS_ONE, true), EMPTY_HOWTO (R_390_TLS_LE32), /* Empty entry for R_390_TLS_LE32. */ - HOWTO(R_390_TLS_LE64, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_LE64, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_LE64", false, 0, MINUS_ONE, false), EMPTY_HOWTO (R_390_TLS_LDO32), /* Empty entry for R_390_TLS_LDO32. */ - HOWTO(R_390_TLS_LDO64, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_LDO64, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_LDO64", false, 0, MINUS_ONE, false), - HOWTO(R_390_TLS_DTPMOD, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_DTPMOD, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_DTPMOD", false, 0, MINUS_ONE, false), - HOWTO(R_390_TLS_DTPOFF, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_DTPOFF, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_DTPOFF", false, 0, MINUS_ONE, false), - HOWTO(R_390_TLS_TPOFF, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_TPOFF, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_TPOFF", false, 0, MINUS_ONE, false), - HOWTO(R_390_20, 0, 2, 20, false, 8, complain_overflow_dont, + HOWTO(R_390_20, 0, 4, 20, false, 8, complain_overflow_dont, s390_elf_ldisp_reloc, "R_390_20", false, 0,0x0fffff00, false), - HOWTO(R_390_GOT20, 0, 2, 20, false, 8, complain_overflow_dont, + HOWTO(R_390_GOT20, 0, 4, 20, false, 8, complain_overflow_dont, s390_elf_ldisp_reloc, "R_390_GOT20", false, 0,0x0fffff00, false), - HOWTO(R_390_GOTPLT20, 0, 2, 20, false, 8, complain_overflow_dont, + HOWTO(R_390_GOTPLT20, 0, 4, 20, false, 8, complain_overflow_dont, s390_elf_ldisp_reloc, "R_390_GOTPLT20", false, 0,0x0fffff00, false), - HOWTO(R_390_TLS_GOTIE20, 0, 2, 20, false, 8, complain_overflow_dont, + HOWTO(R_390_TLS_GOTIE20, 0, 4, 20, false, 8, complain_overflow_dont, s390_elf_ldisp_reloc, "R_390_TLS_GOTIE20", false, 0,0x0fffff00, false), - HOWTO(R_390_IRELATIVE, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_390_IRELATIVE, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_IRELATIVE", false, 0, MINUS_ONE, false), - HOWTO(R_390_PC12DBL, 1, 1, 12, true, 0, complain_overflow_bitfield, + HOWTO(R_390_PC12DBL, 1, 2, 12, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PC12DBL", false, 0,0x00000fff, true), - HOWTO(R_390_PLT12DBL, 1, 1, 12, true, 0, complain_overflow_bitfield, + HOWTO(R_390_PLT12DBL, 1, 2, 12, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PLT12DBL", false, 0,0x00000fff, true), - HOWTO(R_390_PC24DBL, 1, 2, 24, true, 0, complain_overflow_bitfield, + HOWTO(R_390_PC24DBL, 1, 4, 24, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PC24DBL", false, 0,0x00ffffff, true), - HOWTO(R_390_PLT24DBL, 1, 2, 24, true, 0, complain_overflow_bitfield, + HOWTO(R_390_PLT24DBL, 1, 4, 24, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_PLT24DBL", false, 0,0x00ffffff, true), }; /* GNU extension to record C++ vtable hierarchy. */ static reloc_howto_type elf64_s390_vtinherit_howto = - HOWTO (R_390_GNU_VTINHERIT, 0,4,0,false,0,complain_overflow_dont, NULL, "R_390_GNU_VTINHERIT", false,0, 0, false); + HOWTO (R_390_GNU_VTINHERIT, 0,8,0,false,0,complain_overflow_dont, NULL, "R_390_GNU_VTINHERIT", false,0, 0, false); static reloc_howto_type elf64_s390_vtentry_howto = - HOWTO (R_390_GNU_VTENTRY, 0,4,0,false,0,complain_overflow_dont, _bfd_elf_rel_vtable_reloc_fn,"R_390_GNU_VTENTRY", false,0,0, false); + HOWTO (R_390_GNU_VTENTRY, 0,8,0,false,0,complain_overflow_dont, _bfd_elf_rel_vtable_reloc_fn,"R_390_GNU_VTENTRY", false,0,0, false); static reloc_howto_type * elf_s390_reloc_type_lookup (bfd *abfd, |