From c94cb026628b831ef63e3455a66328749ff8a415 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 7 Jun 2022 22:43:20 +0930 Subject: HOWTO size encoding This changes the HOWTO macro to encode the howto.size field from a value given in bytes. This of course requires editing all target uses of HOWTO, a major pain, but makes it a little nicer to specify new target HOWTOs. Object files before/after this patch are unchanged in .data and .rodata. bfd/ * reloc.c (HOWTO_RSIZE): Encode size in bytes. (EMPTY_HOWTO): Adjust to keep it all zero. * aout-ns32k.c, * aoutx.h, * coff-alpha.c, * coff-arm.c, * coff-i386.c, * coff-mcore.c, * coff-mips.c, * coff-rs6000.c, * coff-sh.c, * coff-tic30.c, * coff-tic4x.c, * coff-tic54x.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c, * coff64-rs6000.c, * elf-hppa.h, * elf-m10200.c, * elf-m10300.c, * elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c, * elf32-cris.c, * elf32-crx.c, * elf32-csky.c, * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c, * elf32-fr30.c, * elf32-frv.c, * elf32-ft32.c, * elf32-gen.c, * elf32-h8300.c, * elf32-i386.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c, * elf32-m68k.c, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c, * elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-pru.c, * elf32-rl78.c, * elf32-rx.c, * elf32-s12z.c, * elf32-s390.c, * elf32-score.c, * elf32-score7.c, * elf32-sh-relocs.h, * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c, * elf32-visium.c, * elf32-wasm32.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c, * elf32-xtensa.c, * elf32-z80.c, * elf64-alpha.c, * elf64-bpf.c, * elf64-gen.c, * elf64-mips.c, * elf64-mmix.c, * elf64-nfp.c, * elf64-ppc.c, * elf64-s390.c, * elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfxx-ia64.c, * elfxx-loongarch.c, * elfxx-mips.c, * elfxx-riscv.c, * elfxx-sparc.c, * elfxx-tilegx.c, * mach-o-aarch64.c, * mach-o-arm.c, * mach-o-i386.c, * mach-o-x86-64.c, * pdp11.c, * reloc.c, * som.c, * vms-alpha.c: Adjust all uses of HOWTO. * bfd-in2.h: Regenerate. include/ * elf/arc-reloc.def: Adjust all uses of HOWTO. --- bfd/aout-ns32k.c | 36 ++-- bfd/aoutx.h | 82 ++++---- bfd/bfd-in2.h | 4 +- bfd/coff-alpha.c | 34 ++-- bfd/coff-arm.c | 44 ++--- bfd/coff-i386.c | 20 +- bfd/coff-mcore.c | 16 +- bfd/coff-mips.c | 18 +- bfd/coff-rs6000.c | 66 +++---- bfd/coff-sh.c | 34 ++-- bfd/coff-tic30.c | 10 +- bfd/coff-tic4x.c | 28 +-- bfd/coff-tic54x.c | 28 +-- bfd/coff-x86_64.c | 36 ++-- bfd/coff-z80.c | 26 +-- bfd/coff-z8k.c | 16 +- bfd/coff64-rs6000.c | 70 +++---- bfd/elf-hppa.h | 492 +++++++++++++++++++++++----------------------- bfd/elf-m10200.c | 16 +- bfd/elf-m10300.c | 70 +++---- bfd/elf32-arc.c | 4 +- bfd/elf32-arm.c | 262 ++++++++++++------------ bfd/elf32-avr.c | 74 +++---- bfd/elf32-bfin.c | 76 +++---- bfd/elf32-cr16.c | 64 +++--- bfd/elf32-cris.c | 44 ++--- bfd/elf32-crx.c | 42 ++-- bfd/elf32-csky.c | 130 ++++++------ bfd/elf32-d10v.c | 18 +- bfd/elf32-d30v.c | 26 +-- bfd/elf32-dlx.c | 20 +- bfd/elf32-epiphany.c | 30 +-- bfd/elf32-fr30.c | 26 +-- bfd/elf32-frv.c | 96 ++++----- bfd/elf32-ft32.c | 27 ++- bfd/elf32-gen.c | 2 +- bfd/elf32-h8300.c | 24 +-- bfd/elf32-i386.c | 70 +++---- bfd/elf32-ip2k.c | 30 +-- bfd/elf32-iq2000.c | 26 +-- bfd/elf32-lm32.c | 36 ++-- bfd/elf32-m32c.c | 26 +-- bfd/elf32-m32r.c | 86 ++++---- bfd/elf32-m68hc11.c | 32 +-- bfd/elf32-m68hc12.c | 42 ++-- bfd/elf32-m68k.c | 86 ++++---- bfd/elf32-mcore.c | 20 +- bfd/elf32-mep.c | 44 ++--- bfd/elf32-metag.c | 76 +++---- bfd/elf32-microblaze.c | 64 +++--- bfd/elf32-mips.c | 198 +++++++++---------- bfd/elf32-moxie.c | 6 +- bfd/elf32-msp430.c | 72 +++---- bfd/elf32-mt.c | 14 +- bfd/elf32-nds32.c | 362 +++++++++++++++++++--------------- bfd/elf32-nios2.c | 210 ++++++++++---------- bfd/elf32-or1k.c | 112 +++++------ bfd/elf32-pj.c | 18 +- bfd/elf32-ppc.c | 214 ++++++++++---------- bfd/elf32-pru.c | 32 +-- bfd/elf32-rl78.c | 112 +++++------ bfd/elf32-rx.c | 150 +++++++------- bfd/elf32-s12z.c | 16 +- bfd/elf32-s390.c | 110 +++++------ bfd/elf32-score.c | 44 ++--- bfd/elf32-score7.c | 40 ++-- bfd/elf32-sh-relocs.h | 122 ++++++------ bfd/elf32-spu.c | 36 ++-- bfd/elf32-tic6x.c | 122 ++++++------ bfd/elf32-tilepro.c | 116 +++++------ bfd/elf32-v850.c | 264 ++++++++++++------------- bfd/elf32-vax.c | 30 +-- bfd/elf32-visium.c | 32 +-- bfd/elf32-wasm32.c | 4 +- bfd/elf32-xc16x.c | 18 +- bfd/elf32-xgate.c | 40 ++-- bfd/elf32-xstormy16.c | 30 +-- bfd/elf32-xtensa.c | 122 ++++++------ bfd/elf32-z80.c | 28 +-- bfd/elf64-alpha.c | 68 +++---- bfd/elf64-bpf.c | 28 +-- bfd/elf64-gen.c | 2 +- bfd/elf64-mips.c | 392 ++++++++++++++++++------------------ bfd/elf64-mmix.c | 74 +++---- bfd/elf64-nfp.c | 147 +++----------- bfd/elf64-ppc.c | 324 +++++++++++++++--------------- bfd/elf64-s390.c | 124 ++++++------ bfd/elf64-x86-64.c | 92 ++++----- bfd/elfn32-mips.c | 392 ++++++++++++++++++------------------ bfd/elfnn-aarch64.c | 230 +++++++++++----------- bfd/elfxx-ia64.c | 192 +++++++++--------- bfd/elfxx-loongarch.c | 76 +++---- bfd/elfxx-mips.c | 2 +- bfd/elfxx-riscv.c | 110 +++++------ bfd/elfxx-sparc.c | 188 +++++++++--------- bfd/elfxx-tilegx.c | 120 +++++------ bfd/mach-o-aarch64.c | 32 +-- bfd/mach-o-arm.c | 34 ++-- bfd/mach-o-i386.c | 22 +-- bfd/mach-o-x86-64.c | 26 +-- bfd/pdp11.c | 6 +- bfd/reloc.c | 8 +- bfd/som.c | 2 +- bfd/vms-alpha.c | 36 ++-- include/elf/arc-reloc.def | 138 ++++++------- 105 files changed, 4127 insertions(+), 4161 deletions(-) diff --git a/bfd/aout-ns32k.c b/bfd/aout-ns32k.c index d980481..1dce764 100644 --- a/bfd/aout-ns32k.c +++ b/bfd/aout-ns32k.c @@ -79,57 +79,57 @@ void bfd_ns32k_arch (void); reloc_howto_type MY (howto_table)[] = { /* ns32k immediate operands. */ - HOWTO (BFD_RELOC_NS32K_IMM_8, 0, 0, 8, false, 0, complain_overflow_signed, + HOWTO (BFD_RELOC_NS32K_IMM_8, 0, 1, 8, false, 0, complain_overflow_signed, _bfd_ns32k_reloc_imm, "NS32K_IMM_8", true, 0x000000ff,0x000000ff, false), - HOWTO (BFD_RELOC_NS32K_IMM_16, 0, 1, 16, false, 0, complain_overflow_signed, + HOWTO (BFD_RELOC_NS32K_IMM_16, 0, 2, 16, false, 0, complain_overflow_signed, _bfd_ns32k_reloc_imm, "NS32K_IMM_16", true, 0x0000ffff,0x0000ffff, false), - HOWTO (BFD_RELOC_NS32K_IMM_32, 0, 2, 32, false, 0, complain_overflow_signed, + HOWTO (BFD_RELOC_NS32K_IMM_32, 0, 4, 32, false, 0, complain_overflow_signed, _bfd_ns32k_reloc_imm, "NS32K_IMM_32", true, 0xffffffff,0xffffffff, false), - HOWTO (BFD_RELOC_NS32K_IMM_8_PCREL, 0, 0, 8, true, 0, complain_overflow_signed, + HOWTO (BFD_RELOC_NS32K_IMM_8_PCREL, 0, 1, 8, true, 0, complain_overflow_signed, _bfd_ns32k_reloc_imm, "PCREL_NS32K_IMM_8", true, 0x000000ff, 0x000000ff, false), - HOWTO (BFD_RELOC_NS32K_IMM_16_PCREL, 0, 1, 16, true, 0, complain_overflow_signed, + HOWTO (BFD_RELOC_NS32K_IMM_16_PCREL, 0, 2, 16, true, 0, complain_overflow_signed, _bfd_ns32k_reloc_imm, "PCREL_NS32K_IMM_16", true, 0x0000ffff,0x0000ffff, false), - HOWTO (BFD_RELOC_NS32K_IMM_32_PCREL, 0, 2, 32, true, 0, complain_overflow_signed, + HOWTO (BFD_RELOC_NS32K_IMM_32_PCREL, 0, 4, 32, true, 0, complain_overflow_signed, _bfd_ns32k_reloc_imm, "PCREL_NS32K_IMM_32", true, 0xffffffff,0xffffffff, false), /* ns32k displacements. */ - HOWTO (BFD_RELOC_NS32K_DISP_8, 0, 0, 7, false, 0, complain_overflow_signed, + HOWTO (BFD_RELOC_NS32K_DISP_8, 0, 1, 7, false, 0, complain_overflow_signed, _bfd_ns32k_reloc_disp, "NS32K_DISP_8", true, 0x000000ff,0x000000ff, false), - HOWTO (BFD_RELOC_NS32K_DISP_16, 0, 1, 14, false, 0, complain_overflow_signed, + HOWTO (BFD_RELOC_NS32K_DISP_16, 0, 2, 14, false, 0, complain_overflow_signed, _bfd_ns32k_reloc_disp, "NS32K_DISP_16", true, 0x0000ffff, 0x0000ffff, false), - HOWTO (BFD_RELOC_NS32K_DISP_32, 0, 2, 30, false, 0, complain_overflow_signed, + HOWTO (BFD_RELOC_NS32K_DISP_32, 0, 4, 30, false, 0, complain_overflow_signed, _bfd_ns32k_reloc_disp, "NS32K_DISP_32", true, 0xffffffff, 0xffffffff, false), - HOWTO (BFD_RELOC_NS32K_DISP_8_PCREL, 0, 0, 7, true, 0, complain_overflow_signed, + HOWTO (BFD_RELOC_NS32K_DISP_8_PCREL, 0, 1, 7, true, 0, complain_overflow_signed, _bfd_ns32k_reloc_disp, "PCREL_NS32K_DISP_8", true, 0x000000ff,0x000000ff, false), - HOWTO (BFD_RELOC_NS32K_DISP_16_PCREL, 0, 1, 14, true, 0, complain_overflow_signed, + HOWTO (BFD_RELOC_NS32K_DISP_16_PCREL, 0, 2, 14, true, 0, complain_overflow_signed, _bfd_ns32k_reloc_disp, "PCREL_NS32K_DISP_16", true, 0x0000ffff,0x0000ffff, false), - HOWTO (BFD_RELOC_NS32K_DISP_32_PCREL, 0, 2, 30, true, 0, complain_overflow_signed, + HOWTO (BFD_RELOC_NS32K_DISP_32_PCREL, 0, 4, 30, true, 0, complain_overflow_signed, _bfd_ns32k_reloc_disp, "PCREL_NS32K_DISP_32", true, 0xffffffff,0xffffffff, false), /* Normal 2's complement. */ - HOWTO (BFD_RELOC_8, 0, 0, 8, false, 0, complain_overflow_bitfield,0, + HOWTO (BFD_RELOC_8, 0, 1, 8, false, 0, complain_overflow_bitfield,0, "8", true, 0x000000ff,0x000000ff, false), - HOWTO (BFD_RELOC_16, 0, 1, 16, false, 0, complain_overflow_bitfield,0, + HOWTO (BFD_RELOC_16, 0, 2, 16, false, 0, complain_overflow_bitfield,0, "16", true, 0x0000ffff,0x0000ffff, false), - HOWTO (BFD_RELOC_32, 0, 2, 32, false, 0, complain_overflow_bitfield,0, + HOWTO (BFD_RELOC_32, 0, 4, 32, false, 0, complain_overflow_bitfield,0, "32", true, 0xffffffff,0xffffffff, false), - HOWTO (BFD_RELOC_8_PCREL, 0, 0, 8, true, 0, complain_overflow_signed, 0, + HOWTO (BFD_RELOC_8_PCREL, 0, 1, 8, true, 0, complain_overflow_signed, 0, "PCREL_8", true, 0x000000ff,0x000000ff, false), - HOWTO (BFD_RELOC_16_PCREL, 0, 1, 16, true, 0, complain_overflow_signed, 0, + HOWTO (BFD_RELOC_16_PCREL, 0, 2, 16, true, 0, complain_overflow_signed, 0, "PCREL_16", true, 0x0000ffff,0x0000ffff, false), - HOWTO (BFD_RELOC_32_PCREL, 0, 2, 32, true, 0, complain_overflow_signed, 0, + HOWTO (BFD_RELOC_32_PCREL, 0, 4, 32, true, 0, complain_overflow_signed, 0, "PCREL_32", true, 0xffffffff,0xffffffff, false), }; diff --git a/bfd/aoutx.h b/bfd/aoutx.h index b828b1b..2bff7a8 100644 --- a/bfd/aoutx.h +++ b/bfd/aoutx.h @@ -190,34 +190,34 @@ DESCRIPTION reloc_howto_type howto_table_ext[] = { /* Type rs size bsz pcrel bitpos ovrf sf name part_inpl readmask setmask pcdone. */ - HOWTO (RELOC_8, 0, 0, 8, false, 0, complain_overflow_bitfield, 0, "8", false, 0, 0x000000ff, false), - HOWTO (RELOC_16, 0, 1, 16, false, 0, complain_overflow_bitfield, 0, "16", false, 0, 0x0000ffff, false), - HOWTO (RELOC_32, 0, 2, 32, false, 0, complain_overflow_bitfield, 0, "32", false, 0, 0xffffffff, false), - HOWTO (RELOC_DISP8, 0, 0, 8, true, 0, complain_overflow_signed, 0, "DISP8", false, 0, 0x000000ff, false), - HOWTO (RELOC_DISP16, 0, 1, 16, true, 0, complain_overflow_signed, 0, "DISP16", false, 0, 0x0000ffff, false), - HOWTO (RELOC_DISP32, 0, 2, 32, true, 0, complain_overflow_signed, 0, "DISP32", false, 0, 0xffffffff, false), - HOWTO (RELOC_WDISP30, 2, 2, 30, true, 0, complain_overflow_signed, 0, "WDISP30", false, 0, 0x3fffffff, false), - HOWTO (RELOC_WDISP22, 2, 2, 22, true, 0, complain_overflow_signed, 0, "WDISP22", false, 0, 0x003fffff, false), - HOWTO (RELOC_HI22, 10, 2, 22, false, 0, complain_overflow_bitfield, 0, "HI22", false, 0, 0x003fffff, false), - HOWTO (RELOC_22, 0, 2, 22, false, 0, complain_overflow_bitfield, 0, "22", false, 0, 0x003fffff, false), - HOWTO (RELOC_13, 0, 2, 13, false, 0, complain_overflow_bitfield, 0, "13", false, 0, 0x00001fff, false), - HOWTO (RELOC_LO10, 0, 2, 10, false, 0, complain_overflow_dont, 0, "LO10", false, 0, 0x000003ff, false), - HOWTO (RELOC_SFA_BASE,0, 2, 32, false, 0, complain_overflow_bitfield, 0, "SFA_BASE", false, 0, 0xffffffff, false), - HOWTO (RELOC_SFA_OFF13,0, 2, 32, false, 0, complain_overflow_bitfield, 0, "SFA_OFF13", false, 0, 0xffffffff, false), - HOWTO (RELOC_BASE10, 0, 2, 10, false, 0, complain_overflow_dont, 0, "BASE10", false, 0, 0x000003ff, false), - HOWTO (RELOC_BASE13, 0, 2, 13, false, 0, complain_overflow_signed, 0, "BASE13", false, 0, 0x00001fff, false), - HOWTO (RELOC_BASE22, 10, 2, 22, false, 0, complain_overflow_bitfield, 0, "BASE22", false, 0, 0x003fffff, false), - HOWTO (RELOC_PC10, 0, 2, 10, true, 0, complain_overflow_dont, 0, "PC10", false, 0, 0x000003ff, true), - HOWTO (RELOC_PC22, 10, 2, 22, true, 0, complain_overflow_signed, 0, "PC22", false, 0, 0x003fffff, true), - HOWTO (RELOC_JMP_TBL, 2, 2, 30, true, 0, complain_overflow_signed, 0, "JMP_TBL", false, 0, 0x3fffffff, false), - HOWTO (RELOC_SEGOFF16,0, 2, 0, false, 0, complain_overflow_bitfield, 0, "SEGOFF16", false, 0, 0x00000000, false), - HOWTO (RELOC_GLOB_DAT,0, 2, 0, false, 0, complain_overflow_bitfield, 0, "GLOB_DAT", false, 0, 0x00000000, false), - HOWTO (RELOC_JMP_SLOT,0, 2, 0, false, 0, complain_overflow_bitfield, 0, "JMP_SLOT", false, 0, 0x00000000, false), - HOWTO (RELOC_RELATIVE,0, 2, 0, false, 0, complain_overflow_bitfield, 0, "RELATIVE", false, 0, 0x00000000, false), - HOWTO (0, 0, 3, 0, false, 0, complain_overflow_dont, 0, "R_SPARC_NONE",false, 0, 0x00000000, true), - HOWTO (0, 0, 3, 0, false, 0, complain_overflow_dont, 0, "R_SPARC_NONE",false, 0, 0x00000000, true), + HOWTO (RELOC_8, 0, 1, 8, false, 0, complain_overflow_bitfield, 0, "8", false, 0, 0x000000ff, false), + HOWTO (RELOC_16, 0, 2, 16, false, 0, complain_overflow_bitfield, 0, "16", false, 0, 0x0000ffff, false), + HOWTO (RELOC_32, 0, 4, 32, false, 0, complain_overflow_bitfield, 0, "32", false, 0, 0xffffffff, false), + HOWTO (RELOC_DISP8, 0, 1, 8, true, 0, complain_overflow_signed, 0, "DISP8", false, 0, 0x000000ff, false), + HOWTO (RELOC_DISP16, 0, 2, 16, true, 0, complain_overflow_signed, 0, "DISP16", false, 0, 0x0000ffff, false), + HOWTO (RELOC_DISP32, 0, 4, 32, true, 0, complain_overflow_signed, 0, "DISP32", false, 0, 0xffffffff, false), + HOWTO (RELOC_WDISP30, 2, 4, 30, true, 0, complain_overflow_signed, 0, "WDISP30", false, 0, 0x3fffffff, false), + HOWTO (RELOC_WDISP22, 2, 4, 22, true, 0, complain_overflow_signed, 0, "WDISP22", false, 0, 0x003fffff, false), + HOWTO (RELOC_HI22, 10, 4, 22, false, 0, complain_overflow_bitfield, 0, "HI22", false, 0, 0x003fffff, false), + HOWTO (RELOC_22, 0, 4, 22, false, 0, complain_overflow_bitfield, 0, "22", false, 0, 0x003fffff, false), + HOWTO (RELOC_13, 0, 4, 13, false, 0, complain_overflow_bitfield, 0, "13", false, 0, 0x00001fff, false), + HOWTO (RELOC_LO10, 0, 4, 10, false, 0, complain_overflow_dont, 0, "LO10", false, 0, 0x000003ff, false), + HOWTO (RELOC_SFA_BASE,0, 4, 32, false, 0, complain_overflow_bitfield, 0, "SFA_BASE", false, 0, 0xffffffff, false), + HOWTO (RELOC_SFA_OFF13,0, 4, 32, false, 0, complain_overflow_bitfield, 0, "SFA_OFF13", false, 0, 0xffffffff, false), + HOWTO (RELOC_BASE10, 0, 4, 10, false, 0, complain_overflow_dont, 0, "BASE10", false, 0, 0x000003ff, false), + HOWTO (RELOC_BASE13, 0, 4, 13, false, 0, complain_overflow_signed, 0, "BASE13", false, 0, 0x00001fff, false), + HOWTO (RELOC_BASE22, 10, 4, 22, false, 0, complain_overflow_bitfield, 0, "BASE22", false, 0, 0x003fffff, false), + HOWTO (RELOC_PC10, 0, 4, 10, true, 0, complain_overflow_dont, 0, "PC10", false, 0, 0x000003ff, true), + HOWTO (RELOC_PC22, 10, 4, 22, true, 0, complain_overflow_signed, 0, "PC22", false, 0, 0x003fffff, true), + HOWTO (RELOC_JMP_TBL, 2, 4, 30, true, 0, complain_overflow_signed, 0, "JMP_TBL", false, 0, 0x3fffffff, false), + HOWTO (RELOC_SEGOFF16,0, 4, 0, false, 0, complain_overflow_bitfield, 0, "SEGOFF16", false, 0, 0x00000000, false), + HOWTO (RELOC_GLOB_DAT,0, 4, 0, false, 0, complain_overflow_bitfield, 0, "GLOB_DAT", false, 0, 0x00000000, false), + HOWTO (RELOC_JMP_SLOT,0, 4, 0, false, 0, complain_overflow_bitfield, 0, "JMP_SLOT", false, 0, 0x00000000, false), + HOWTO (RELOC_RELATIVE,0, 4, 0, false, 0, complain_overflow_bitfield, 0, "RELATIVE", false, 0, 0x00000000, false), + HOWTO (0, 0, 0, 0, false, 0, complain_overflow_dont, 0, "R_SPARC_NONE",false, 0, 0x00000000, true), + HOWTO (0, 0, 0, 0, false, 0, complain_overflow_dont, 0, "R_SPARC_NONE",false, 0, 0x00000000, true), #define RELOC_SPARC_REV32 RELOC_WDISP19 - HOWTO (RELOC_SPARC_REV32, 0, 2, 32, false, 0, complain_overflow_dont, 0,"R_SPARC_REV32",false, 0, 0xffffffff, false), + HOWTO (RELOC_SPARC_REV32, 0, 4, 32, false, 0, complain_overflow_dont, 0,"R_SPARC_REV32",false, 0, 0xffffffff, false), }; /* Convert standard reloc records to "arelent" format (incl byte swap). */ @@ -225,23 +225,23 @@ reloc_howto_type howto_table_ext[] = reloc_howto_type howto_table_std[] = { /* type rs size bsz pcrel bitpos ovrf sf name part_inpl readmask setmask pcdone. */ -HOWTO ( 0, 0, 0, 8, false, 0, complain_overflow_bitfield,0,"8", true, 0x000000ff,0x000000ff, false), -HOWTO ( 1, 0, 1, 16, false, 0, complain_overflow_bitfield,0,"16", true, 0x0000ffff,0x0000ffff, false), -HOWTO ( 2, 0, 2, 32, false, 0, complain_overflow_bitfield,0,"32", true, 0xffffffff,0xffffffff, false), -HOWTO ( 3, 0, 4, 64, false, 0, complain_overflow_bitfield,0,"64", true, 0xdeaddead,0xdeaddead, false), -HOWTO ( 4, 0, 0, 8, true, 0, complain_overflow_signed, 0,"DISP8", true, 0x000000ff,0x000000ff, false), -HOWTO ( 5, 0, 1, 16, true, 0, complain_overflow_signed, 0,"DISP16", true, 0x0000ffff,0x0000ffff, false), -HOWTO ( 6, 0, 2, 32, true, 0, complain_overflow_signed, 0,"DISP32", true, 0xffffffff,0xffffffff, false), -HOWTO ( 7, 0, 4, 64, true, 0, complain_overflow_signed, 0,"DISP64", true, 0xfeedface,0xfeedface, false), -HOWTO ( 8, 0, 2, 0, false, 0, complain_overflow_bitfield,0,"GOT_REL", false, 0,0x00000000, false), -HOWTO ( 9, 0, 1, 16, false, 0, complain_overflow_bitfield,0,"BASE16", false,0xffffffff,0xffffffff, false), -HOWTO (10, 0, 2, 32, false, 0, complain_overflow_bitfield,0,"BASE32", false,0xffffffff,0xffffffff, false), +HOWTO ( 0, 0, 1, 8, false, 0, complain_overflow_bitfield,0,"8", true, 0x000000ff,0x000000ff, false), +HOWTO ( 1, 0, 2, 16, false, 0, complain_overflow_bitfield,0,"16", true, 0x0000ffff,0x0000ffff, false), +HOWTO ( 2, 0, 4, 32, false, 0, complain_overflow_bitfield,0,"32", true, 0xffffffff,0xffffffff, false), +HOWTO ( 3, 0, 8, 64, false, 0, complain_overflow_bitfield,0,"64", true, 0xdeaddead,0xdeaddead, false), +HOWTO ( 4, 0, 1, 8, true, 0, complain_overflow_signed, 0,"DISP8", true, 0x000000ff,0x000000ff, false), +HOWTO ( 5, 0, 2, 16, true, 0, complain_overflow_signed, 0,"DISP16", true, 0x0000ffff,0x0000ffff, false), +HOWTO ( 6, 0, 4, 32, true, 0, complain_overflow_signed, 0,"DISP32", true, 0xffffffff,0xffffffff, false), +HOWTO ( 7, 0, 8, 64, true, 0, complain_overflow_signed, 0,"DISP64", true, 0xfeedface,0xfeedface, false), +HOWTO ( 8, 0, 4, 0, false, 0, complain_overflow_bitfield,0,"GOT_REL", false, 0,0x00000000, false), +HOWTO ( 9, 0, 2, 16, false, 0, complain_overflow_bitfield,0,"BASE16", false,0xffffffff,0xffffffff, false), +HOWTO (10, 0, 4, 32, false, 0, complain_overflow_bitfield,0,"BASE32", false,0xffffffff,0xffffffff, false), EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), - HOWTO (16, 0, 2, 0, false, 0, complain_overflow_bitfield,0,"JMP_TABLE", false, 0,0x00000000, false), + HOWTO (16, 0, 4, 0, false, 0, complain_overflow_bitfield,0,"JMP_TABLE", false, 0,0x00000000, false), EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), @@ -257,7 +257,7 @@ EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), - HOWTO (32, 0, 2, 0, false, 0, complain_overflow_bitfield,0,"RELATIVE", false, 0,0x00000000, false), + HOWTO (32, 0, 4, 0, false, 0, complain_overflow_bitfield,0,"RELATIVE", false, 0,0x00000000, false), EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), @@ -265,7 +265,7 @@ EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), EMPTY_HOWTO (-1), - HOWTO (40, 0, 2, 0, false, 0, complain_overflow_bitfield,0,"BASEREL", false, 0,0x00000000, false), + HOWTO (40, 0, 4, 0, false, 0, complain_overflow_bitfield,0,"BASEREL", false, 0,0x00000000, false), }; #define TABLE_SIZE(TABLE) (sizeof (TABLE) / sizeof (TABLE[0])) diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 02ba970..f18c2fa 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -2135,13 +2135,13 @@ struct reloc_howto_struct const char *name; }; -#define HOWTO_RSIZE(sz) (sz < 0 ? -sz : sz) +#define HOWTO_RSIZE(sz) (sz == 1 || sz == -1 ? 0 : sz == 2 || sz == -2 ? 1 : sz == 4 || sz == -4 ? 2 : sz == 0 ? 3 : sz == 8 || sz == -8 ? 4 : sz == 3 || sz == -3 ? 5 : 0x777) #define HOWTO(type, right, size, bits, pcrel, left, ovf, func, name, \ inplace, src_mask, dst_mask, pcrel_off) \ { (unsigned) type, HOWTO_RSIZE (size), bits, right, left, ovf, \ size < 0, pcrel, inplace, pcrel_off, src_mask, dst_mask, func, name } #define EMPTY_HOWTO(C) \ - HOWTO ((C), 0, 0, 0, false, 0, complain_overflow_dont, NULL, \ + HOWTO ((C), 0, 1, 0, false, 0, complain_overflow_dont, NULL, \ NULL, false, 0, 0, false) unsigned int bfd_get_reloc_size (reloc_howto_type *); diff --git a/bfd/coff-alpha.c b/bfd/coff-alpha.c index 7cf51a5..412a178 100644 --- a/bfd/coff-alpha.c +++ b/bfd/coff-alpha.c @@ -116,7 +116,7 @@ static reloc_howto_type alpha_howto_table[] = of the gp register are loaded. */ HOWTO (ALPHA_R_IGNORE, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -131,7 +131,7 @@ static reloc_howto_type alpha_howto_table[] = /* A 32 bit reference to a symbol. */ HOWTO (ALPHA_R_REFLONG, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -146,7 +146,7 @@ static reloc_howto_type alpha_howto_table[] = /* A 64 bit reference to a symbol. */ HOWTO (ALPHA_R_REFQUAD, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -163,7 +163,7 @@ static reloc_howto_type alpha_howto_table[] = added in. */ HOWTO (ALPHA_R_GPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -180,7 +180,7 @@ static reloc_howto_type alpha_howto_table[] = reloc always seems to be against the .lita section. */ HOWTO (ALPHA_R_LITERAL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -203,7 +203,7 @@ static reloc_howto_type alpha_howto_table[] = relocation. */ HOWTO (ALPHA_R_LITUSE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -228,7 +228,7 @@ static reloc_howto_type alpha_howto_table[] = address. */ HOWTO (ALPHA_R_GPDISP, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -245,7 +245,7 @@ static reloc_howto_type alpha_howto_table[] = relative offset in the instruction. */ HOWTO (ALPHA_R_BRADDR, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -260,7 +260,7 @@ static reloc_howto_type alpha_howto_table[] = /* A hint for a jump to a register. */ HOWTO (ALPHA_R_HINT, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 14, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -275,7 +275,7 @@ static reloc_howto_type alpha_howto_table[] = /* 16 bit PC relative offset. */ HOWTO (ALPHA_R_SREL16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -290,7 +290,7 @@ static reloc_howto_type alpha_howto_table[] = /* 32 bit PC relative offset. */ HOWTO (ALPHA_R_SREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -305,7 +305,7 @@ static reloc_howto_type alpha_howto_table[] = /* A 64 bit PC relative offset. */ HOWTO (ALPHA_R_SREL64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -320,7 +320,7 @@ static reloc_howto_type alpha_howto_table[] = /* Push a value on the reloc evaluation stack. */ HOWTO (ALPHA_R_OP_PUSH, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -336,7 +336,7 @@ static reloc_howto_type alpha_howto_table[] = a bitfield of size r_size starting at bit position r_offset. */ HOWTO (ALPHA_R_OP_STORE, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -352,7 +352,7 @@ static reloc_howto_type alpha_howto_table[] = relocation stack. */ HOWTO (ALPHA_R_OP_PSUB, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -368,7 +368,7 @@ static reloc_howto_type alpha_howto_table[] = given value. */ HOWTO (ALPHA_R_OP_PRSHIFT, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -383,7 +383,7 @@ static reloc_howto_type alpha_howto_table[] = /* Adjust the GP value for a new range in the object file. */ HOWTO (ALPHA_R_GPVALUE, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/coff-arm.c b/bfd/coff-arm.c index 12958e4..f9e117a 100644 --- a/bfd/coff-arm.c +++ b/bfd/coff-arm.c @@ -221,7 +221,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = #ifdef ARM_WINCE HOWTO (ARM_26D, 2, - 2, + 4, 24, true, 0, @@ -234,7 +234,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = PCRELOFFSET), HOWTO (ARM_32, 0, - 2, + 4, 32, false, 0, @@ -247,7 +247,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = PCRELOFFSET), HOWTO (ARM_RVA32, 0, - 2, + 4, 32, false, 0, @@ -260,7 +260,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = PCRELOFFSET), HOWTO (ARM_26, 2, - 2, + 4, 24, true, 0, @@ -273,7 +273,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = PCRELOFFSET), HOWTO (ARM_THUMB12, 1, - 1, + 2, 11, true, 0, @@ -295,7 +295,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = EMPTY_HOWTO (-1), HOWTO (ARM_SECTION, 0, - 1, + 2, 16, false, 0, @@ -308,7 +308,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = PCRELOFFSET), HOWTO (ARM_SECREL, 0, - 2, + 4, 32, false, 0, @@ -322,7 +322,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = #else /* not ARM_WINCE */ HOWTO (ARM_8, 0, - 0, + 1, 8, false, 0, @@ -335,7 +335,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = PCRELOFFSET), HOWTO (ARM_16, 0, - 1, + 2, 16, false, 0, @@ -348,7 +348,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = PCRELOFFSET), HOWTO (ARM_32, 0, - 2, + 4, 32, false, 0, @@ -361,7 +361,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = PCRELOFFSET), HOWTO (ARM_26, 2, - 2, + 4, 24, true, 0, @@ -374,7 +374,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = PCRELOFFSET), HOWTO (ARM_DISP8, 0, - 0, + 1, 8, true, 0, @@ -387,7 +387,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = true), HOWTO (ARM_DISP16, 0, - 1, + 2, 16, true, 0, @@ -400,7 +400,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = true), HOWTO (ARM_DISP32, 0, - 2, + 4, 32, true, 0, @@ -413,7 +413,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = true), HOWTO (ARM_26D, 2, - 2, + 4, 24, false, 0, @@ -428,7 +428,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = EMPTY_HOWTO (-1), HOWTO (ARM_NEG16, 0, - -1, + -2, 16, false, 0, @@ -441,7 +441,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = false), HOWTO (ARM_NEG32, 0, - -2, + -4, 32, false, 0, @@ -454,7 +454,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = false), HOWTO (ARM_RVA32, 0, - 2, + 4, 32, false, 0, @@ -467,7 +467,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = PCRELOFFSET), HOWTO (ARM_THUMB9, 1, - 1, + 2, 8, true, 0, @@ -480,7 +480,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = PCRELOFFSET), HOWTO (ARM_THUMB12, 1, - 1, + 2, 11, true, 0, @@ -493,7 +493,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] = PCRELOFFSET), HOWTO (ARM_THUMB23, 1, - 2, + 4, 22, true, 0, @@ -1241,7 +1241,7 @@ coff_arm_relocate_section (bfd *output_bfd, static reloc_howto_type fake_arm26_reloc = HOWTO (ARM_26, 2, - 2, + 4, 24, true, 0, diff --git a/bfd/coff-i386.c b/bfd/coff-i386.c index 32a4993..9e5dbab 100644 --- a/bfd/coff-i386.c +++ b/bfd/coff-i386.c @@ -211,7 +211,7 @@ static reloc_howto_type howto_table[] = EMPTY_HOWTO (5), HOWTO (R_DIR32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -225,7 +225,7 @@ static reloc_howto_type howto_table[] = /* PE IMAGE_REL_I386_DIR32NB relocation (7). */ HOWTO (R_IMAGEBASE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -242,7 +242,7 @@ static reloc_howto_type howto_table[] = /* 16-bit word section relocation (012). */ HOWTO (R_SECTION, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -256,7 +256,7 @@ static reloc_howto_type howto_table[] = /* 32-bit longword section relative relocation (013). */ HOWTO (R_SECREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -277,7 +277,7 @@ static reloc_howto_type howto_table[] = /* Byte relocation (017). */ HOWTO (R_RELBYTE, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -291,7 +291,7 @@ static reloc_howto_type howto_table[] = /* 16-bit word relocation (020). */ HOWTO (R_RELWORD, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -305,7 +305,7 @@ static reloc_howto_type howto_table[] = /* 32-bit longword relocation (021). */ HOWTO (R_RELLONG, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -319,7 +319,7 @@ static reloc_howto_type howto_table[] = /* Byte PC relative relocation (022). */ HOWTO (R_PCRBYTE, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -333,7 +333,7 @@ static reloc_howto_type howto_table[] = /* 16-bit word PC relative relocation (023). */ HOWTO (R_PCRWORD, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -347,7 +347,7 @@ static reloc_howto_type howto_table[] = /* 32-bit longword PC relative relocation (024). */ HOWTO (R_PCRLONG, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/coff-mcore.c b/bfd/coff-mcore.c index 4c26102..878e68b 100644 --- a/bfd/coff-mcore.c +++ b/bfd/coff-mcore.c @@ -61,7 +61,7 @@ static reloc_howto_type mcore_coff_howto_table[] = /* Unused: */ HOWTO (IMAGE_REL_MCORE_ABSOLUTE,/* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -75,7 +75,7 @@ static reloc_howto_type mcore_coff_howto_table[] = HOWTO (IMAGE_REL_MCORE_ADDR32,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -91,7 +91,7 @@ static reloc_howto_type mcore_coff_howto_table[] = Should not appear in object files. */ HOWTO (IMAGE_REL_MCORE_PCREL_IMM8BY4, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -108,7 +108,7 @@ static reloc_howto_type mcore_coff_howto_table[] = Only useful pieces at the relocated address are the opcode (5 bits) */ HOWTO (IMAGE_REL_MCORE_PCREL_IMM11BY2,/* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 11, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -123,7 +123,7 @@ static reloc_howto_type mcore_coff_howto_table[] = /* 4 bits + 1 zero bit; 'loopt' instruction only; unsupported. */ HOWTO (IMAGE_REL_MCORE_PCREL_IMM4BY2, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 4, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -138,7 +138,7 @@ static reloc_howto_type mcore_coff_howto_table[] = /* 32-bit pc-relative. Eventually this will help support PIC code. */ HOWTO (IMAGE_REL_MCORE_PCREL_32,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -159,7 +159,7 @@ static reloc_howto_type mcore_coff_howto_table[] = is a relocation that we are allowed to safely ignore. */ HOWTO (IMAGE_REL_MCORE_PCREL_JSR_IMM11BY2,/* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 11, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -173,7 +173,7 @@ static reloc_howto_type mcore_coff_howto_table[] = HOWTO (IMAGE_REL_MCORE_RVA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/coff-mips.c b/bfd/coff-mips.c index d4dc1bd..1ef4235 100644 --- a/bfd/coff-mips.c +++ b/bfd/coff-mips.c @@ -84,7 +84,7 @@ static reloc_howto_type mips_howto_table[] = bfd_perform_relocation to do nothing. */ HOWTO (MIPS_R_IGNORE, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -99,7 +99,7 @@ static reloc_howto_type mips_howto_table[] = /* A 16 bit reference to a symbol, normally from a data section. */ HOWTO (MIPS_R_REFHALF, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -114,7 +114,7 @@ static reloc_howto_type mips_howto_table[] = /* A 32 bit reference to a symbol, normally from a data section. */ HOWTO (MIPS_R_REFWORD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -129,7 +129,7 @@ static reloc_howto_type mips_howto_table[] = /* A 26 bit absolute jump address. */ HOWTO (MIPS_R_JMPADDR, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -148,7 +148,7 @@ static reloc_howto_type mips_howto_table[] = mips_refhi_reloc. */ HOWTO (MIPS_R_REFHI, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -163,7 +163,7 @@ static reloc_howto_type mips_howto_table[] = /* The low 16 bits of a symbol value. */ HOWTO (MIPS_R_REFLO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -179,7 +179,7 @@ static reloc_howto_type mips_howto_table[] = function mips_gprel_reloc. */ HOWTO (MIPS_R_GPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -195,7 +195,7 @@ static reloc_howto_type mips_howto_table[] = Handled by the function mips_gprel_reloc. */ HOWTO (MIPS_R_LITERAL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -217,7 +217,7 @@ static reloc_howto_type mips_howto_table[] = be removed. (It used to be used for embedded-PIC support.) */ HOWTO (MIPS_R_PCREL16, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c index 48ce5c0..f39a85a 100644 --- a/bfd/coff-rs6000.c +++ b/bfd/coff-rs6000.c @@ -650,7 +650,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x00: Standard 32 bit relocation. */ HOWTO (R_POS, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -665,7 +665,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x01: 32 bit relocation, but store negative value. */ HOWTO (R_NEG, /* type */ 0, /* rightshift */ - -2, /* size (0 = byte, 1 = short, 2 = long) */ + -4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -680,7 +680,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x02: 32 bit PC relative relocation. */ HOWTO (R_REL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -695,7 +695,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x03: 16 bit TOC relative relocation. */ HOWTO (R_TOC, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -710,7 +710,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x04: Same as R_TOC */ HOWTO (R_TRL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -725,7 +725,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x05: External TOC relative symbol. */ HOWTO (R_GL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -740,7 +740,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x06: Local TOC relative symbol. */ HOWTO (R_TCL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -757,7 +757,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x08: Same as R_RBA. */ HOWTO (R_BA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -774,7 +774,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x0a: Same as R_RBR. */ HOWTO (R_BR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -791,7 +791,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x0c: Same as R_POS. */ HOWTO (R_RL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -806,7 +806,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x0d: Same as R_POS. */ HOWTO (R_RLA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -823,7 +823,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x0f: Non-relocating reference. Bitsize is 1 so that r_rsize is 0. */ HOWTO (R_REF, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 1, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -842,7 +842,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x13: Same as R_TOC. */ HOWTO (R_TRLA, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -857,7 +857,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x14: Modifiable relative branch. */ HOWTO (R_RRTBI, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -872,7 +872,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x15: Modifiable absolute branch. */ HOWTO (R_RRTBA, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -887,7 +887,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x16: Modifiable call absolute indirect. */ HOWTO (R_CAI, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -902,7 +902,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x17: Modifiable call relative. */ HOWTO (R_CREL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -917,7 +917,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x18: Modifiable branch absolute. */ HOWTO (R_RBA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -932,7 +932,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x19: Modifiable branch absolute. */ HOWTO (R_RBAC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -947,7 +947,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x1a: Modifiable branch relative. */ HOWTO (R_RBR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -962,7 +962,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x1b: Modifiable branch absolute. */ HOWTO (R_RBRC, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -977,7 +977,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x1c: 16 bit Non modifiable absolute branch. */ HOWTO (R_BA, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -992,7 +992,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x1d: Modifiable branch relative. */ HOWTO (R_RBR, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1007,7 +1007,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x1e: Modifiable branch relative. */ HOWTO (R_RBA, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1024,7 +1024,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x20: General-dynamic TLS relocation. */ HOWTO (R_TLS, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1039,7 +1039,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x21: Initial-exec TLS relocation. */ HOWTO (R_TLS_IE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1054,7 +1054,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x22: Local-dynamic TLS relocation. */ HOWTO (R_TLS_LD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1069,7 +1069,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x23: Local-exec TLS relocation. */ HOWTO (R_TLS_LE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1084,7 +1084,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x24: TLS relocation. */ HOWTO (R_TLSM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1100,7 +1100,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x25: TLS module relocation. */ HOWTO (R_TLSML, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1126,7 +1126,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x30: High-order 16 bit TOC relative relocation. */ HOWTO (R_TOCU, /* type */ 16, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1141,7 +1141,7 @@ reloc_howto_type xcoff_howto_table[] = /* 0x31: Low-order 16 bit TOC relative relocation. */ HOWTO (R_TOCL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -4296,7 +4296,7 @@ xcoff_generate_rtinit (bfd *abfd, const char *init, const char *fini, static reloc_howto_type xcoff_dynamic_reloc = HOWTO (0, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/coff-sh.c b/bfd/coff-sh.c index 60e32b0..c5b69a8 100644 --- a/bfd/coff-sh.c +++ b/bfd/coff-sh.c @@ -103,7 +103,7 @@ static reloc_howto_type sh_coff_howtos[] = /* Windows CE */ HOWTO (R_SH_IMM32CE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -127,7 +127,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_PCDISP8BY2, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -143,7 +143,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_PCDISP, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 12, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -159,7 +159,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_IMM32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -175,7 +175,7 @@ static reloc_howto_type sh_coff_howtos[] = #ifdef COFF_WITH_PE HOWTO (R_SH_IMAGEBASE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -197,7 +197,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_PCRELIMM8BY2, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -211,7 +211,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_PCRELIMM8BY4, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -225,7 +225,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_IMM16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -239,7 +239,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_SWITCH16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -253,7 +253,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_SWITCH32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -267,7 +267,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_USES, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -281,7 +281,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_COUNT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -295,7 +295,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_ALIGN, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -309,7 +309,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_CODE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -323,7 +323,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_DATA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -337,7 +337,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_LABEL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -351,7 +351,7 @@ static reloc_howto_type sh_coff_howtos[] = HOWTO (R_SH_SWITCH8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/coff-tic30.c b/bfd/coff-tic30.c index 5e52c59..874fd79 100644 --- a/bfd/coff-tic30.c +++ b/bfd/coff-tic30.c @@ -31,15 +31,15 @@ reloc_howto_type tic30_coff_howto_table[] = { - HOWTO (R_TIC30_ABS16, 2, 1, 16, false, 0, 0, NULL, + HOWTO (R_TIC30_ABS16, 2, 2, 16, false, 0, 0, NULL, "16", false, 0x0000FFFF, 0x0000FFFF, false), - HOWTO (R_TIC30_ABS24, 2, 2, 24, false, 8, complain_overflow_bitfield, NULL, + HOWTO (R_TIC30_ABS24, 2, 4, 24, false, 8, complain_overflow_bitfield, NULL, "24", false, 0xFFFFFF00, 0xFFFFFF00, false), - HOWTO (R_TIC30_LDP, 18, 0, 24, false, 0, complain_overflow_bitfield, NULL, + HOWTO (R_TIC30_LDP, 18, 1, 24, false, 0, complain_overflow_bitfield, NULL, "LDP", false, 0x00FF0000, 0x000000FF, false), - HOWTO (R_TIC30_ABS32, 2, 2, 32, false, 0, complain_overflow_bitfield, NULL, + HOWTO (R_TIC30_ABS32, 2, 4, 32, false, 0, complain_overflow_bitfield, NULL, "32", false, 0xFFFFFFFF, 0xFFFFFFFF, false), - HOWTO (R_TIC30_PC16, 2, 1, 16, true, 0, complain_overflow_signed, NULL, + HOWTO (R_TIC30_PC16, 2, 2, 16, true, 0, complain_overflow_signed, NULL, "PCREL", false, 0x0000FFFF, 0x0000FFFF, false), EMPTY_HOWTO (-1) }; diff --git a/bfd/coff-tic4x.c b/bfd/coff-tic4x.c index e063f29..02013e1 100644 --- a/bfd/coff-tic4x.c +++ b/bfd/coff-tic4x.c @@ -92,20 +92,20 @@ tic4x_relocation (bfd *abfd ATTRIBUTE_UNUSED, reloc_howto_type tic4x_howto_table[] = { - HOWTO(R_RELWORD, 0, 2, 16, false, 0, complain_overflow_signed, tic4x_relocation, "RELWORD", true, 0x0000ffff, 0x0000ffff, false), - HOWTO(R_REL24, 0, 2, 24, false, 0, complain_overflow_bitfield, tic4x_relocation, "REL24", true, 0x00ffffff, 0x00ffffff, false), - HOWTO(R_RELLONG, 0, 2, 32, false, 0, complain_overflow_dont, tic4x_relocation, "RELLONG", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_PCRWORD, 0, 2, 16, true, 0, complain_overflow_signed, tic4x_relocation, "PCRWORD", true, 0x0000ffff, 0x0000ffff, false), - HOWTO(R_PCR24, 0, 2, 24, true, 0, complain_overflow_signed, tic4x_relocation, "PCR24", true, 0x00ffffff, 0x00ffffff, false), - HOWTO(R_PARTLS16, 0, 2, 16, false, 0, complain_overflow_dont, tic4x_relocation, "PARTLS16", true, 0x0000ffff, 0x0000ffff, false), - HOWTO(R_PARTMS8, 16, 2, 16, false, 0, complain_overflow_dont, tic4x_relocation, "PARTMS8", true, 0x0000ffff, 0x0000ffff, false), - HOWTO(R_RELWORD, 0, 2, 16, false, 0, complain_overflow_signed, tic4x_relocation, "ARELWORD", true, 0x0000ffff, 0x0000ffff, false), - HOWTO(R_REL24, 0, 2, 24, false, 0, complain_overflow_signed, tic4x_relocation, "AREL24", true, 0x00ffffff, 0x00ffffff, false), - HOWTO(R_RELLONG, 0, 2, 32, false, 0, complain_overflow_signed, tic4x_relocation, "ARELLONG", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_PCRWORD, 0, 2, 16, true, 0, complain_overflow_signed, tic4x_relocation, "APCRWORD", true, 0x0000ffff, 0x0000ffff, false), - HOWTO(R_PCR24, 0, 2, 24, true, 0, complain_overflow_signed, tic4x_relocation, "APCR24", true, 0x00ffffff, 0x00ffffff, false), - HOWTO(R_PARTLS16, 0, 2, 16, false, 0, complain_overflow_dont, tic4x_relocation, "APARTLS16", true, 0x0000ffff, 0x0000ffff, false), - HOWTO(R_PARTMS8, 16, 2, 16, false, 0, complain_overflow_dont, tic4x_relocation, "APARTMS8", true, 0x0000ffff, 0x0000ffff, false), + HOWTO(R_RELWORD, 0, 4, 16, false, 0, complain_overflow_signed, tic4x_relocation, "RELWORD", true, 0x0000ffff, 0x0000ffff, false), + HOWTO(R_REL24, 0, 4, 24, false, 0, complain_overflow_bitfield, tic4x_relocation, "REL24", true, 0x00ffffff, 0x00ffffff, false), + HOWTO(R_RELLONG, 0, 4, 32, false, 0, complain_overflow_dont, tic4x_relocation, "RELLONG", true, 0xffffffff, 0xffffffff, false), + HOWTO(R_PCRWORD, 0, 4, 16, true, 0, complain_overflow_signed, tic4x_relocation, "PCRWORD", true, 0x0000ffff, 0x0000ffff, false), + HOWTO(R_PCR24, 0, 4, 24, true, 0, complain_overflow_signed, tic4x_relocation, "PCR24", true, 0x00ffffff, 0x00ffffff, false), + HOWTO(R_PARTLS16, 0, 4, 16, false, 0, complain_overflow_dont, tic4x_relocation, "PARTLS16", true, 0x0000ffff, 0x0000ffff, false), + HOWTO(R_PARTMS8, 16, 4, 16, false, 0, complain_overflow_dont, tic4x_relocation, "PARTMS8", true, 0x0000ffff, 0x0000ffff, false), + HOWTO(R_RELWORD, 0, 4, 16, false, 0, complain_overflow_signed, tic4x_relocation, "ARELWORD", true, 0x0000ffff, 0x0000ffff, false), + HOWTO(R_REL24, 0, 4, 24, false, 0, complain_overflow_signed, tic4x_relocation, "AREL24", true, 0x00ffffff, 0x00ffffff, false), + HOWTO(R_RELLONG, 0, 4, 32, false, 0, complain_overflow_signed, tic4x_relocation, "ARELLONG", true, 0xffffffff, 0xffffffff, false), + HOWTO(R_PCRWORD, 0, 4, 16, true, 0, complain_overflow_signed, tic4x_relocation, "APCRWORD", true, 0x0000ffff, 0x0000ffff, false), + HOWTO(R_PCR24, 0, 4, 24, true, 0, complain_overflow_signed, tic4x_relocation, "APCR24", true, 0x00ffffff, 0x00ffffff, false), + HOWTO(R_PARTLS16, 0, 4, 16, false, 0, complain_overflow_dont, tic4x_relocation, "APARTLS16", true, 0x0000ffff, 0x0000ffff, false), + HOWTO(R_PARTMS8, 16, 4, 16, false, 0, complain_overflow_dont, tic4x_relocation, "APARTMS8", true, 0x0000ffff, 0x0000ffff, false), }; #define HOWTO_SIZE (sizeof(tic4x_howto_table) / sizeof(tic4x_howto_table[0])) diff --git a/bfd/coff-tic54x.c b/bfd/coff-tic54x.c index 223a081..8b49358 100644 --- a/bfd/coff-tic54x.c +++ b/bfd/coff-tic54x.c @@ -148,64 +148,64 @@ tic54x_relocation (bfd *abfd ATTRIBUTE_UNUSED, reloc_howto_type tic54x_howto_table[] = { - /* type,rightshift,size (0=byte, 1=short, 2=long), + /* type,rightshift,size, bit size, pc_relative, bitpos, dont complain_on_overflow, special_function, name, partial_inplace, src_mask, dst_mask, pcrel_offset. */ /* NORMAL BANK */ /* 16-bit direct reference to symbol's address. */ - HOWTO (R_RELWORD,0,1,16,false,0,complain_overflow_dont, + HOWTO (R_RELWORD,0,2,16,false,0,complain_overflow_dont, tic54x_relocation,"REL16",false,0xFFFF,0xFFFF,false), /* 7 LSBs of an address */ - HOWTO (R_PARTLS7,0,1,7,false,0,complain_overflow_dont, + HOWTO (R_PARTLS7,0,2,7,false,0,complain_overflow_dont, tic54x_relocation,"LS7",false,0x007F,0x007F,false), /* 9 MSBs of an address */ /* TI assembler doesn't shift its encoding, and is thus incompatible */ - HOWTO (R_PARTMS9,7,1,9,false,0,complain_overflow_dont, + HOWTO (R_PARTMS9,7,2,9,false,0,complain_overflow_dont, tic54x_relocation,"MS9",false,0x01FF,0x01FF,false), /* 23-bit relocation */ - HOWTO (R_EXTWORD,0,2,23,false,0,complain_overflow_dont, + HOWTO (R_EXTWORD,0,4,23,false,0,complain_overflow_dont, tic54x_relocation,"RELEXT",false,0x7FFFFF,0x7FFFFF,false), /* 16 bits of 23-bit extended address */ - HOWTO (R_EXTWORD16,0,1,16,false,0,complain_overflow_dont, + HOWTO (R_EXTWORD16,0,2,16,false,0,complain_overflow_dont, tic54x_relocation,"RELEXT16",false,0x7FFFFF,0x7FFFFF,false), /* upper 7 bits of 23-bit extended address */ - HOWTO (R_EXTWORDMS7,16,1,7,false,0,complain_overflow_dont, + HOWTO (R_EXTWORDMS7,16,2,7,false,0,complain_overflow_dont, tic54x_relocation,"RELEXTMS7",false,0x7F,0x7F,false), /* ABSOLUTE BANK */ /* 16-bit direct reference to symbol's address, absolute */ - HOWTO (R_RELWORD,0,1,16,false,0,complain_overflow_dont, + HOWTO (R_RELWORD,0,2,16,false,0,complain_overflow_dont, tic54x_relocation,"AREL16",false,0xFFFF,0xFFFF,false), /* 7 LSBs of an address, absolute */ - HOWTO (R_PARTLS7,0,1,7,false,0,complain_overflow_dont, + HOWTO (R_PARTLS7,0,2,7,false,0,complain_overflow_dont, tic54x_relocation,"ALS7",false,0x007F,0x007F,false), /* 9 MSBs of an address, absolute */ /* TI assembler doesn't shift its encoding, and is thus incompatible */ - HOWTO (R_PARTMS9,7,1,9,false,0,complain_overflow_dont, + HOWTO (R_PARTMS9,7,2,9,false,0,complain_overflow_dont, tic54x_relocation,"AMS9",false,0x01FF,0x01FF,false), /* 23-bit direct reference, absolute */ - HOWTO (R_EXTWORD,0,2,23,false,0,complain_overflow_dont, + HOWTO (R_EXTWORD,0,4,23,false,0,complain_overflow_dont, tic54x_relocation,"ARELEXT",false,0x7FFFFF,0x7FFFFF,false), /* 16 bits of 23-bit extended address, absolute */ - HOWTO (R_EXTWORD16,0,1,16,false,0,complain_overflow_dont, + HOWTO (R_EXTWORD16,0,2,16,false,0,complain_overflow_dont, tic54x_relocation,"ARELEXT16",false,0x7FFFFF,0x7FFFFF,false), /* upper 7 bits of 23-bit extended address, absolute */ - HOWTO (R_EXTWORDMS7,16,1,7,false,0,complain_overflow_dont, + HOWTO (R_EXTWORDMS7,16,2,7,false,0,complain_overflow_dont, tic54x_relocation,"ARELEXTMS7",false,0x7F,0x7F,false), /* 32-bit relocation exclusively for stabs */ - HOWTO (R_RELLONG,0,2,32,false,0,complain_overflow_dont, + HOWTO (R_RELLONG,0,4,32,false,0,complain_overflow_dont, tic54x_relocation,"STAB",false,0xFFFFFFFF,0xFFFFFFFF,false), }; diff --git a/bfd/coff-x86_64.c b/bfd/coff-x86_64.c index cf339c9..bc9c3d4 100644 --- a/bfd/coff-x86_64.c +++ b/bfd/coff-x86_64.c @@ -240,7 +240,7 @@ static reloc_howto_type howto_table[] = EMPTY_HOWTO (0), HOWTO (R_AMD64_DIR64, /* type 1*/ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long, 4 = long long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -253,7 +253,7 @@ static reloc_howto_type howto_table[] = true), /* pcrel_offset */ HOWTO (R_AMD64_DIR32, /* type 2 */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -267,7 +267,7 @@ static reloc_howto_type howto_table[] = /* PE IMAGE_REL_AMD64_ADDR32NB relocation (3). */ HOWTO (R_AMD64_IMAGEBASE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -281,7 +281,7 @@ static reloc_howto_type howto_table[] = /* 32-bit longword PC relative relocation (4). */ HOWTO (R_AMD64_PCRLONG, /* type 4 */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -295,7 +295,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_AMD64_PCRLONG_1, /* type 5 */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -308,7 +308,7 @@ static reloc_howto_type howto_table[] = PCRELOFFSET), /* pcrel_offset */ HOWTO (R_AMD64_PCRLONG_2, /* type 6 */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -321,7 +321,7 @@ static reloc_howto_type howto_table[] = PCRELOFFSET), /* pcrel_offset */ HOWTO (R_AMD64_PCRLONG_3, /* type 7 */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -334,7 +334,7 @@ static reloc_howto_type howto_table[] = PCRELOFFSET), /* pcrel_offset */ HOWTO (R_AMD64_PCRLONG_4, /* type 8 */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -347,7 +347,7 @@ static reloc_howto_type howto_table[] = PCRELOFFSET), /* pcrel_offset */ HOWTO (R_AMD64_PCRLONG_5, /* type 9 */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -362,7 +362,7 @@ static reloc_howto_type howto_table[] = /* 16-bit word section relocation (10). */ HOWTO (R_AMD64_SECTION, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -376,7 +376,7 @@ static reloc_howto_type howto_table[] = /* 32-bit longword section relative relocation (11). */ HOWTO (R_AMD64_SECREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -396,7 +396,7 @@ static reloc_howto_type howto_table[] = #ifndef DONT_EXTEND_AMD64 HOWTO (R_AMD64_PCRQUAD, 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -413,7 +413,7 @@ static reloc_howto_type howto_table[] = /* Byte relocation (15). */ HOWTO (R_RELBYTE, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -427,7 +427,7 @@ static reloc_howto_type howto_table[] = /* 16-bit word relocation (16). */ HOWTO (R_RELWORD, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -441,7 +441,7 @@ static reloc_howto_type howto_table[] = /* 32-bit longword relocation (17). */ HOWTO (R_RELLONG, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -455,7 +455,7 @@ static reloc_howto_type howto_table[] = /* Byte PC relative relocation (18). */ HOWTO (R_PCRBYTE, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -469,7 +469,7 @@ static reloc_howto_type howto_table[] = /* 16-bit word PC relative relocation (19). */ HOWTO (R_PCRWORD, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -483,7 +483,7 @@ static reloc_howto_type howto_table[] = /* 32-bit longword PC relative relocation (20). */ HOWTO (R_PCRLONG, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/coff-z80.c b/bfd/coff-z80.c index fd3c84a..ba0f260 100644 --- a/bfd/coff-z80.c +++ b/bfd/coff-z80.c @@ -45,7 +45,7 @@ static bfd_howto_type howto_table[] = BFD_HOWTO (BFD_RELOC_32, R_IMM32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -60,7 +60,7 @@ static bfd_howto_type howto_table[] = BFD_HOWTO (BFD_RELOC_24, R_IMM24, /* type */ 0, /* rightshift */ - 5, /* size (0 = byte, 1 = short, 2 = long) */ + 3, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -75,7 +75,7 @@ static bfd_howto_type howto_table[] = BFD_HOWTO (BFD_RELOC_16, R_IMM16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -90,7 +90,7 @@ static bfd_howto_type howto_table[] = BFD_HOWTO (BFD_RELOC_8, R_IMM8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -105,7 +105,7 @@ static bfd_howto_type howto_table[] = BFD_HOWTO (BFD_RELOC_8_PCREL, R_JR, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -120,7 +120,7 @@ static bfd_howto_type howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_DISP8, R_OFF8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -135,7 +135,7 @@ static bfd_howto_type howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_BYTE0, R_BYTE0, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -150,7 +150,7 @@ static bfd_howto_type howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_BYTE1, R_BYTE1, /* type */ 8, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -165,7 +165,7 @@ static bfd_howto_type howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_BYTE2, R_BYTE2, /* type */ 16, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -180,7 +180,7 @@ static bfd_howto_type howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_BYTE3, R_BYTE3, /* type */ 24, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -195,7 +195,7 @@ static bfd_howto_type howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_WORD0, R_WORD0, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -210,7 +210,7 @@ static bfd_howto_type howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_WORD1, R_WORD1, /* type */ 16, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -225,7 +225,7 @@ static bfd_howto_type howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_16_BE, R_IMM16BE, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/coff-z8k.c b/bfd/coff-z8k.c index 076b798..b9f6f97 100644 --- a/bfd/coff-z8k.c +++ b/bfd/coff-z8k.c @@ -31,39 +31,39 @@ #define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (1) static reloc_howto_type r_imm32 = -HOWTO (R_IMM32, 0, 2, 32, false, 0, +HOWTO (R_IMM32, 0, 4, 32, false, 0, complain_overflow_bitfield, 0, "r_imm32", true, 0xffffffff, 0xffffffff, false); static reloc_howto_type r_imm4l = -HOWTO (R_IMM4L, 0, 0, 4, false, 0, +HOWTO (R_IMM4L, 0, 1, 4, false, 0, complain_overflow_bitfield, 0, "r_imm4l", true, 0xf, 0xf, false); static reloc_howto_type r_da = -HOWTO (R_IMM16, 0, 1, 16, false, 0, +HOWTO (R_IMM16, 0, 2, 16, false, 0, complain_overflow_bitfield, 0, "r_da", true, 0x0000ffff, 0x0000ffff, false); static reloc_howto_type r_imm8 = -HOWTO (R_IMM8, 0, 0, 8, false, 0, +HOWTO (R_IMM8, 0, 1, 8, false, 0, complain_overflow_bitfield, 0, "r_imm8", true, 0x000000ff, 0x000000ff, false); static reloc_howto_type r_rel16 = -HOWTO (R_REL16, 0, 1, 16, false, 0, +HOWTO (R_REL16, 0, 2, 16, false, 0, complain_overflow_bitfield, 0, "r_rel16", true, 0x0000ffff, 0x0000ffff, true); static reloc_howto_type r_jr = -HOWTO (R_JR, 1, 0, 8, true, 0, complain_overflow_signed, 0, +HOWTO (R_JR, 1, 1, 8, true, 0, complain_overflow_signed, 0, "r_jr", true, 0xff, 0xff, true); static reloc_howto_type r_disp7 = -HOWTO (R_DISP7, 0, 0, 7, true, 0, complain_overflow_bitfield, 0, +HOWTO (R_DISP7, 0, 1, 7, true, 0, complain_overflow_bitfield, 0, "r_disp7", true, 0x7f, 0x7f, true); static reloc_howto_type r_callr = -HOWTO (R_CALLR, 1, 1, 12, true, 0, complain_overflow_signed, 0, +HOWTO (R_CALLR, 1, 2, 12, true, 0, complain_overflow_signed, 0, "r_callr", true, 0xfff, 0xfff, true); #define BADMAG(x) Z8KBADMAG(x) diff --git a/bfd/coff64-rs6000.c b/bfd/coff64-rs6000.c index 2f8077a..5df3dc1 100644 --- a/bfd/coff64-rs6000.c +++ b/bfd/coff64-rs6000.c @@ -906,7 +906,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x00: Standard 64 bit relocation. */ HOWTO (R_POS, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -921,7 +921,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x01: 64 bit relocation, but store negative value. */ HOWTO (R_NEG, /* type */ 0, /* rightshift */ - -4, /* size (0 = byte, 1 = short, 2 = long) */ + -8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -936,7 +936,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x02: 64 bit PC relative relocation. */ HOWTO (R_REL, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -951,7 +951,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x03: 16 bit TOC relative relocation. */ HOWTO (R_TOC, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -966,7 +966,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x04: Same as R_TOC. */ HOWTO (R_TRL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -981,7 +981,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x05: External TOC relative symbol. */ HOWTO (R_GL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -996,7 +996,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x06: Local TOC relative symbol. */ HOWTO (R_TCL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1013,7 +1013,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x08: Same as R_RBA. */ HOWTO (R_BA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1030,7 +1030,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x0a: Same as R_RBR. */ HOWTO (R_BR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1047,7 +1047,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x0c: Same as R_POS. */ HOWTO (R_RL, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1062,7 +1062,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x0d: Same as R_POS. */ HOWTO (R_RLA, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1079,7 +1079,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x0f: Non-relocating reference. Bitsize is 1 so that r_rsize is 0. */ HOWTO (R_REF, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 1, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1098,7 +1098,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x13: Same as R_TOC */ HOWTO (R_TRLA, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1113,7 +1113,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x14: Modifiable relative branch. */ HOWTO (R_RRTBI, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1128,7 +1128,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x15: Modifiable absolute branch. */ HOWTO (R_RRTBA, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1143,7 +1143,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x16: Modifiable call absolute indirect. */ HOWTO (R_CAI, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1158,7 +1158,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x17: Modifiable call relative. */ HOWTO (R_CREL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1173,7 +1173,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x18: Modifiable branch absolute. */ HOWTO (R_RBA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1188,7 +1188,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x19: Modifiable branch absolute. */ HOWTO (R_RBAC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1203,7 +1203,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x1a: Modifiable branch relative. */ HOWTO (R_RBR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1218,7 +1218,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x1b: Modifiable branch absolute. */ HOWTO (R_RBRC, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1233,7 +1233,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x1c: Standard 32 bit relocation. */ HOWTO (R_POS, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1248,7 +1248,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x1d: 16 bit Non modifiable absolute branch. */ HOWTO (R_BA, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1263,7 +1263,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x1e: Modifiable branch relative. */ HOWTO (R_RBR, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1278,7 +1278,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x1f: Modifiable branch absolute. */ HOWTO (R_RBA, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1293,7 +1293,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x20: General-dynamic TLS relocation. */ HOWTO (R_TLS, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1308,7 +1308,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x21: Initial-exec TLS relocation. */ HOWTO (R_TLS_IE, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1323,7 +1323,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x22: Local-dynamic TLS relocation. */ HOWTO (R_TLS_LD, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1338,7 +1338,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x23: Local-exec TLS relocation. */ HOWTO (R_TLS_LE, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1353,7 +1353,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x24: TLS relocation. */ HOWTO (R_TLSM, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1368,7 +1368,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x25: TLS module relocation. */ HOWTO (R_TLSML, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1383,7 +1383,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x26: 32 bit relocation, but store negative value. */ HOWTO (R_NEG, /* type */ 0, /* rightshift */ - -2, /* size (0 = byte, 1 = short, 2 = long) */ + -4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1407,7 +1407,7 @@ reloc_howto_type xcoff64_howto_table[] = HOWTO (R_TOCU, /* type */ 16, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1422,7 +1422,7 @@ reloc_howto_type xcoff64_howto_table[] = /* 0x31: Low-order 16 bit TOC relative relocation. */ HOWTO (R_TOCL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2398,7 +2398,7 @@ xcoff64_generate_rtinit (bfd *abfd, const char *init, const char *fini, static reloc_howto_type xcoff64_dynamic_reloc = HOWTO (0, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf-hppa.h b/bfd/elf-hppa.h index b0d44dc..2fed9b7 100644 --- a/bfd/elf-hppa.h +++ b/bfd/elf-hppa.h @@ -53,282 +53,282 @@ static reloc_howto_type elf_hppa_howto_table[ELF_HOWTO_TABLE_SIZE] = /* The values in DIR32 are to placate the check in _bfd_stab_section_find_nearest_line. */ - HOW (R_PARISC_NONE, 3, 0, false, dont, 0), - HOW (R_PARISC_DIR32, 2, 32, false, bitfield, 0xffffffff), - HOW (R_PARISC_DIR21L, 2, 21, false, bitfield, 0), - HOW (R_PARISC_DIR17R, 2, 17, false, bitfield, 0), - HOW (R_PARISC_DIR17F, 2, 17, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_DIR14R, 2, 14, false, bitfield, 0), - HOW (R_PARISC_DIR14F, 2, 14, false, bitfield, 0), + HOW (R_PARISC_NONE, 0, 0, false, dont, 0), + HOW (R_PARISC_DIR32, 4, 32, false, bitfield, 0xffffffff), + HOW (R_PARISC_DIR21L, 4, 21, false, bitfield, 0), + HOW (R_PARISC_DIR17R, 4, 17, false, bitfield, 0), + HOW (R_PARISC_DIR17F, 4, 17, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_DIR14R, 4, 14, false, bitfield, 0), + HOW (R_PARISC_DIR14F, 4, 14, false, bitfield, 0), /* 8 */ - HOW (R_PARISC_PCREL12F, 2, 12, true, bitfield, 0), - HOW (R_PARISC_PCREL32, 2, 32, true, bitfield, 0), - HOW (R_PARISC_PCREL21L, 2, 21, true, bitfield, 0), - HOW (R_PARISC_PCREL17R, 2, 17, true, bitfield, 0), - HOW (R_PARISC_PCREL17F, 2, 17, true, bitfield, 0), - HOW (R_PARISC_PCREL17C, 2, 17, true, bitfield, 0), - HOW (R_PARISC_PCREL14R, 2, 14, true, bitfield, 0), - HOW (R_PARISC_PCREL14F, 2, 14, true, bitfield, 0), + HOW (R_PARISC_PCREL12F, 4, 12, true, bitfield, 0), + HOW (R_PARISC_PCREL32, 4, 32, true, bitfield, 0), + HOW (R_PARISC_PCREL21L, 4, 21, true, bitfield, 0), + HOW (R_PARISC_PCREL17R, 4, 17, true, bitfield, 0), + HOW (R_PARISC_PCREL17F, 4, 17, true, bitfield, 0), + HOW (R_PARISC_PCREL17C, 4, 17, true, bitfield, 0), + HOW (R_PARISC_PCREL14R, 4, 14, true, bitfield, 0), + HOW (R_PARISC_PCREL14F, 4, 14, true, bitfield, 0), /* 16 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_DPREL21L, 2, 21, false, bitfield, 0), - HOW (R_PARISC_DPREL14WR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_DPREL14DR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_DPREL14R, 2, 14, false, bitfield, 0), - HOW (R_PARISC_DPREL14F, 2, 14, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_DPREL21L, 4, 21, false, bitfield, 0), + HOW (R_PARISC_DPREL14WR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_DPREL14DR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_DPREL14R, 4, 14, false, bitfield, 0), + HOW (R_PARISC_DPREL14F, 4, 14, false, bitfield, 0), /* 24 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_DLTREL21L, 2, 21, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_DLTREL14R, 2, 14, false, bitfield, 0), - HOW (R_PARISC_DLTREL14F, 2, 14, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_DLTREL21L, 4, 21, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_DLTREL14R, 4, 14, false, bitfield, 0), + HOW (R_PARISC_DLTREL14F, 4, 14, false, bitfield, 0), /* 32 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_DLTIND21L, 2, 21, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_DLTIND14R, 2, 14, false, bitfield, 0), - HOW (R_PARISC_DLTIND14F, 2, 14, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_DLTIND21L, 4, 21, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_DLTIND14R, 4, 14, false, bitfield, 0), + HOW (R_PARISC_DLTIND14F, 4, 14, false, bitfield, 0), /* 40 */ - HOW (R_PARISC_SETBASE, 0, 0, false, bitfield, 0), - HOW (R_PARISC_SECREL32, 2, 32, false, bitfield, 0xffffffff), - HOW (R_PARISC_BASEREL21L, 2, 21, false, bitfield, 0), - HOW (R_PARISC_BASEREL17R, 2, 17, false, bitfield, 0), - HOW (R_PARISC_BASEREL17F, 2, 17, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_BASEREL14R, 2, 14, false, bitfield, 0), - HOW (R_PARISC_BASEREL14F, 2, 14, false, bitfield, 0), + HOW (R_PARISC_SETBASE, 1, 0, false, bitfield, 0), + HOW (R_PARISC_SECREL32, 4, 32, false, bitfield, 0xffffffff), + HOW (R_PARISC_BASEREL21L, 4, 21, false, bitfield, 0), + HOW (R_PARISC_BASEREL17R, 4, 17, false, bitfield, 0), + HOW (R_PARISC_BASEREL17F, 4, 17, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_BASEREL14R, 4, 14, false, bitfield, 0), + HOW (R_PARISC_BASEREL14F, 4, 14, false, bitfield, 0), /* 48 */ - HOW (R_PARISC_SEGBASE, 0, 0, false, bitfield, 0), - HOW (R_PARISC_SEGREL32, 2, 32, false, bitfield, 0), - HOW (R_PARISC_PLTOFF21L, 2, 21, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_PLTOFF14R, 2, 14, false, bitfield, 0), - HOW (R_PARISC_PLTOFF14F, 2, 14, false, bitfield, 0), + HOW (R_PARISC_SEGBASE, 1, 0, false, bitfield, 0), + HOW (R_PARISC_SEGREL32, 4, 32, false, bitfield, 0), + HOW (R_PARISC_PLTOFF21L, 4, 21, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_PLTOFF14R, 4, 14, false, bitfield, 0), + HOW (R_PARISC_PLTOFF14F, 4, 14, false, bitfield, 0), /* 56 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_LTOFF_FPTR32, 2, 32, false, bitfield, 0), - HOW (R_PARISC_LTOFF_FPTR21L, 2, 21, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_LTOFF_FPTR14R, 2, 14, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_LTOFF_FPTR32, 4, 32, false, bitfield, 0), + HOW (R_PARISC_LTOFF_FPTR21L, 4, 21, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_LTOFF_FPTR14R, 4, 14, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), /* 64 */ - HOW (R_PARISC_FPTR64, 4, 64, false, bitfield, 0), - HOW (R_PARISC_PLABEL32, 2, 32, false, bitfield, 0), - HOW (R_PARISC_PLABEL21L, 2, 21, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_PLABEL14R, 2, 14, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), + HOW (R_PARISC_FPTR64, 8, 64, false, bitfield, 0), + HOW (R_PARISC_PLABEL32, 4, 32, false, bitfield, 0), + HOW (R_PARISC_PLABEL21L, 4, 21, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_PLABEL14R, 4, 14, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), /* 72 */ - HOW (R_PARISC_PCREL64, 4, 64, false, bitfield, 0), - HOW (R_PARISC_PCREL22C, 2, 22, false, bitfield, 0), - HOW (R_PARISC_PCREL22F, 2, 22, false, bitfield, 0), - HOW (R_PARISC_PCREL14WR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_PCREL14DR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_PCREL16F, 2, 16, false, bitfield, 0), - HOW (R_PARISC_PCREL16WF, 2, 16, false, bitfield, 0), - HOW (R_PARISC_PCREL16DF, 2, 16, false, bitfield, 0), + HOW (R_PARISC_PCREL64, 8, 64, false, bitfield, 0), + HOW (R_PARISC_PCREL22C, 4, 22, false, bitfield, 0), + HOW (R_PARISC_PCREL22F, 4, 22, false, bitfield, 0), + HOW (R_PARISC_PCREL14WR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_PCREL14DR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_PCREL16F, 4, 16, false, bitfield, 0), + HOW (R_PARISC_PCREL16WF, 4, 16, false, bitfield, 0), + HOW (R_PARISC_PCREL16DF, 4, 16, false, bitfield, 0), /* 80 */ - HOW (R_PARISC_DIR64, 4, 64, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_DIR14WR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_DIR14DR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_DIR16F, 2, 16, false, bitfield, 0), - HOW (R_PARISC_DIR16WF, 2, 16, false, bitfield, 0), - HOW (R_PARISC_DIR16DF, 2, 16, false, bitfield, 0), + HOW (R_PARISC_DIR64, 8, 64, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_DIR14WR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_DIR14DR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_DIR16F, 4, 16, false, bitfield, 0), + HOW (R_PARISC_DIR16WF, 4, 16, false, bitfield, 0), + HOW (R_PARISC_DIR16DF, 4, 16, false, bitfield, 0), /* 88 */ - HOW (R_PARISC_GPREL64, 4, 64, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_DLTREL14WR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_DLTREL14DR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_GPREL16F, 2, 16, false, bitfield, 0), - HOW (R_PARISC_GPREL16WF, 2, 16, false, bitfield, 0), - HOW (R_PARISC_GPREL16DF, 2, 16, false, bitfield, 0), + HOW (R_PARISC_GPREL64, 8, 64, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_DLTREL14WR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_DLTREL14DR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_GPREL16F, 4, 16, false, bitfield, 0), + HOW (R_PARISC_GPREL16WF, 4, 16, false, bitfield, 0), + HOW (R_PARISC_GPREL16DF, 4, 16, false, bitfield, 0), /* 96 */ - HOW (R_PARISC_LTOFF64, 4, 64, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_DLTIND14WR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_DLTIND14DR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_LTOFF16F, 2, 16, false, bitfield, 0), - HOW (R_PARISC_LTOFF16WF, 2, 16, false, bitfield, 0), - HOW (R_PARISC_LTOFF16DF, 2, 16, false, bitfield, 0), + HOW (R_PARISC_LTOFF64, 8, 64, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_DLTIND14WR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_DLTIND14DR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_LTOFF16F, 4, 16, false, bitfield, 0), + HOW (R_PARISC_LTOFF16WF, 4, 16, false, bitfield, 0), + HOW (R_PARISC_LTOFF16DF, 4, 16, false, bitfield, 0), /* 104 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_BASEREL14WR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_BASEREL14DR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_BASEREL14WR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_BASEREL14DR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), /* 112 */ - HOW (R_PARISC_SEGREL64, 4, 64, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_PLTOFF14WR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_PLTOFF14DR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_PLTOFF16F, 2, 16, false, bitfield, 0), - HOW (R_PARISC_PLTOFF16WF, 2, 16, false, bitfield, 0), - HOW (R_PARISC_PLTOFF16DF, 2, 16, false, bitfield, 0), + HOW (R_PARISC_SEGREL64, 8, 64, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_PLTOFF14WR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_PLTOFF14DR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_PLTOFF16F, 4, 16, false, bitfield, 0), + HOW (R_PARISC_PLTOFF16WF, 4, 16, false, bitfield, 0), + HOW (R_PARISC_PLTOFF16DF, 4, 16, false, bitfield, 0), /* 120 */ - HOW (R_PARISC_LTOFF_FPTR64, 4, 64, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_LTOFF_FPTR14WR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_LTOFF_FPTR14DR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_LTOFF_FPTR16F, 2, 16, false, bitfield, 0), - HOW (R_PARISC_LTOFF_FPTR16WF, 2, 16, false, bitfield, 0), - HOW (R_PARISC_LTOFF_FPTR16DF, 2, 16, false, bitfield, 0), + HOW (R_PARISC_LTOFF_FPTR64, 8, 64, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_LTOFF_FPTR14WR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_LTOFF_FPTR14DR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_LTOFF_FPTR16F, 4, 16, false, bitfield, 0), + HOW (R_PARISC_LTOFF_FPTR16WF, 4, 16, false, bitfield, 0), + HOW (R_PARISC_LTOFF_FPTR16DF, 4, 16, false, bitfield, 0), /* 128 */ - HOW (R_PARISC_COPY, 0, 0, false, bitfield, 0), - HOW (R_PARISC_IPLT, 0, 0, false, bitfield, 0), - HOW (R_PARISC_EPLT, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), + HOW (R_PARISC_COPY, 1, 0, false, bitfield, 0), + HOW (R_PARISC_IPLT, 1, 0, false, bitfield, 0), + HOW (R_PARISC_EPLT, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), /* 136 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), /* 144 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), /* 152 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_TPREL32, 2, 32, false, dont, 0), - HOW (R_PARISC_TPREL21L, 2, 21, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_TPREL14R, 2, 14, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_TPREL32, 4, 32, false, dont, 0), + HOW (R_PARISC_TPREL21L, 4, 21, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_TPREL14R, 4, 14, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), /* 160 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_LTOFF_TP21L, 2, 21, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_LTOFF_TP14R, 2, 14, false, bitfield, 0), - HOW (R_PARISC_LTOFF_TP14F, 2, 14, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_LTOFF_TP21L, 4, 21, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_LTOFF_TP14R, 4, 14, false, bitfield, 0), + HOW (R_PARISC_LTOFF_TP14F, 4, 14, false, bitfield, 0), /* 168 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), /* 176 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), /* 184 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), /* 192 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), /* 200 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), /* 208 */ - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, dont, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, dont, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), /* 216 */ - HOW (R_PARISC_TPREL64, 4, 64, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_TPREL14WR, 2, 14, false, dont, 0), - HOW (R_PARISC_TPREL14DR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_TPREL16F, 2, 16, false, bitfield, 0), - HOW (R_PARISC_TPREL16WF, 2, 16, false, dont, 0), - HOW (R_PARISC_TPREL16DF, 2, 16, false, bitfield, 0), + HOW (R_PARISC_TPREL64, 8, 64, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_TPREL14WR, 4, 14, false, dont, 0), + HOW (R_PARISC_TPREL14DR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_TPREL16F, 4, 16, false, bitfield, 0), + HOW (R_PARISC_TPREL16WF, 4, 16, false, dont, 0), + HOW (R_PARISC_TPREL16DF, 4, 16, false, bitfield, 0), /* 224 */ - HOW (R_PARISC_LTOFF_TP64, 4, 64, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_UNIMPLEMENTED, 0, 0, false, bitfield, 0), - HOW (R_PARISC_LTOFF_TP14WR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_LTOFF_TP14DR, 2, 14, false, bitfield, 0), - HOW (R_PARISC_LTOFF_TP16F, 2, 16, false, dont, 0), - HOW (R_PARISC_LTOFF_TP16WF, 2, 16, false, bitfield, 0), - HOW (R_PARISC_LTOFF_TP16DF, 2, 16, false, bitfield, 0), + HOW (R_PARISC_LTOFF_TP64, 8, 64, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_UNIMPLEMENTED, 1, 0, false, bitfield, 0), + HOW (R_PARISC_LTOFF_TP14WR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_LTOFF_TP14DR, 4, 14, false, bitfield, 0), + HOW (R_PARISC_LTOFF_TP16F, 4, 16, false, dont, 0), + HOW (R_PARISC_LTOFF_TP16WF, 4, 16, false, bitfield, 0), + HOW (R_PARISC_LTOFF_TP16DF, 4, 16, false, bitfield, 0), /* 232 */ - HOW (R_PARISC_GNU_VTENTRY, 0, 0, false, dont, 0), - HOW (R_PARISC_GNU_VTINHERIT, 0, 0, false, dont, 0), - HOW (R_PARISC_TLS_GD21L, 2, 21, false, bitfield, 0), - HOW (R_PARISC_TLS_GD14R, 2, 14, false, bitfield, 0), - HOW (R_PARISC_TLS_GDCALL, 0, 0, false, dont, 0), - HOW (R_PARISC_TLS_LDM21L, 2, 21, false, bitfield, 0), - HOW (R_PARISC_TLS_LDM14R, 2, 14, false, bitfield, 0), - HOW (R_PARISC_TLS_LDMCALL, 0, 0, false, dont, 0), + HOW (R_PARISC_GNU_VTENTRY, 1, 0, false, dont, 0), + HOW (R_PARISC_GNU_VTINHERIT, 1, 0, false, dont, 0), + HOW (R_PARISC_TLS_GD21L, 4, 21, false, bitfield, 0), + HOW (R_PARISC_TLS_GD14R, 4, 14, false, bitfield, 0), + HOW (R_PARISC_TLS_GDCALL, 1, 0, false, dont, 0), + HOW (R_PARISC_TLS_LDM21L, 4, 21, false, bitfield, 0), + HOW (R_PARISC_TLS_LDM14R, 4, 14, false, bitfield, 0), + HOW (R_PARISC_TLS_LDMCALL, 1, 0, false, dont, 0), /* 240 */ - HOW (R_PARISC_TLS_LDO21L, 2, 21, false, bitfield, 0), - HOW (R_PARISC_TLS_LDO14R, 2, 14, false, bitfield, 0), - HOW (R_PARISC_TLS_DTPMOD32, 2, 32, false, bitfield, 0), - HOW (R_PARISC_TLS_DTPMOD64, 4, 64, false, bitfield, 0), - HOW (R_PARISC_TLS_DTPOFF32, 2, 32, false, bitfield, 0), - HOW (R_PARISC_TLS_DTPOFF64, 4, 64, false, bitfield, 0) + HOW (R_PARISC_TLS_LDO21L, 4, 21, false, bitfield, 0), + HOW (R_PARISC_TLS_LDO14R, 4, 14, false, bitfield, 0), + HOW (R_PARISC_TLS_DTPMOD32, 4, 32, false, bitfield, 0), + HOW (R_PARISC_TLS_DTPMOD64, 8, 64, false, bitfield, 0), + HOW (R_PARISC_TLS_DTPOFF32, 4, 32, false, bitfield, 0), + HOW (R_PARISC_TLS_DTPOFF64, 8, 64, false, bitfield, 0) #undef HOW }; diff --git a/bfd/elf-m10200.c b/bfd/elf-m10200.c index bd5368e..cd13ec9 100644 --- a/bfd/elf-m10200.c +++ b/bfd/elf-m10200.c @@ -46,7 +46,7 @@ static reloc_howto_type elf_mn10200_howto_table[] = /* Dummy relocation. Does nothing. */ HOWTO (R_MN10200_NONE, 0, - 3, + 0, 0, false, 0, @@ -60,7 +60,7 @@ static reloc_howto_type elf_mn10200_howto_table[] = /* Standard 32 bit reloc. */ HOWTO (R_MN10200_32, 0, - 2, + 4, 32, false, 0, @@ -74,7 +74,7 @@ static reloc_howto_type elf_mn10200_howto_table[] = /* Standard 16 bit reloc. */ HOWTO (R_MN10200_16, 0, - 1, + 2, 16, false, 0, @@ -88,7 +88,7 @@ static reloc_howto_type elf_mn10200_howto_table[] = /* Standard 8 bit reloc. */ HOWTO (R_MN10200_8, 0, - 0, + 1, 8, false, 0, @@ -102,7 +102,7 @@ static reloc_howto_type elf_mn10200_howto_table[] = /* Standard 24 bit reloc. */ HOWTO (R_MN10200_24, 0, - 2, + 4, 24, false, 0, @@ -116,7 +116,7 @@ static reloc_howto_type elf_mn10200_howto_table[] = /* Simple 8 pc-relative reloc. */ HOWTO (R_MN10200_PCREL8, 0, - 0, + 1, 8, true, 0, @@ -130,7 +130,7 @@ static reloc_howto_type elf_mn10200_howto_table[] = /* Simple 16 pc-relative reloc. */ HOWTO (R_MN10200_PCREL16, 0, - 1, + 2, 16, true, 0, @@ -145,7 +145,7 @@ static reloc_howto_type elf_mn10200_howto_table[] = to get the pc-relative offset correct. */ HOWTO (R_MN10200_PCREL24, 0, - 2, + 4, 24, true, 0, diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c index 8184ce9..6e7c5e8 100644 --- a/bfd/elf-m10300.c +++ b/bfd/elf-m10300.c @@ -143,7 +143,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = /* Dummy relocation. Does nothing. */ HOWTO (R_MN10300_NONE, 0, - 3, + 0, 0, false, 0, @@ -157,7 +157,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = /* Standard 32 bit reloc. */ HOWTO (R_MN10300_32, 0, - 2, + 4, 32, false, 0, @@ -171,7 +171,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = /* Standard 16 bit reloc. */ HOWTO (R_MN10300_16, 0, - 1, + 2, 16, false, 0, @@ -185,7 +185,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = /* Standard 8 bit reloc. */ HOWTO (R_MN10300_8, 0, - 0, + 1, 8, false, 0, @@ -199,7 +199,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = /* Standard 32bit pc-relative reloc. */ HOWTO (R_MN10300_PCREL32, 0, - 2, + 4, 32, true, 0, @@ -213,7 +213,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = /* Standard 16bit pc-relative reloc. */ HOWTO (R_MN10300_PCREL16, 0, - 1, + 2, 16, true, 0, @@ -227,7 +227,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = /* Standard 8 pc-relative reloc. */ HOWTO (R_MN10300_PCREL8, 0, - 0, + 1, 8, true, 0, @@ -242,7 +242,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_MN10300_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -257,7 +257,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = /* GNU extension to record C++ vtable member usage */ HOWTO (R_MN10300_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -272,7 +272,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = /* Standard 24 bit reloc. */ HOWTO (R_MN10300_24, 0, - 2, + 4, 24, false, 0, @@ -285,7 +285,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = false), HOWTO (R_MN10300_GOTPC32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -299,7 +299,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_GOTPC16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -313,7 +313,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_GOTOFF32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -327,7 +327,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_GOTOFF24, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -341,7 +341,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_GOTOFF16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -355,7 +355,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_PLT32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -369,7 +369,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_PLT16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -383,7 +383,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_GOT32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -397,7 +397,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_GOT24, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -411,7 +411,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_GOT16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -425,7 +425,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_COPY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -439,7 +439,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -453,7 +453,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_JMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -467,7 +467,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_RELATIVE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -481,7 +481,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -495,7 +495,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_TLS_LD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -509,7 +509,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_TLS_LDO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -523,7 +523,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_TLS_GOTIE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -537,7 +537,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_TLS_IE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -551,7 +551,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_TLS_LE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -565,7 +565,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_TLS_DTPMOD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -579,7 +579,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_TLS_DTPOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -593,7 +593,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_TLS_TPOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -607,7 +607,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_SYM_DIFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -621,7 +621,7 @@ static reloc_howto_type elf_mn10300_howto_table[] = HOWTO (R_MN10300_ALIGN, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c index d941131..a4eaee6 100644 --- a/bfd/elf32-arc.c +++ b/bfd/elf32-arc.c @@ -249,7 +249,7 @@ static struct reloc_howto_struct elf_arc_howto_table[] = example. HOWTO (R_ARC_NONE, // Type. 0, // Rightshift. - 2, // Size (0 = byte, 1 = short, 2 = long). + 4, // Size. 32, // Bitsize. false, // PC_relative. 0, // Bitpos. @@ -274,7 +274,7 @@ arc_elf_howto_init (void) /* Only 32 bit data relocations should be marked as ME. */ \ if (strstr (#FORMULA, " ME ") != NULL) \ { \ - BFD_ASSERT (SIZE == 2); \ + BFD_ASSERT (SIZE == 4); \ } #include "elf/arc-reloc.def" diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 5b8f5e5..8387e23 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -80,7 +80,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = /* No relocation. */ HOWTO (R_ARM_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -94,7 +94,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_PC24, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -109,7 +109,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = /* 32 bit absolute */ HOWTO (R_ARM_ABS32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -124,7 +124,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = /* standard 32bit pc-relative reloc */ HOWTO (R_ARM_REL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -139,7 +139,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = /* 8 bit absolute - R_ARM_LDR_PC_G0 in AAELF */ HOWTO (R_ARM_LDR_PC_G0, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -154,7 +154,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = /* 16 bit absolute */ HOWTO (R_ARM_ABS16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -169,7 +169,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = /* 12 bit absolute */ HOWTO (R_ARM_ABS12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -183,7 +183,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_ABS5, /* type */ 6, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 5, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -198,7 +198,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = /* 8 bit absolute */ HOWTO (R_ARM_ABS8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -212,7 +212,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_SBREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -226,7 +226,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_CALL, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -240,7 +240,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_PC8, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -254,7 +254,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_BREL_ADJ, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -268,7 +268,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_DESC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -282,7 +282,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_SWI8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -297,7 +297,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = /* BLX instruction for the ARM. */ HOWTO (R_ARM_XPC25, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -312,7 +312,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = /* BLX instruction for the Thumb. */ HOWTO (R_ARM_THM_XPC22, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -328,7 +328,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_DTPMOD32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -342,7 +342,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_DTPOFF32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -356,7 +356,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_TPOFF32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -372,7 +372,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_COPY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -386,7 +386,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -400,7 +400,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_JUMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -414,7 +414,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_RELATIVE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -428,7 +428,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_GOTOFF32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -442,7 +442,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_GOTPC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -456,7 +456,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_GOT32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -470,7 +470,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_PLT32, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -484,7 +484,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_CALL, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -498,7 +498,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_JUMP24, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -512,7 +512,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_JUMP24, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -526,7 +526,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_BASE_ABS, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -540,7 +540,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_PCREL7_0, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -554,7 +554,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_PCREL15_8, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ true, /* pc_relative */ 8, /* bitpos */ @@ -568,7 +568,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_PCREL23_15, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ true, /* pc_relative */ 16, /* bitpos */ @@ -582,7 +582,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDR_SBREL_11_0, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -596,7 +596,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_SBREL_19_12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 8, /* bitsize */ false, /* pc_relative */ 12, /* bitpos */ @@ -610,7 +610,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_SBREL_27_20, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 8, /* bitsize */ false, /* pc_relative */ 20, /* bitpos */ @@ -624,7 +624,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TARGET1, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -638,7 +638,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ROSEGREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -652,7 +652,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_V4BX, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -666,7 +666,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TARGET2, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -680,7 +680,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_PREL31, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 31, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -694,7 +694,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_MOVW_ABS_NC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -708,7 +708,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_MOVT_ABS, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -722,7 +722,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_MOVW_PREL_NC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -736,7 +736,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_MOVT_PREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -750,7 +750,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_MOVW_ABS_NC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -764,7 +764,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_MOVT_ABS, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -778,7 +778,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_MOVW_PREL_NC,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -792,7 +792,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_MOVT_PREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -806,7 +806,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_JUMP19, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -820,7 +820,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_JUMP6, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 6, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -837,7 +837,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = versa. */ HOWTO (R_ARM_THM_ALU_PREL_11_0,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 13, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -851,7 +851,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_PC12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 13, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -865,7 +865,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ABS32_NOI, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -879,7 +879,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_REL32_NOI, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -895,7 +895,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_PC_G0_NC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -909,7 +909,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_PC_G0, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -923,7 +923,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_PC_G1_NC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -937,7 +937,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_PC_G1, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -951,7 +951,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_PC_G2, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -965,7 +965,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDR_PC_G1, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -979,7 +979,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDR_PC_G2, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -993,7 +993,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDRS_PC_G0, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1007,7 +1007,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDRS_PC_G1, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1021,7 +1021,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDRS_PC_G2, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1035,7 +1035,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDC_PC_G0, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1049,7 +1049,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDC_PC_G1, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1063,7 +1063,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDC_PC_G2, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1077,7 +1077,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_SB_G0_NC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1091,7 +1091,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_SB_G0, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1105,7 +1105,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_SB_G1_NC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1119,7 +1119,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_SB_G1, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1133,7 +1133,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_ALU_SB_G2, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1147,7 +1147,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDR_SB_G0, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1161,7 +1161,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDR_SB_G1, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1175,7 +1175,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDR_SB_G2, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1189,7 +1189,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDRS_SB_G0, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1203,7 +1203,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDRS_SB_G1, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1217,7 +1217,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDRS_SB_G2, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1231,7 +1231,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDC_SB_G0, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1245,7 +1245,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDC_SB_G1, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1259,7 +1259,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_LDC_SB_G2, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1275,7 +1275,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_MOVW_BREL_NC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1289,7 +1289,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_MOVT_BREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1303,7 +1303,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_MOVW_BREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1317,7 +1317,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_MOVW_BREL_NC,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1331,7 +1331,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_MOVT_BREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1345,7 +1345,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_MOVW_BREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1359,7 +1359,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_GOTDESC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1373,7 +1373,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_CALL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1387,7 +1387,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_DESCSEQ, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1401,7 +1401,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_TLS_CALL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1415,7 +1415,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_PLT32_ABS, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1429,7 +1429,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_GOT_ABS, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1443,7 +1443,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_GOT_PREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1457,7 +1457,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_GOT_BREL12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1471,7 +1471,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_GOTOFF12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1488,7 +1488,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = /* GNU extension to record C++ vtable member usage */ HOWTO (R_ARM_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1503,7 +1503,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = /* GNU extension to record C++ vtable hierarchy */ HOWTO (R_ARM_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1517,7 +1517,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_JUMP11, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 11, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1531,7 +1531,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_JUMP8, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1546,7 +1546,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = /* TLS relocations */ HOWTO (R_ARM_TLS_GD32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1560,7 +1560,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_LDM32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1574,7 +1574,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_LDO32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1588,7 +1588,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_IE32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1602,7 +1602,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_LE32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1616,7 +1616,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_LDO12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1630,7 +1630,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_LE12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1644,7 +1644,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_TLS_IE12GP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1679,7 +1679,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = HOWTO (R_ARM_THM_TLS_DESCSEQ, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1694,7 +1694,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = EMPTY_HOWTO (131), HOWTO (R_ARM_THM_ALU_ABS_G0_NC,/* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1707,7 +1707,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = false), /* pcrel_offset. */ HOWTO (R_ARM_THM_ALU_ABS_G1_NC,/* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1720,7 +1720,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = false), /* pcrel_offset. */ HOWTO (R_ARM_THM_ALU_ABS_G2_NC,/* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1733,7 +1733,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = false), /* pcrel_offset. */ HOWTO (R_ARM_THM_ALU_ABS_G3_NC,/* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1747,7 +1747,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = /* Relocations for Armv8.1-M Mainline. */ HOWTO (R_ARM_THM_BF16, /* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ @@ -1760,7 +1760,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = true), /* pcrel_offset. */ HOWTO (R_ARM_THM_BF12, /* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 12, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ @@ -1773,7 +1773,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] = true), /* pcrel_offset. */ HOWTO (R_ARM_THM_BF18, /* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 18, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ @@ -1791,7 +1791,7 @@ static reloc_howto_type elf32_arm_howto_table_2[8] = { HOWTO (R_ARM_IRELATIVE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1804,7 +1804,7 @@ static reloc_howto_type elf32_arm_howto_table_2[8] = false), /* pcrel_offset */ HOWTO (R_ARM_GOTFUNCDESC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1817,7 +1817,7 @@ static reloc_howto_type elf32_arm_howto_table_2[8] = false), /* pcrel_offset */ HOWTO (R_ARM_GOTOFFFUNCDESC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1830,7 +1830,7 @@ static reloc_howto_type elf32_arm_howto_table_2[8] = false), /* pcrel_offset */ HOWTO (R_ARM_FUNCDESC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1843,7 +1843,7 @@ static reloc_howto_type elf32_arm_howto_table_2[8] = false), /* pcrel_offset */ HOWTO (R_ARM_FUNCDESC_VALUE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1856,7 +1856,7 @@ static reloc_howto_type elf32_arm_howto_table_2[8] = false), /* pcrel_offset */ HOWTO (R_ARM_TLS_GD32_FDPIC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1869,7 +1869,7 @@ static reloc_howto_type elf32_arm_howto_table_2[8] = false), /* pcrel_offset */ HOWTO (R_ARM_TLS_LDM32_FDPIC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1882,7 +1882,7 @@ static reloc_howto_type elf32_arm_howto_table_2[8] = false), /* pcrel_offset */ HOWTO (R_ARM_TLS_IE32_FDPIC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1900,7 +1900,7 @@ static reloc_howto_type elf32_arm_howto_table_3[4] = { HOWTO (R_ARM_RREL32, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1914,7 +1914,7 @@ static reloc_howto_type elf32_arm_howto_table_3[4] = HOWTO (R_ARM_RABS32, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1928,7 +1928,7 @@ static reloc_howto_type elf32_arm_howto_table_3[4] = HOWTO (R_ARM_RPC24, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1942,7 +1942,7 @@ static reloc_howto_type elf32_arm_howto_table_3[4] = HOWTO (R_ARM_RBASE, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c index a0d6b6d..48591b8 100644 --- a/bfd/elf32-avr.c +++ b/bfd/elf32-avr.c @@ -121,7 +121,7 @@ static reloc_howto_type elf_avr_howto_table[] = { HOWTO (R_AVR_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -135,7 +135,7 @@ static reloc_howto_type elf_avr_howto_table[] = HOWTO (R_AVR_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -150,7 +150,7 @@ static reloc_howto_type elf_avr_howto_table[] = /* A 7 bit PC relative relocation. */ HOWTO (R_AVR_7_PCREL, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ true, /* pc_relative */ 3, /* bitpos */ @@ -165,7 +165,7 @@ static reloc_howto_type elf_avr_howto_table[] = /* A 13 bit PC relative relocation. */ HOWTO (R_AVR_13_PCREL, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 13, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -180,7 +180,7 @@ static reloc_howto_type elf_avr_howto_table[] = /* A 16 bit absolute relocation. */ HOWTO (R_AVR_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -196,7 +196,7 @@ static reloc_howto_type elf_avr_howto_table[] = Will be changed when linker stubs are needed. */ HOWTO (R_AVR_16_PM, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -211,7 +211,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. */ HOWTO (R_AVR_LO8_LDI, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -226,7 +226,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. */ HOWTO (R_AVR_HI8_LDI, /* type */ 8, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -242,7 +242,7 @@ static reloc_howto_type elf_avr_howto_table[] = a 32 bit link-time constant. */ HOWTO (R_AVR_HH8_LDI, /* type */ 16, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -257,7 +257,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. */ HOWTO (R_AVR_LO8_LDI_NEG, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -272,7 +272,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. */ HOWTO (R_AVR_HI8_LDI_NEG, /* type */ 8, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -287,7 +287,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. */ HOWTO (R_AVR_HH8_LDI_NEG, /* type */ 16, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -302,7 +302,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. Will not be changed when linker stubs are needed. */ HOWTO (R_AVR_LO8_LDI_PM, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -317,7 +317,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. Will not be changed when linker stubs are needed. */ HOWTO (R_AVR_HI8_LDI_PM, /* type */ 9, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -332,7 +332,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. Will not be changed when linker stubs are needed. */ HOWTO (R_AVR_HH8_LDI_PM, /* type */ 17, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -347,7 +347,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. Will not be changed when linker stubs are needed. */ HOWTO (R_AVR_LO8_LDI_PM_NEG, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -362,7 +362,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. Will not be changed when linker stubs are needed. */ HOWTO (R_AVR_HI8_LDI_PM_NEG, /* type */ 9, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -377,7 +377,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. Will not be changed when linker stubs are needed. */ HOWTO (R_AVR_HH8_LDI_PM_NEG, /* type */ 17, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -391,7 +391,7 @@ static reloc_howto_type elf_avr_howto_table[] = /* Relocation for CALL command in ATmega. */ HOWTO (R_AVR_CALL, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 23, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -406,7 +406,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. */ HOWTO (R_AVR_LDI, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -421,7 +421,7 @@ static reloc_howto_type elf_avr_howto_table[] = For ldd/sdd command. */ HOWTO (R_AVR_6, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 6, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -436,7 +436,7 @@ static reloc_howto_type elf_avr_howto_table[] = For sbiw/adiw command. */ HOWTO (R_AVR_6_ADIW, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 6, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -450,7 +450,7 @@ static reloc_howto_type elf_avr_howto_table[] = /* Most significant 8 bit value of a 32 bit link-time constant. */ HOWTO (R_AVR_MS8_LDI, /* type */ 24, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -464,7 +464,7 @@ static reloc_howto_type elf_avr_howto_table[] = /* Negative most significant 8 bit value of a 32 bit link-time constant. */ HOWTO (R_AVR_MS8_LDI_NEG, /* type */ 24, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -479,7 +479,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. Will be changed when linker stubs are needed. */ HOWTO (R_AVR_LO8_LDI_GS, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -494,7 +494,7 @@ static reloc_howto_type elf_avr_howto_table[] = For LDI command. Will be changed when linker stubs are needed. */ HOWTO (R_AVR_HI8_LDI_GS, /* type */ 9, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -508,7 +508,7 @@ static reloc_howto_type elf_avr_howto_table[] = /* 8 bit offset. */ HOWTO (R_AVR_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -522,7 +522,7 @@ static reloc_howto_type elf_avr_howto_table[] = /* lo8-part to use in .byte lo8(sym). */ HOWTO (R_AVR_8_LO8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -536,7 +536,7 @@ static reloc_howto_type elf_avr_howto_table[] = /* hi8-part to use in .byte hi8(sym). */ HOWTO (R_AVR_8_HI8, /* type */ 8, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -550,7 +550,7 @@ static reloc_howto_type elf_avr_howto_table[] = /* hlo8-part to use in .byte hlo8(sym). */ HOWTO (R_AVR_8_HLO8, /* type */ 16, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -563,7 +563,7 @@ static reloc_howto_type elf_avr_howto_table[] = false), /* pcrel_offset */ HOWTO (R_AVR_DIFF8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -576,7 +576,7 @@ static reloc_howto_type elf_avr_howto_table[] = false), /* pcrel_offset */ HOWTO (R_AVR_DIFF16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -589,7 +589,7 @@ static reloc_howto_type elf_avr_howto_table[] = false), /* pcrel_offset */ HOWTO (R_AVR_DIFF32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -603,7 +603,7 @@ static reloc_howto_type elf_avr_howto_table[] = /* 7 bit immediate for LDS/STS in Tiny core. */ HOWTO (R_AVR_LDS_STS_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -617,7 +617,7 @@ static reloc_howto_type elf_avr_howto_table[] = HOWTO (R_AVR_PORT6, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 6, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -630,7 +630,7 @@ static reloc_howto_type elf_avr_howto_table[] = false), /* pcrel_offset */ HOWTO (R_AVR_PORT5, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 5, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -645,7 +645,7 @@ static reloc_howto_type elf_avr_howto_table[] = /* A 32 bit PC relative relocation. */ HOWTO (R_AVR_32_PCREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c index 9881213..b41c212 100644 --- a/bfd/elf32-bfin.c +++ b/bfd/elf32-bfin.c @@ -428,7 +428,7 @@ static reloc_howto_type bfin_howto_table [] = /* This reloc does nothing. . */ HOWTO (R_BFIN_UNUSED0, /* type. */ 0, /* rightshift. */ - 3, /* size (0 = byte, 1 = short, 2 = long). */ + 0, /* size. */ 0, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -442,7 +442,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_PCREL5M2, /* type. */ 1, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long).. */ + 2, /* size. */ 4, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ @@ -456,7 +456,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_UNUSED1, /* type. */ 0, /* rightshift. */ - 3, /* size (0 = byte, 1 = short, 2 = long). */ + 0, /* size. */ 0, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -470,7 +470,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_PCREL10, /* type. */ 1, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 10, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ @@ -488,7 +488,7 @@ static reloc_howto_type bfin_howto_table [] = aligned on a word boundary so only 12 bits have to be used. Right shift the rightmost bit.. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 12, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ @@ -502,7 +502,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_RIMM16, /* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -516,7 +516,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_LUIMM16, /* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -530,7 +530,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_HUIMM16, /* type. */ 16, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -544,7 +544,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_PCREL12_JUMP_S, /* type. */ 1, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 12, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ @@ -558,7 +558,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_PCREL24_JUMP_X, /* type. */ 1, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 24, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ @@ -572,7 +572,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_PCREL24, /* type. */ 1, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 24, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ @@ -586,7 +586,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_UNUSEDB, /* type. */ 0, /* rightshift. */ - 3, /* size (0 = byte, 1 = short, 2 = long). */ + 0, /* size. */ 0, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -600,7 +600,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_UNUSEDC, /* type. */ 0, /* rightshift. */ - 3, /* size (0 = byte, 1 = short, 2 = long). */ + 0, /* size. */ 0, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -614,7 +614,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_PCREL24_JUMP_L, /* type. */ 1, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 24, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ @@ -628,7 +628,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_PCREL24_CALL_X, /* type. */ 1, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 24, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ @@ -642,7 +642,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_VAR_EQ_SYMB, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 32, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -656,7 +656,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_BYTE_DATA, /* type. */ 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ + 1, /* size. */ 8, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -670,7 +670,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_BYTE2_DATA, /* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -684,7 +684,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_BYTE4_DATA, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 32, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -698,7 +698,7 @@ static reloc_howto_type bfin_howto_table [] = HOWTO (R_BFIN_PCREL11, /* type. */ 1, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 10, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ @@ -715,7 +715,7 @@ static reloc_howto_type bfin_howto_table [] = the symbol. */ HOWTO (R_BFIN_GOT17M4, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -731,7 +731,7 @@ static reloc_howto_type bfin_howto_table [] = symbol. */ HOWTO (R_BFIN_GOTHI, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -747,7 +747,7 @@ static reloc_howto_type bfin_howto_table [] = symbol. */ HOWTO (R_BFIN_GOTLO, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -762,7 +762,7 @@ static reloc_howto_type bfin_howto_table [] = /* The 32-bit address of the canonical descriptor of a function. */ HOWTO (R_BFIN_FUNCDESC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -778,7 +778,7 @@ static reloc_howto_type bfin_howto_table [] = canonical descriptor of a function. */ HOWTO (R_BFIN_FUNCDESC_GOT17M4, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -794,7 +794,7 @@ static reloc_howto_type bfin_howto_table [] = canonical descriptor of a function. */ HOWTO (R_BFIN_FUNCDESC_GOTHI, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -810,7 +810,7 @@ static reloc_howto_type bfin_howto_table [] = canonical descriptor of a function. */ HOWTO (R_BFIN_FUNCDESC_GOTLO, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -825,7 +825,7 @@ static reloc_howto_type bfin_howto_table [] = /* The 32-bit address of the canonical descriptor of a function. */ HOWTO (R_BFIN_FUNCDESC_VALUE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -841,7 +841,7 @@ static reloc_howto_type bfin_howto_table [] = canonical descriptor of a function. */ HOWTO (R_BFIN_FUNCDESC_GOTOFF17M4, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -857,7 +857,7 @@ static reloc_howto_type bfin_howto_table [] = canonical descriptor of a function. */ HOWTO (R_BFIN_FUNCDESC_GOTOFFHI, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -873,7 +873,7 @@ static reloc_howto_type bfin_howto_table [] = canonical descriptor of a function. */ HOWTO (R_BFIN_FUNCDESC_GOTOFFLO, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -889,7 +889,7 @@ static reloc_howto_type bfin_howto_table [] = the symbol. */ HOWTO (R_BFIN_GOTOFF17M4, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -905,7 +905,7 @@ static reloc_howto_type bfin_howto_table [] = symbol. */ HOWTO (R_BFIN_GOTOFFHI, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -921,7 +921,7 @@ static reloc_howto_type bfin_howto_table [] = symbol. */ HOWTO (R_BFIN_GOTOFFLO, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -938,7 +938,7 @@ static reloc_howto_type bfin_gnuext_howto_table [] = { HOWTO (R_BFIN_PLTPC, /* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -952,7 +952,7 @@ static reloc_howto_type bfin_gnuext_howto_table [] = HOWTO (R_BFIN_GOT, /* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -967,7 +967,7 @@ static reloc_howto_type bfin_gnuext_howto_table [] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_BFIN_GNU_VTINHERIT, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 0, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -982,7 +982,7 @@ static reloc_howto_type bfin_gnuext_howto_table [] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_BFIN_GNU_VTENTRY, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 0, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ diff --git a/bfd/elf32-cr16.c b/bfd/elf32-cr16.c index 9764ae7..88659dd 100644 --- a/bfd/elf32-cr16.c +++ b/bfd/elf32-cr16.c @@ -116,7 +116,7 @@ static reloc_howto_type cr16_elf_howto_table[] = { HOWTO (R_CR16_NONE, /* type */ 0, /* rightshift */ - 3, /* size */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -130,7 +130,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_NUM8, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -144,7 +144,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_NUM16, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -158,7 +158,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_NUM32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -172,7 +172,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_NUM32a, /* type */ 1, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -186,7 +186,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_REGREL4, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 4, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -200,7 +200,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_REGREL4a, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 4, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -214,7 +214,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_REGREL14, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 14, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -228,7 +228,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_REGREL14a, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 14, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -242,7 +242,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_REGREL16, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -256,7 +256,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_REGREL20, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -270,7 +270,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_REGREL20a, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -284,7 +284,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_ABS20, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -298,7 +298,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_ABS24, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -312,7 +312,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_IMM4, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 4, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -326,7 +326,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_IMM8, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -340,7 +340,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_IMM16, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -354,7 +354,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_IMM20, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -368,7 +368,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_IMM24, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -382,7 +382,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_IMM32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -396,7 +396,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_IMM32a, /* type */ 1, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -410,7 +410,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_DISP4, /* type */ 1, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 4, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -424,7 +424,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_DISP8, /* type */ 1, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -438,7 +438,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_DISP16, /* type */ 0, /* rightshift REVIITS: To sync with WinIDEA*/ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -453,7 +453,7 @@ static reloc_howto_type cr16_elf_howto_table[] = but its not done, to sync with WinIDEA and CR16 4.1 tools */ HOWTO (R_CR16_DISP24, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -467,7 +467,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_DISP24a, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -484,7 +484,7 @@ static reloc_howto_type cr16_elf_howto_table[] = between the reloc address and L2. */ HOWTO (R_CR16_SWITCH8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -501,7 +501,7 @@ static reloc_howto_type cr16_elf_howto_table[] = between the reloc address and L2. */ HOWTO (R_CR16_SWITCH16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -518,7 +518,7 @@ static reloc_howto_type cr16_elf_howto_table[] = between the reloc address and L2. */ HOWTO (R_CR16_SWITCH32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -532,7 +532,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_GOT_REGREL20, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -546,7 +546,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_GOTC_REGREL20, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -560,7 +560,7 @@ static reloc_howto_type cr16_elf_howto_table[] = HOWTO (R_CR16_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c index 653d77f..da81024 100644 --- a/bfd/elf32-cris.c +++ b/bfd/elf32-cris.c @@ -40,7 +40,7 @@ static reloc_howto_type cris_elf_howto_table [] = /* This reloc does nothing. */ HOWTO (R_CRIS_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -55,7 +55,7 @@ static reloc_howto_type cris_elf_howto_table [] = /* An 8 bit absolute relocation. */ HOWTO (R_CRIS_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -70,7 +70,7 @@ static reloc_howto_type cris_elf_howto_table [] = /* A 16 bit absolute relocation. */ HOWTO (R_CRIS_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -85,7 +85,7 @@ static reloc_howto_type cris_elf_howto_table [] = /* A 32 bit absolute relocation. */ HOWTO (R_CRIS_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -105,7 +105,7 @@ static reloc_howto_type cris_elf_howto_table [] = /* An 8 bit PC-relative relocation. */ HOWTO (R_CRIS_8_PCREL, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -120,7 +120,7 @@ static reloc_howto_type cris_elf_howto_table [] = /* A 16 bit PC-relative relocation. */ HOWTO (R_CRIS_16_PCREL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -135,7 +135,7 @@ static reloc_howto_type cris_elf_howto_table [] = /* A 32 bit PC-relative relocation. */ HOWTO (R_CRIS_32_PCREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -150,7 +150,7 @@ static reloc_howto_type cris_elf_howto_table [] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_CRIS_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -165,7 +165,7 @@ static reloc_howto_type cris_elf_howto_table [] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_CRIS_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -184,7 +184,7 @@ static reloc_howto_type cris_elf_howto_table [] = run has to have the data at some particular address. */ HOWTO (R_CRIS_COPY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -199,7 +199,7 @@ static reloc_howto_type cris_elf_howto_table [] = /* Like R_CRIS_32, but used when setting global offset table entries. */ HOWTO (R_CRIS_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -214,7 +214,7 @@ static reloc_howto_type cris_elf_howto_table [] = /* Marks a procedure linkage table entry for a symbol. */ HOWTO (R_CRIS_JUMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -231,7 +231,7 @@ static reloc_howto_type cris_elf_howto_table [] = addend. */ HOWTO (R_CRIS_RELATIVE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -246,7 +246,7 @@ static reloc_howto_type cris_elf_howto_table [] = /* Like R_CRIS_32, but referring to the GOT table entry for the symbol. */ HOWTO (R_CRIS_16_GOT, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -260,7 +260,7 @@ static reloc_howto_type cris_elf_howto_table [] = HOWTO (R_CRIS_32_GOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -276,7 +276,7 @@ static reloc_howto_type cris_elf_howto_table [] = the GOT table for the symbol. */ HOWTO (R_CRIS_16_GOTPLT, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -290,7 +290,7 @@ static reloc_howto_type cris_elf_howto_table [] = HOWTO (R_CRIS_32_GOTPLT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -306,7 +306,7 @@ static reloc_howto_type cris_elf_howto_table [] = be necessary. */ HOWTO (R_CRIS_32_GOTREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -322,7 +322,7 @@ static reloc_howto_type cris_elf_howto_table [] = to create PLT entry for symbol. */ HOWTO (R_CRIS_32_PLT_GOTREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -339,7 +339,7 @@ static reloc_howto_type cris_elf_howto_table [] = symbol. */ HOWTO (R_CRIS_32_PLT_PCREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -357,10 +357,10 @@ static reloc_howto_type cris_elf_howto_table [] = tests to actually refuse gracefully to handle these and PIC relocs for cross-format linking. */ #define TLSHOWTO32(name) \ - HOWTO (name, 0, 2, 32, false, 0, complain_overflow_bitfield, \ + HOWTO (name, 0, 4, 32, false, 0, complain_overflow_bitfield, \ bfd_elf_generic_reloc, #name, false, 0, 0xffffffff, false) #define TLSHOWTO16X(name, X) \ - HOWTO (name, 0, 1, 16, false, 0, complain_overflow_ ## X, \ + HOWTO (name, 0, 2, 16, false, 0, complain_overflow_ ## X, \ bfd_elf_generic_reloc, #name, false, 0, 0xffff, false) #define TLSHOWTO16(name) TLSHOWTO16X(name, unsigned) #define TLSHOWTO16S(name) TLSHOWTO16X(name, signed) diff --git a/bfd/elf32-crx.c b/bfd/elf32-crx.c index 8303c8b..b4ec02a 100644 --- a/bfd/elf32-crx.c +++ b/bfd/elf32-crx.c @@ -82,7 +82,7 @@ static reloc_howto_type crx_elf_howto_table[] = { HOWTO (R_CRX_NONE, /* type */ 0, /* rightshift */ - 3, /* size */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -96,7 +96,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_REL4, /* type */ 1, /* rightshift */ - 0, /* size */ + 1, /* size */ 4, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -110,7 +110,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_REL8, /* type */ 1, /* rightshift */ - 0, /* size */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -124,7 +124,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_REL8_CMP, /* type */ 1, /* rightshift */ - 0, /* size */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -138,7 +138,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_REL16, /* type */ 1, /* rightshift */ - 1, /* size */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -152,7 +152,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_REL24, /* type */ 1, /* rightshift */ - 2, /* size */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -166,7 +166,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_REL32, /* type */ 1, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -180,7 +180,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_REGREL12, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -194,7 +194,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_REGREL22, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 22, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -208,7 +208,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_REGREL28, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 28, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -222,7 +222,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_REGREL32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -236,7 +236,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_ABS16, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -250,7 +250,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_ABS32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -264,7 +264,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_NUM8, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -278,7 +278,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_NUM16, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -292,7 +292,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_NUM32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -306,7 +306,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_IMM16, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -320,7 +320,7 @@ static reloc_howto_type crx_elf_howto_table[] = HOWTO (R_CRX_IMM32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -337,7 +337,7 @@ static reloc_howto_type crx_elf_howto_table[] = between the reloc address and L2. */ HOWTO (R_CRX_SWITCH8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -354,7 +354,7 @@ static reloc_howto_type crx_elf_howto_table[] = between the reloc address and L2. */ HOWTO (R_CRX_SWITCH16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -371,7 +371,7 @@ static reloc_howto_type crx_elf_howto_table[] = between the reloc address and L2. */ HOWTO (R_CRX_SWITCH32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-csky.c b/bfd/elf32-csky.c index de6689f..3a6a2ce 100644 --- a/bfd/elf32-csky.c +++ b/bfd/elf32-csky.c @@ -84,7 +84,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 0 */ HOWTO (R_CKCORE_NONE, /* type */ 0, /* rightshift */ - 3, /* size */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -99,7 +99,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 1. */ HOWTO (R_CKCORE_ADDR32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -114,7 +114,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 2: Only for csky v1. */ HOWTO (R_CKCORE_PCREL_IMM8BY4, /* type */ 2, /* rightshift */ - 1, /* size */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -129,7 +129,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 3: Only for csky v1. */ HOWTO (R_CKCORE_PCREL_IMM11BY2, /* type */ 1, /* rightshift */ - 1, /* size */ + 2, /* size */ 11, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -142,12 +142,12 @@ static reloc_howto_type csky_elf_howto_table[] = true), /* pcrel_offset */ /* 4: DELETED. */ - HOWTO (R_CKCORE_PCREL_IMM4BY2,0,0,0,0,0,0,0,"R_CKCORE_PCREL_IMM4BY2",0,0,0,0), + HOWTO (R_CKCORE_PCREL_IMM4BY2,0,1,0,0,0,0,0,"R_CKCORE_PCREL_IMM4BY2",0,0,0,0), /* 5. */ HOWTO (R_CKCORE_PCREL32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -162,7 +162,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 6: Only for csky v1. */ HOWTO (R_CKCORE_PCREL_JSR_IMM11BY2, /* type */ 1, /* rightshift */ - 1, /* size */ + 2, /* size */ 11, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -177,7 +177,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 7: GNU extension to record C++ vtable member usage. */ HOWTO (R_CKCORE_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -192,7 +192,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 8: GNU extension to record C++ vtable hierarchy. */ HOWTO (R_CKCORE_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -207,7 +207,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 9. */ HOWTO (R_CKCORE_RELATIVE, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -223,7 +223,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* FIXME: It is a bug that copy relocations are not implemented. */ HOWTO (R_CKCORE_COPY, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -236,15 +236,15 @@ static reloc_howto_type csky_elf_howto_table[] = false), /* pcrel_offset */ /* 11: None. */ - HOWTO (R_CKCORE_GLOB_DAT,0,0,0,0,0,0,0,"R_CKCORE_GLOB_DAT",0,0,0,0), + HOWTO (R_CKCORE_GLOB_DAT,0,1,0,0,0,0,0,"R_CKCORE_GLOB_DAT",0,0,0,0), /* 12: None. */ - HOWTO (R_CKCORE_JUMP_SLOT,0,0,0,0,0,0,0,"R_CKCORE_JUMP_SLOT",0,0,0,0), + HOWTO (R_CKCORE_JUMP_SLOT,0,1,0,0,0,0,0,"R_CKCORE_JUMP_SLOT",0,0,0,0), /* 13. */ HOWTO (R_CKCORE_GOTOFF, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -259,7 +259,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 14. */ HOWTO (R_CKCORE_GOTPC, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -274,7 +274,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 15. */ HOWTO (R_CKCORE_GOT32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -289,7 +289,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 16. */ HOWTO (R_CKCORE_PLT32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -302,15 +302,15 @@ static reloc_howto_type csky_elf_howto_table[] = true), /* pcrel_offset */ /* 17: None. */ - HOWTO (R_CKCORE_ADDRGOT,0,0,0,0,0,0,0,"R_CKCORE_ADDRGOT",0,0,0,0), + HOWTO (R_CKCORE_ADDRGOT,0,1,0,0,0,0,0,"R_CKCORE_ADDRGOT",0,0,0,0), /* 18: None. */ - HOWTO (R_CKCORE_ADDRPLT,0,0,0,0,0,0,0,"R_CKCORE_ADDRPLT",0,0,0,0), + HOWTO (R_CKCORE_ADDRPLT,0,1,0,0,0,0,0,"R_CKCORE_ADDRPLT",0,0,0,0), /* 19: Only for csky v2. */ HOWTO (R_CKCORE_PCREL_IMM26BY2, /* type */ 1, /* rightshift */ - 2, /* size */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -325,7 +325,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 20: Only for csky v2. */ HOWTO (R_CKCORE_PCREL_IMM16BY2, /* type */ 1, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -340,7 +340,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 21: Only for csky v2. */ HOWTO (R_CKCORE_PCREL_IMM16BY4, /* type */ 2, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -355,7 +355,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 22: Only for csky v2. */ HOWTO (R_CKCORE_PCREL_IMM10BY2, /* type */ 1, /* rightshift */ - 1, /* size */ + 2, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -370,7 +370,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 23: Only for csky v2. */ HOWTO (R_CKCORE_PCREL_IMM10BY4, /* type */ 2, /* rightshift */ - 2, /* size */ + 4, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -385,7 +385,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 24: Only for csky v2. */ HOWTO (R_CKCORE_ADDR_HI16, /* type */ 16, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -400,7 +400,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 25. */ HOWTO (R_CKCORE_ADDR_LO16, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -415,7 +415,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 26. */ HOWTO (R_CKCORE_GOTPC_HI16, /* type */ 16, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -430,7 +430,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 27. */ HOWTO (R_CKCORE_GOTPC_LO16, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -445,7 +445,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 28. */ HOWTO (R_CKCORE_GOTOFF_HI16, /* type */ 16, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -460,7 +460,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 29. */ HOWTO (R_CKCORE_GOTOFF_LO16, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -475,7 +475,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 30. */ HOWTO (R_CKCORE_GOT12, /* type */ 2, /* rightshift */ - 2, /* size */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -490,7 +490,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 31. */ HOWTO (R_CKCORE_GOT_HI16, /* type */ 16, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -505,7 +505,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 32. */ HOWTO (R_CKCORE_GOT_LO16, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -520,7 +520,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 33. */ HOWTO (R_CKCORE_PLT12, /* type */ 2, /* rightshift */ - 2, /* size */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -535,7 +535,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 34. */ HOWTO (R_CKCORE_PLT_HI16, /* type */ 16, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -550,7 +550,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 35. */ HOWTO (R_CKCORE_PLT_LO16, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -563,21 +563,21 @@ static reloc_howto_type csky_elf_howto_table[] = false), /* pcrel_offset */ /* 36: None. */ - HOWTO (R_CKCORE_ADDRGOT_HI16,0,0,0,0,0,0,0,"R_CKCORE_",0,0,0,0), + HOWTO (R_CKCORE_ADDRGOT_HI16,0,1,0,0,0,0,0,"R_CKCORE_",0,0,0,0), /* 37: None. */ - HOWTO (R_CKCORE_ADDRGOT_LO16,0,0,0,0,0,0,0,"R_CKCORE_",0,0,0,0), + HOWTO (R_CKCORE_ADDRGOT_LO16,0,1,0,0,0,0,0,"R_CKCORE_",0,0,0,0), /* 38: None. */ - HOWTO (R_CKCORE_ADDRPLT_HI16,0,0,0,0,0,0,0,"R_CKCORE_",0,0,0,0), + HOWTO (R_CKCORE_ADDRPLT_HI16,0,1,0,0,0,0,0,"R_CKCORE_",0,0,0,0), /* 39: None. */ - HOWTO (R_CKCORE_ADDRPLT_LO16,0,0,0,0,0,0,0,"R_CKCORE_",0,0,0,0), + HOWTO (R_CKCORE_ADDRPLT_LO16,0,1,0,0,0,0,0,"R_CKCORE_",0,0,0,0), /* 40. */ HOWTO (R_CKCORE_PCREL_JSR_IMM26BY2, /* type */ 1, /* rightshift */ - 2, /* size */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -592,7 +592,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 41. */ HOWTO (R_CKCORE_TOFFSET_LO16, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -607,7 +607,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 42. */ HOWTO (R_CKCORE_DOFFSET_LO16, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -622,7 +622,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 43. */ HOWTO (R_CKCORE_PCREL_IMM18BY2, /* type */ 1, /* rightshift */ - 2, /* size */ + 4, /* size */ 18, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -637,7 +637,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 44. */ HOWTO (R_CKCORE_DOFFSET_IMM18, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 18, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -652,7 +652,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 45. */ HOWTO (R_CKCORE_DOFFSET_IMM18BY2, /* type */ 1, /* rightshift */ - 2, /* size */ + 4, /* size */ 18, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -667,7 +667,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 46. */ HOWTO (R_CKCORE_DOFFSET_IMM18BY4, /* type */ 2, /* rightshift */ - 2, /* size */ + 4, /* size */ 18, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -682,7 +682,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 47. */ HOWTO (R_CKCORE_GOTOFF_IMM18, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 18, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -697,7 +697,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 48. */ HOWTO (R_CKCORE_GOT_IMM18BY4, /* type */ 2, /* rightshift */ - 2, /* size */ + 4, /* size */ 18, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -712,7 +712,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 49. */ HOWTO (R_CKCORE_PLT_IMM18BY4, /* type */ 2, /* rightshift */ - 2, /* size */ + 4, /* size */ 18, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -727,7 +727,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 50: for lrw16. */ HOWTO (R_CKCORE_PCREL_IMM7BY4, /* type */ 2, /* rightshift */ - 1, /* size */ + 2, /* size */ 7, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -742,7 +742,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 51: for static nptl. */ HOWTO (R_CKCORE_TLS_LE32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -757,7 +757,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 52: for static nptl. */ HOWTO (R_CKCORE_TLS_IE32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -772,7 +772,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 53: for pic nptl. */ HOWTO (R_CKCORE_TLS_GD32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -787,7 +787,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 54: for pic nptl. */ HOWTO (R_CKCORE_TLS_LDM32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -802,7 +802,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 55: for pic nptl. */ HOWTO (R_CKCORE_TLS_LDO32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -815,18 +815,18 @@ static reloc_howto_type csky_elf_howto_table[] = true), /* pcrel_offset */ /* 56: for linker. */ - HOWTO (R_CKCORE_TLS_DTPMOD32,0,0,0,0,0,0,0,"R_CKCORE_TLS_DTPMOD32",0,0,0,0), + HOWTO (R_CKCORE_TLS_DTPMOD32,0,1,0,0,0,0,0,"R_CKCORE_TLS_DTPMOD32",0,0,0,0), /* 57: for linker. */ - HOWTO (R_CKCORE_TLS_DTPOFF32,0,0,0,0,0,0,0,"R_CKCORE_TLS_DTPOFF32",0,0,0,0), + HOWTO (R_CKCORE_TLS_DTPOFF32,0,1,0,0,0,0,0,"R_CKCORE_TLS_DTPOFF32",0,0,0,0), /* 58: for linker. */ - HOWTO (R_CKCORE_TLS_TPOFF32,0,0,0,0,0,0,0,"R_CKCORE_TLS_TPOFF32",0,0,0,0), + HOWTO (R_CKCORE_TLS_TPOFF32,0,1,0,0,0,0,0,"R_CKCORE_TLS_TPOFF32",0,0,0,0), /* 59: for ck807f. */ HOWTO (R_CKCORE_PCREL_FLRW_IMM8BY4, /* type */ 2, /* rightshift */ - 2, /* size */ + 4, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -841,7 +841,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 60: for 810 not to generate jsri. */ HOWTO (R_CKCORE_NOJSRI, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -856,7 +856,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 61: for callgraph. */ HOWTO (R_CKCORE_CALLGRAPH, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -869,12 +869,12 @@ static reloc_howto_type csky_elf_howto_table[] = true), /* pcrel_offset */ /* 62: IRELATIVE*/ - HOWTO (R_CKCORE_IRELATIVE,0,0,0,0,0,0,0,"R_CKCORE_IRELATIVE",0,0,0,0), + HOWTO (R_CKCORE_IRELATIVE,0,1,0,0,0,0,0,"R_CKCORE_IRELATIVE",0,0,0,0), /* 63: for bloop instruction */ HOWTO (R_CKCORE_PCREL_BLOOP_IMM4BY4, /* type */ 1, /* rightshift */ - 2, /* size */ + 4, /* size */ 4, /* bitsize */ 1, /* pc_relative */ 0, /* bitpos */ @@ -888,7 +888,7 @@ static reloc_howto_type csky_elf_howto_table[] = /* 64: for bloop instruction */ HOWTO (R_CKCORE_PCREL_BLOOP_IMM12BY4, /* type */ 1, /* rightshift */ - 2, /* size */ + 4, /* size */ 12, /* bitsize */ 1, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-d10v.c b/bfd/elf32-d10v.c index 6e4cb92..2a6c5c6 100644 --- a/bfd/elf32-d10v.c +++ b/bfd/elf32-d10v.c @@ -33,7 +33,7 @@ static reloc_howto_type elf_d10v_howto_table[] = /* This reloc does nothing. */ HOWTO (R_D10V_NONE, /* Type. */ 0, /* Rightshift. */ - 3, /* Size (0 = byte, 1 = short, 2 = long). */ + 0, /* Size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -48,7 +48,7 @@ static reloc_howto_type elf_d10v_howto_table[] = /* An PC Relative 10-bit relocation, shifted by 2, right container. */ HOWTO (R_D10V_10_PCREL_R, /* Type. */ 2, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 8, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -63,7 +63,7 @@ static reloc_howto_type elf_d10v_howto_table[] = /* An PC Relative 10-bit relocation, shifted by 2, left container. */ HOWTO (R_D10V_10_PCREL_L, /* Type. */ 2, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 8, /* Bitsize. */ true, /* PC_relative. */ 15, /* Bitpos. */ @@ -78,7 +78,7 @@ static reloc_howto_type elf_d10v_howto_table[] = /* A 16 bit absolute relocation. */ HOWTO (R_D10V_16, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -93,7 +93,7 @@ static reloc_howto_type elf_d10v_howto_table[] = /* An 18 bit absolute relocation, right shifted 2. */ HOWTO (R_D10V_18, /* Type. */ 2, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -108,7 +108,7 @@ static reloc_howto_type elf_d10v_howto_table[] = /* A relative 18 bit relocation, right shifted by 2. */ HOWTO (R_D10V_18_PCREL, /* Type. */ 2, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -123,7 +123,7 @@ static reloc_howto_type elf_d10v_howto_table[] = /* A 32 bit absolute relocation. */ HOWTO (R_D10V_32, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 32, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -138,7 +138,7 @@ static reloc_howto_type elf_d10v_howto_table[] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_D10V_GNU_VTINHERIT, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -153,7 +153,7 @@ static reloc_howto_type elf_d10v_howto_table[] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_D10V_GNU_VTENTRY, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ diff --git a/bfd/elf32-d30v.c b/bfd/elf32-d30v.c index 62bb3cf..a22e0c5 100644 --- a/bfd/elf32-d30v.c +++ b/bfd/elf32-d30v.c @@ -254,7 +254,7 @@ static reloc_howto_type elf_d30v_howto_table[] = /* This reloc does nothing. */ HOWTO (R_D30V_NONE, /* Type. */ 0, /* Rightshift. */ - 3, /* Size (0 = byte, 1 = short, 2 = long). */ + 0, /* Size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -269,7 +269,7 @@ static reloc_howto_type elf_d30v_howto_table[] = /* A 6 bit absolute relocation. */ HOWTO (R_D30V_6, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 6, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -284,7 +284,7 @@ static reloc_howto_type elf_d30v_howto_table[] = /* A relative 9 bit relocation, right shifted by 3. */ HOWTO (R_D30V_9_PCREL, /* Type. */ 3, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 6, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -299,7 +299,7 @@ static reloc_howto_type elf_d30v_howto_table[] = /* A relative 9 bit relocation, right shifted by 3. */ HOWTO (R_D30V_9_PCREL_R, /* Type. */ 3, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 6, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -314,7 +314,7 @@ static reloc_howto_type elf_d30v_howto_table[] = /* An absolute 15 bit relocation, right shifted by 3. */ HOWTO (R_D30V_15, /* Type. */ 3, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 12, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -329,7 +329,7 @@ static reloc_howto_type elf_d30v_howto_table[] = /* A relative 15 bit relocation, right shifted by 3. */ HOWTO (R_D30V_15_PCREL, /* Type. */ 3, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 12, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -344,7 +344,7 @@ static reloc_howto_type elf_d30v_howto_table[] = /* A relative 15 bit relocation, right shifted by 3. */ HOWTO (R_D30V_15_PCREL_R, /* Type. */ 3, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 12, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -359,7 +359,7 @@ static reloc_howto_type elf_d30v_howto_table[] = /* An absolute 21 bit relocation, right shifted by 3. */ HOWTO (R_D30V_21, /* Type. */ 3, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 18, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -374,7 +374,7 @@ static reloc_howto_type elf_d30v_howto_table[] = /* A relative 21 bit relocation, right shifted by 3. */ HOWTO (R_D30V_21_PCREL, /* Type. */ 3, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 18, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -389,7 +389,7 @@ static reloc_howto_type elf_d30v_howto_table[] = /* A relative 21 bit relocation, right shifted by 3, in the Right container. */ HOWTO (R_D30V_21_PCREL_R, /* Type. */ 3, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 18, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -404,7 +404,7 @@ static reloc_howto_type elf_d30v_howto_table[] = /* A D30V 32 bit absolute relocation. */ HOWTO (R_D30V_32, /* Type. */ 0, /* Rightshift. */ - 4, /* Size (0 = byte, 1 = short, 2 = long). */ + 8, /* Size. */ 32, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -419,7 +419,7 @@ static reloc_howto_type elf_d30v_howto_table[] = /* A relative 32 bit relocation. */ HOWTO (R_D30V_32_PCREL, /* Type. */ 0, /* Rightshift. */ - 4, /* Size (0 = byte, 1 = short, 2 = long). */ + 8, /* Size. */ 32, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -434,7 +434,7 @@ static reloc_howto_type elf_d30v_howto_table[] = /* A regular 32 bit absolute relocation. */ HOWTO (R_D30V_32_NORMAL, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 32, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ diff --git a/bfd/elf32-dlx.c b/bfd/elf32-dlx.c index 6752836..58da2ff 100644 --- a/bfd/elf32-dlx.c +++ b/bfd/elf32-dlx.c @@ -238,7 +238,7 @@ static reloc_howto_type dlx_elf_howto_table[]= /* No relocation. */ HOWTO (R_DLX_NONE, /* Type. */ 0, /* Rightshift. */ - 3, /* size (0 = byte, 1 = short, 2 = long). */ + 0, /* size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -253,7 +253,7 @@ static reloc_howto_type dlx_elf_howto_table[]= /* 8 bit relocation. */ HOWTO (R_DLX_RELOC_8, /* Type. */ 0, /* Rightshift. */ - 0, /* Size (0 = byte, 1 = short, 2 = long). */ + 1, /* Size. */ 8, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -268,7 +268,7 @@ static reloc_howto_type dlx_elf_howto_table[]= /* 16 bit relocation. */ HOWTO (R_DLX_RELOC_16, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -283,7 +283,7 @@ static reloc_howto_type dlx_elf_howto_table[]= /* 32 bit relocation. */ HOWTO (R_DLX_RELOC_32, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 32, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -298,7 +298,7 @@ static reloc_howto_type dlx_elf_howto_table[]= /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_DLX_GNU_VTINHERIT, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -313,7 +313,7 @@ static reloc_howto_type dlx_elf_howto_table[]= /* GNU extension to record C++ vtable member usage. */ HOWTO (R_DLX_GNU_VTENTRY, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -330,7 +330,7 @@ static reloc_howto_type dlx_elf_howto_table[]= static reloc_howto_type elf_dlx_gnu_rel16_s2 = HOWTO (R_DLX_RELOC_16_PCREL, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -346,7 +346,7 @@ static reloc_howto_type elf_dlx_gnu_rel16_s2 = static reloc_howto_type elf_dlx_gnu_rel26_s2 = HOWTO (R_DLX_RELOC_26_PCREL, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 26, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -362,7 +362,7 @@ static reloc_howto_type elf_dlx_gnu_rel26_s2 = static reloc_howto_type elf_dlx_reloc_16_hi = HOWTO (R_DLX_RELOC_16_HI, /* Type. */ 16, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 32, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -378,7 +378,7 @@ static reloc_howto_type elf_dlx_reloc_16_hi = static reloc_howto_type elf_dlx_reloc_16_lo = HOWTO (R_DLX_RELOC_16_LO, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ diff --git a/bfd/elf32-epiphany.c b/bfd/elf32-epiphany.c index bd07748..f927407 100644 --- a/bfd/elf32-epiphany.c +++ b/bfd/elf32-epiphany.c @@ -50,7 +50,7 @@ static reloc_howto_type epiphany_elf_howto_table [] = #define AHOW(t,rs,s,bs,pr,bp,co,name,sm,dm) \ HOWTO(t, /* type */ \ rs, /* rightshift */ \ - s, /* size (0 = byte, 1 = short, 2 = long) */ \ + s, /* size */ \ bs, /* bitsize */ \ pr, /* pc_relative */ \ bp, /* bitpos */ \ @@ -63,39 +63,39 @@ static reloc_howto_type epiphany_elf_howto_table [] = pr) /* pcrel_offset */ /* This reloc does nothing. */ - AHOW (R_EPIPHANY_NONE, 0, 3,0, false, 0, complain_overflow_dont, "R_EPIPHANY_NONE", 0, 0), + AHOW (R_EPIPHANY_NONE, 0, 0,0, false, 0, complain_overflow_dont, "R_EPIPHANY_NONE", 0, 0), /* 8 bit absolute (not likely) */ - AHOW (R_EPIPHANY_8, 0, 0, 8, false, 0, complain_overflow_bitfield, "R_EPIPHANY_8", 0x000000ff, 0x000000ff), + AHOW (R_EPIPHANY_8, 0, 1, 8, false, 0, complain_overflow_bitfield, "R_EPIPHANY_8", 0x000000ff, 0x000000ff), /* 16 bit absolute */ - AHOW (R_EPIPHANY_16, 0, 1,16, false, 0, complain_overflow_bitfield, "R_EPIPHANY_16", 0x0000ffff, 0x00ff1fe0), + AHOW (R_EPIPHANY_16, 0, 2,16, false, 0, complain_overflow_bitfield, "R_EPIPHANY_16", 0x0000ffff, 0x00ff1fe0), /* A 32 bit absolute relocation. */ - AHOW (R_EPIPHANY_32, 0, 2,32, false, 0, complain_overflow_dont, "R_EPIPHANY_32", 0xffffffff, 0xffffffff), + AHOW (R_EPIPHANY_32, 0, 4,32, false, 0, complain_overflow_dont, "R_EPIPHANY_32", 0xffffffff, 0xffffffff), /* 8 bit relative relocation */ - HOWTO ( R_EPIPHANY_8_PCREL, 0, 0, 8, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_EPIPHANY_8_PCREL", false, 0x000000ff, 0x000000ff, false), + HOWTO ( R_EPIPHANY_8_PCREL, 0, 1, 8, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_EPIPHANY_8_PCREL", false, 0x000000ff, 0x000000ff, false), /* 16 bit relative relocation */ - HOWTO ( R_EPIPHANY_16_PCREL, 0, 1, 16, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_EPIPHANY_8_PCREL", false, 0x000000ff, 0x000000ff, false), + HOWTO ( R_EPIPHANY_16_PCREL, 0, 2, 16, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_EPIPHANY_8_PCREL", false, 0x000000ff, 0x000000ff, false), /* 32 bit relative relocation */ - HOWTO ( R_EPIPHANY_32_PCREL, 0, 2, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_EPIPHANY_8_PCREL", false, 0x000000ff, 0x000000ff, false), + HOWTO ( R_EPIPHANY_32_PCREL, 0, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_EPIPHANY_8_PCREL", false, 0x000000ff, 0x000000ff, false), /* 8 bit pc-relative relocation */ - AHOW (R_EPIPHANY_SIMM8, 1, 0, 8, true, 8, complain_overflow_signed, "R_EPIPHANY_SIMM8", 0x000000ff, 0x0000ff00), + AHOW (R_EPIPHANY_SIMM8, 1, 1, 8, true, 8, complain_overflow_signed, "R_EPIPHANY_SIMM8", 0x000000ff, 0x0000ff00), /* 24 bit pc-relative relocation */ - AHOW (R_EPIPHANY_SIMM24, 1, 2,24, true, 8, complain_overflow_signed, "R_EPIPHANY_SIMM24", 0x00ffffff, 0xffffff00), + AHOW (R_EPIPHANY_SIMM24, 1, 4,24, true, 8, complain_overflow_signed, "R_EPIPHANY_SIMM24", 0x00ffffff, 0xffffff00), /* %HIGH(EA) */ - AHOW (R_EPIPHANY_HIGH, 0, 2,16, false, 0, complain_overflow_dont, "R_EPIPHANY_HIGH", 0x0ff01fe0, 0x0ff01fe0), + AHOW (R_EPIPHANY_HIGH, 0, 4,16, false, 0, complain_overflow_dont, "R_EPIPHANY_HIGH", 0x0ff01fe0, 0x0ff01fe0), /* %LOW(EA) */ - AHOW (R_EPIPHANY_LOW, 0, 2,16, false, 0, complain_overflow_dont, "R_EPIPHANY_LOW", 0x0ff01fe0, 0x0ff01fe0), + AHOW (R_EPIPHANY_LOW, 0, 4,16, false, 0, complain_overflow_dont, "R_EPIPHANY_LOW", 0x0ff01fe0, 0x0ff01fe0), /* simm11 */ - AHOW (R_EPIPHANY_SIMM11, 0, 2,11, false, 0, complain_overflow_bitfield, "R_EPIPHANY_SIMM11", 0x00ff0380, 0x00ff0380), + AHOW (R_EPIPHANY_SIMM11, 0, 4,11, false, 0, complain_overflow_bitfield, "R_EPIPHANY_SIMM11", 0x00ff0380, 0x00ff0380), /* imm12 - sign-magnitude */ - AHOW (R_EPIPHANY_IMM11, 0, 2,11, false, 0, complain_overflow_bitfield, "R_EPIPHANY_IMM12", 0x00ff0380, 0x00ff0380), + AHOW (R_EPIPHANY_IMM11, 0, 4,11, false, 0, complain_overflow_bitfield, "R_EPIPHANY_IMM12", 0x00ff0380, 0x00ff0380), /* imm8 */ - AHOW (R_EPIPHANY_IMM8, 0, 1, 8, false, 8, complain_overflow_signed, "R_EPIPHANY_IMM8", 0x0000ff00, 0x0000ff00) + AHOW (R_EPIPHANY_IMM8, 0, 2, 8, false, 8, complain_overflow_signed, "R_EPIPHANY_IMM8", 0x0000ff00, 0x0000ff00) }; diff --git a/bfd/elf32-fr30.c b/bfd/elf32-fr30.c index ff93264..83402bb 100644 --- a/bfd/elf32-fr30.c +++ b/bfd/elf32-fr30.c @@ -37,7 +37,7 @@ static reloc_howto_type fr30_elf_howto_table [] = /* This reloc does nothing. */ HOWTO (R_FR30_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -52,7 +52,7 @@ static reloc_howto_type fr30_elf_howto_table [] = /* An 8 bit absolute relocation. */ HOWTO (R_FR30_8, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 4, /* bitpos */ @@ -67,7 +67,7 @@ static reloc_howto_type fr30_elf_howto_table [] = /* A 20 bit absolute relocation. */ HOWTO (R_FR30_20, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -82,7 +82,7 @@ static reloc_howto_type fr30_elf_howto_table [] = /* A 32 bit absolute relocation. */ HOWTO (R_FR30_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -97,7 +97,7 @@ static reloc_howto_type fr30_elf_howto_table [] = /* A 32 bit into 48 bits absolute relocation. */ HOWTO (R_FR30_48, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -112,7 +112,7 @@ static reloc_howto_type fr30_elf_howto_table [] = /* A 6 bit absolute relocation. */ HOWTO (R_FR30_6_IN_4, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 6, /* bitsize */ false, /* pc_relative */ 4, /* bitpos */ @@ -127,7 +127,7 @@ static reloc_howto_type fr30_elf_howto_table [] = /* An 8 bit absolute relocation. */ HOWTO (R_FR30_8_IN_8, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 4, /* bitpos */ @@ -142,7 +142,7 @@ static reloc_howto_type fr30_elf_howto_table [] = /* A 9 bit absolute relocation. */ HOWTO (R_FR30_9_IN_8, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 9, /* bitsize */ false, /* pc_relative */ 4, /* bitpos */ @@ -157,7 +157,7 @@ static reloc_howto_type fr30_elf_howto_table [] = /* A 10 bit absolute relocation. */ HOWTO (R_FR30_10_IN_8, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize */ false, /* pc_relative */ 4, /* bitpos */ @@ -172,7 +172,7 @@ static reloc_howto_type fr30_elf_howto_table [] = /* A PC relative 9 bit relocation, right shifted by 1. */ HOWTO (R_FR30_9_PCREL, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 9, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -187,7 +187,7 @@ static reloc_howto_type fr30_elf_howto_table [] = /* A PC relative 12 bit relocation, right shifted by 1. */ HOWTO (R_FR30_12_PCREL, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 12, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -201,7 +201,7 @@ static reloc_howto_type fr30_elf_howto_table [] = /* GNU extension to record C++ vtable hierarchy */ HOWTO (R_FR30_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -216,7 +216,7 @@ static reloc_howto_type fr30_elf_howto_table [] = /* GNU extension to record C++ vtable member usage */ HOWTO (R_FR30_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c index 02e334f..0ab65f1 100644 --- a/bfd/elf32-frv.c +++ b/bfd/elf32-frv.c @@ -35,7 +35,7 @@ static reloc_howto_type elf32_frv_howto_table [] = /* This reloc does nothing. */ HOWTO (R_FRV_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -50,7 +50,7 @@ static reloc_howto_type elf32_frv_howto_table [] = /* A 32 bit absolute relocation. */ HOWTO (R_FRV_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -65,7 +65,7 @@ static reloc_howto_type elf32_frv_howto_table [] = /* A 16 bit pc-relative relocation. */ HOWTO (R_FRV_LABEL16, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -80,7 +80,7 @@ static reloc_howto_type elf32_frv_howto_table [] = /* A 24-bit pc-relative relocation. */ HOWTO (R_FRV_LABEL24, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -94,7 +94,7 @@ static reloc_howto_type elf32_frv_howto_table [] = HOWTO (R_FRV_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -108,7 +108,7 @@ static reloc_howto_type elf32_frv_howto_table [] = HOWTO (R_FRV_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -122,7 +122,7 @@ static reloc_howto_type elf32_frv_howto_table [] = HOWTO (R_FRV_GPREL12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -136,7 +136,7 @@ static reloc_howto_type elf32_frv_howto_table [] = HOWTO (R_FRV_GPRELU12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -150,7 +150,7 @@ static reloc_howto_type elf32_frv_howto_table [] = HOWTO (R_FRV_GPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -164,7 +164,7 @@ static reloc_howto_type elf32_frv_howto_table [] = HOWTO (R_FRV_GPRELHI, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -178,7 +178,7 @@ static reloc_howto_type elf32_frv_howto_table [] = HOWTO (R_FRV_GPRELLO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -194,7 +194,7 @@ static reloc_howto_type elf32_frv_howto_table [] = the symbol. */ HOWTO (R_FRV_GOT12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -210,7 +210,7 @@ static reloc_howto_type elf32_frv_howto_table [] = symbol. */ HOWTO (R_FRV_GOTHI, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -226,7 +226,7 @@ static reloc_howto_type elf32_frv_howto_table [] = symbol. */ HOWTO (R_FRV_GOTLO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -241,7 +241,7 @@ static reloc_howto_type elf32_frv_howto_table [] = /* The 32-bit address of the canonical descriptor of a function. */ HOWTO (R_FRV_FUNCDESC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -257,7 +257,7 @@ static reloc_howto_type elf32_frv_howto_table [] = canonical descriptor of a function. */ HOWTO (R_FRV_FUNCDESC_GOT12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -273,7 +273,7 @@ static reloc_howto_type elf32_frv_howto_table [] = canonical descriptor of a function. */ HOWTO (R_FRV_FUNCDESC_GOTHI, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -289,7 +289,7 @@ static reloc_howto_type elf32_frv_howto_table [] = canonical descriptor of a function. */ HOWTO (R_FRV_FUNCDESC_GOTLO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -304,7 +304,7 @@ static reloc_howto_type elf32_frv_howto_table [] = /* The 64-bit descriptor of a function. */ HOWTO (R_FRV_FUNCDESC_VALUE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -320,7 +320,7 @@ static reloc_howto_type elf32_frv_howto_table [] = canonical descriptor of a function. */ HOWTO (R_FRV_FUNCDESC_GOTOFF12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -336,7 +336,7 @@ static reloc_howto_type elf32_frv_howto_table [] = canonical descriptor of a function. */ HOWTO (R_FRV_FUNCDESC_GOTOFFHI, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -352,7 +352,7 @@ static reloc_howto_type elf32_frv_howto_table [] = canonical descriptor of a function. */ HOWTO (R_FRV_FUNCDESC_GOTOFFLO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -368,7 +368,7 @@ static reloc_howto_type elf32_frv_howto_table [] = the symbol. */ HOWTO (R_FRV_GOTOFF12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -384,7 +384,7 @@ static reloc_howto_type elf32_frv_howto_table [] = symbol. */ HOWTO (R_FRV_GOTOFFHI, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -400,7 +400,7 @@ static reloc_howto_type elf32_frv_howto_table [] = symbol. */ HOWTO (R_FRV_GOTOFFLO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -417,7 +417,7 @@ static reloc_howto_type elf32_frv_howto_table [] = the module. */ HOWTO (R_FRV_GETTLSOFF, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -433,7 +433,7 @@ static reloc_howto_type elf32_frv_howto_table [] = valid as a REL, dynamic relocation. */ HOWTO (R_FRV_TLSDESC_VALUE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -449,7 +449,7 @@ static reloc_howto_type elf32_frv_howto_table [] = descriptor of the symbol. */ HOWTO (R_FRV_GOTTLSDESC12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -465,7 +465,7 @@ static reloc_howto_type elf32_frv_howto_table [] = symbol. */ HOWTO (R_FRV_GOTTLSDESCHI, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -481,7 +481,7 @@ static reloc_howto_type elf32_frv_howto_table [] = symbol. */ HOWTO (R_FRV_GOTTLSDESCLO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -497,7 +497,7 @@ static reloc_howto_type elf32_frv_howto_table [] = address to the thread-local symbol address. */ HOWTO (R_FRV_TLSMOFF12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -513,7 +513,7 @@ static reloc_howto_type elf32_frv_howto_table [] = the thread-local symbol address. */ HOWTO (R_FRV_TLSMOFFHI, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -529,7 +529,7 @@ static reloc_howto_type elf32_frv_howto_table [] = the thread-local symbol address. */ HOWTO (R_FRV_TLSMOFFLO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -545,7 +545,7 @@ static reloc_howto_type elf32_frv_howto_table [] = for a symbol. */ HOWTO (R_FRV_GOTTLSOFF12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -561,7 +561,7 @@ static reloc_howto_type elf32_frv_howto_table [] = symbol. */ HOWTO (R_FRV_GOTTLSOFFHI, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -577,7 +577,7 @@ static reloc_howto_type elf32_frv_howto_table [] = symbol. */ HOWTO (R_FRV_GOTTLSOFFLO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -593,7 +593,7 @@ static reloc_howto_type elf32_frv_howto_table [] = address) to a thread-local symbol. */ HOWTO (R_FRV_TLSOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -610,7 +610,7 @@ static reloc_howto_type elf32_frv_howto_table [] = the two input registers of an ldd instruction. */ HOWTO (R_FRV_TLSDESC_RELAX, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -627,7 +627,7 @@ static reloc_howto_type elf32_frv_howto_table [] = of the two register operands of an calll instruction. */ HOWTO (R_FRV_GETTLSOFF_RELAX, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -644,7 +644,7 @@ static reloc_howto_type elf32_frv_howto_table [] = the two input registers of an ld instruction. */ HOWTO (R_FRV_TLSOFF_RELAX, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -660,7 +660,7 @@ static reloc_howto_type elf32_frv_howto_table [] = the thread-local symbol address. */ HOWTO (R_FRV_TLSMOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -677,7 +677,7 @@ static reloc_howto_type elf32_frv_howto_table [] = static reloc_howto_type elf32_frv_vtinherit_howto = HOWTO (R_FRV_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -693,7 +693,7 @@ static reloc_howto_type elf32_frv_vtinherit_howto = static reloc_howto_type elf32_frv_vtentry_howto = HOWTO (R_FRV_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -710,7 +710,7 @@ static reloc_howto_type elf32_frv_vtentry_howto = static reloc_howto_type elf32_frv_rel_32_howto = HOWTO (R_FRV_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -725,7 +725,7 @@ static reloc_howto_type elf32_frv_rel_32_howto = static reloc_howto_type elf32_frv_rel_funcdesc_howto = HOWTO (R_FRV_FUNCDESC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -740,7 +740,7 @@ static reloc_howto_type elf32_frv_rel_funcdesc_howto = static reloc_howto_type elf32_frv_rel_funcdesc_value_howto = HOWTO (R_FRV_FUNCDESC_VALUE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -766,7 +766,7 @@ static reloc_howto_type elf32_frv_rel_tlsdesc_value_howto = thread. */ HOWTO (R_FRV_TLSDESC_VALUE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -783,7 +783,7 @@ static reloc_howto_type elf32_frv_rel_tlsoff_howto = address) to a thread-local symbol. */ HOWTO (R_FRV_TLSOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-ft32.c b/bfd/elf32-ft32.c index 1371d4f..24b691e 100644 --- a/bfd/elf32-ft32.c +++ b/bfd/elf32-ft32.c @@ -40,7 +40,7 @@ static reloc_howto_type ft32_elf_howto_table [] = /* This reloc does nothing. */ HOWTO (R_FT32_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -56,7 +56,7 @@ static reloc_howto_type ft32_elf_howto_table [] = HOWTO (R_FT32_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -70,7 +70,7 @@ static reloc_howto_type ft32_elf_howto_table [] = HOWTO (R_FT32_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -84,7 +84,7 @@ static reloc_howto_type ft32_elf_howto_table [] = HOWTO (R_FT32_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -98,7 +98,7 @@ static reloc_howto_type ft32_elf_howto_table [] = HOWTO (R_FT32_10, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize */ false, /* pc_relative */ 4, /* bitpos */ @@ -112,7 +112,7 @@ static reloc_howto_type ft32_elf_howto_table [] = HOWTO (R_FT32_20, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -126,7 +126,7 @@ static reloc_howto_type ft32_elf_howto_table [] = HOWTO (R_FT32_17, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 17, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -140,7 +140,7 @@ static reloc_howto_type ft32_elf_howto_table [] = HOWTO (R_FT32_18, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 18, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -154,7 +154,7 @@ static reloc_howto_type ft32_elf_howto_table [] = HOWTO (R_FT32_RELAX, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize */ false, /* pc_relative */ 4, /* bitpos */ @@ -168,7 +168,7 @@ static reloc_howto_type ft32_elf_howto_table [] = HOWTO (R_FT32_SC0, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize */ false, /* pc_relative */ 4, /* bitpos */ @@ -181,7 +181,7 @@ static reloc_howto_type ft32_elf_howto_table [] = false), /* pcrel_offset */ HOWTO (R_FT32_SC1, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 22, /* bitsize */ true, /* pc_relative */ 7, /* bitpos */ @@ -194,7 +194,7 @@ static reloc_howto_type ft32_elf_howto_table [] = false), /* pcrel_offset */ HOWTO (R_FT32_15, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -207,7 +207,7 @@ static reloc_howto_type ft32_elf_howto_table [] = false), /* pcrel_offset */ HOWTO (R_FT32_DIFF32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -220,7 +220,6 @@ static reloc_howto_type ft32_elf_howto_table [] = false), /* pcrel_offset */ }; - /* Map BFD reloc types to FT32 ELF reloc types. */ struct ft32_reloc_map diff --git a/bfd/elf32-gen.c b/bfd/elf32-gen.c index 6587f0a..38a3bd6 100644 --- a/bfd/elf32-gen.c +++ b/bfd/elf32-gen.c @@ -29,7 +29,7 @@ static reloc_howto_type dummy = HOWTO (0, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-h8300.c b/bfd/elf32-h8300.c index a213420..6c65520 100644 --- a/bfd/elf32-h8300.c +++ b/bfd/elf32-h8300.c @@ -62,7 +62,7 @@ static reloc_howto_type h8_elf_howto_table[] = #define R_H8_NONE_X 0 HOWTO (R_H8_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -76,7 +76,7 @@ static reloc_howto_type h8_elf_howto_table[] = #define R_H8_DIR32_X (R_H8_NONE_X + 1) HOWTO (R_H8_DIR32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -90,7 +90,7 @@ static reloc_howto_type h8_elf_howto_table[] = #define R_H8_DIR16_X (R_H8_DIR32_X + 1) HOWTO (R_H8_DIR16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -104,7 +104,7 @@ static reloc_howto_type h8_elf_howto_table[] = #define R_H8_DIR8_X (R_H8_DIR16_X + 1) HOWTO (R_H8_DIR8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -118,7 +118,7 @@ static reloc_howto_type h8_elf_howto_table[] = #define R_H8_DIR16A8_X (R_H8_DIR8_X + 1) HOWTO (R_H8_DIR16A8, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -132,7 +132,7 @@ static reloc_howto_type h8_elf_howto_table[] = #define R_H8_DIR16R8_X (R_H8_DIR16A8_X + 1) HOWTO (R_H8_DIR16R8, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -146,7 +146,7 @@ static reloc_howto_type h8_elf_howto_table[] = #define R_H8_DIR24A8_X (R_H8_DIR16R8_X + 1) HOWTO (R_H8_DIR24A8, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -160,7 +160,7 @@ static reloc_howto_type h8_elf_howto_table[] = #define R_H8_DIR24R8_X (R_H8_DIR24A8_X + 1) HOWTO (R_H8_DIR24R8, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -174,7 +174,7 @@ static reloc_howto_type h8_elf_howto_table[] = #define R_H8_DIR32A16_X (R_H8_DIR24R8_X + 1) HOWTO (R_H8_DIR32A16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -188,7 +188,7 @@ static reloc_howto_type h8_elf_howto_table[] = #define R_H8_DISP32A16_X (R_H8_DIR32A16_X + 1) HOWTO (R_H8_DISP32A16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -202,7 +202,7 @@ static reloc_howto_type h8_elf_howto_table[] = #define R_H8_PCREL16_X (R_H8_DISP32A16_X + 1) HOWTO (R_H8_PCREL16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -216,7 +216,7 @@ static reloc_howto_type h8_elf_howto_table[] = #define R_H8_PCREL8_X (R_H8_PCREL16_X + 1) HOWTO (R_H8_PCREL8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 3bc7100..b8f9827 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -28,37 +28,37 @@ static reloc_howto_type elf_howto_table[]= { - HOWTO(R_386_NONE, 0, 3, 0, false, 0, complain_overflow_dont, + HOWTO(R_386_NONE, 0, 0, 0, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_NONE", true, 0x00000000, 0x00000000, false), - HOWTO(R_386_32, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_32, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_32", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_PC32, 0, 2, 32, true, 0, complain_overflow_dont, + HOWTO(R_386_PC32, 0, 4, 32, true, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_PC32", true, 0xffffffff, 0xffffffff, true), - HOWTO(R_386_GOT32, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_GOT32, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_GOT32", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_PLT32, 0, 2, 32, true, 0, complain_overflow_dont, + HOWTO(R_386_PLT32, 0, 4, 32, true, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_PLT32", true, 0xffffffff, 0xffffffff, true), - HOWTO(R_386_COPY, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_COPY, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_COPY", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_GLOB_DAT, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_GLOB_DAT, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_GLOB_DAT", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_JUMP_SLOT, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_JUMP_SLOT, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_JUMP_SLOT", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_RELATIVE, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_RELATIVE, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_RELATIVE", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_GOTOFF, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_GOTOFF, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_GOTOFF", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_GOTPC, 0, 2, 32, true, 0, complain_overflow_dont, + HOWTO(R_386_GOTPC, 0, 4, 32, true, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_GOTPC", true, 0xffffffff, 0xffffffff, true), @@ -70,74 +70,74 @@ static reloc_howto_type elf_howto_table[]= #define R_386_ext_offset (R_386_TLS_TPOFF - R_386_standard) /* These relocs are a GNU extension. */ - HOWTO(R_386_TLS_TPOFF, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_TPOFF, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_TPOFF", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_TLS_IE, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_IE, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_IE", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_TLS_GOTIE, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_GOTIE, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_GOTIE", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_TLS_LE, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_LE, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_LE", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_TLS_GD, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_GD, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_GD", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_TLS_LDM, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_LDM, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_LDM", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_16, 0, 1, 16, false, 0, complain_overflow_bitfield, + HOWTO(R_386_16, 0, 2, 16, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_386_16", true, 0xffff, 0xffff, false), - HOWTO(R_386_PC16, 0, 1, 16, true, 0, complain_overflow_bitfield, + HOWTO(R_386_PC16, 0, 2, 16, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_386_PC16", true, 0xffff, 0xffff, true), - HOWTO(R_386_8, 0, 0, 8, false, 0, complain_overflow_bitfield, + HOWTO(R_386_8, 0, 1, 8, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_386_8", true, 0xff, 0xff, false), - HOWTO(R_386_PC8, 0, 0, 8, true, 0, complain_overflow_signed, + HOWTO(R_386_PC8, 0, 1, 8, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_386_PC8", true, 0xff, 0xff, true), #define R_386_ext (R_386_PC8 + 1 - R_386_ext_offset) #define R_386_tls_offset (R_386_TLS_LDO_32 - R_386_ext) /* These are common with Solaris TLS implementation. */ - HOWTO(R_386_TLS_LDO_32, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_LDO_32, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_LDO_32", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_TLS_IE_32, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_IE_32, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_IE_32", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_TLS_LE_32, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_LE_32, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_LE_32", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_TLS_DTPMOD32, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_DTPMOD32, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_DTPMOD32", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_TLS_DTPOFF32, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_DTPOFF32, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_DTPOFF32", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_TLS_TPOFF32, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_TPOFF32, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_TPOFF32", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_SIZE32, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_SIZE32, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_SIZE32", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_TLS_GOTDESC, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_GOTDESC, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_GOTDESC", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_TLS_DESC_CALL, 0, 3, 0, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_DESC_CALL, 0, 0, 0, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_DESC_CALL", false, 0, 0, false), - HOWTO(R_386_TLS_DESC, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_TLS_DESC, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_DESC", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_IRELATIVE, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_IRELATIVE, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_IRELATIVE", true, 0xffffffff, 0xffffffff, false), - HOWTO(R_386_GOT32X, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO(R_386_GOT32X, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_GOT32X", true, 0xffffffff, 0xffffffff, false), @@ -148,7 +148,7 @@ static reloc_howto_type elf_howto_table[]= /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_386_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -163,7 +163,7 @@ static reloc_howto_type elf_howto_table[]= /* GNU extension to record C++ vtable member usage. */ HOWTO (R_386_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-ip2k.c b/bfd/elf32-ip2k.c index 677ee3f..59c0643 100644 --- a/bfd/elf32-ip2k.c +++ b/bfd/elf32-ip2k.c @@ -141,34 +141,34 @@ static reloc_howto_type ip2k_elf_howto_table [] = pr) /* pcrel_offset */ /* This reloc does nothing. */ - IP2K_HOWTO (R_IP2K_NONE, 0,3,0, false, 0, "R_IP2K_NONE", 0, 0), + IP2K_HOWTO (R_IP2K_NONE, 0,0,0, false, 0, "R_IP2K_NONE", 0, 0), /* A 16 bit absolute relocation. */ - IP2K_HOWTO (R_IP2K_16, 0,1,16, false, 0, "R_IP2K_16", 0, 0xffff), + IP2K_HOWTO (R_IP2K_16, 0,2,16, false, 0, "R_IP2K_16", 0, 0xffff), /* A 32 bit absolute relocation. */ - IP2K_HOWTO (R_IP2K_32, 0,2,32, false, 0, "R_IP2K_32", 0, 0xffffffff), + IP2K_HOWTO (R_IP2K_32, 0,4,32, false, 0, "R_IP2K_32", 0, 0xffffffff), /* A 8-bit data relocation for the FR9 field. Ninth bit is computed specially. */ - IP2K_HOWTO (R_IP2K_FR9, 0,1,9, false, 0, "R_IP2K_FR9", 0, 0x00ff), + IP2K_HOWTO (R_IP2K_FR9, 0,2,9, false, 0, "R_IP2K_FR9", 0, 0x00ff), /* A 4-bit data relocation. */ - IP2K_HOWTO (R_IP2K_BANK, 8,1,4, false, 0, "R_IP2K_BANK", 0, 0x000f), + IP2K_HOWTO (R_IP2K_BANK, 8,2,4, false, 0, "R_IP2K_BANK", 0, 0x000f), /* A 13-bit insn relocation - word address => right-shift 1 bit extra. */ - IP2K_HOWTO (R_IP2K_ADDR16CJP, 1,1,13, false, 0, "R_IP2K_ADDR16CJP", 0, 0x1fff), + IP2K_HOWTO (R_IP2K_ADDR16CJP, 1,2,13, false, 0, "R_IP2K_ADDR16CJP", 0, 0x1fff), /* A 3-bit insn relocation - word address => right-shift 1 bit extra. */ - IP2K_HOWTO (R_IP2K_PAGE3, 14,1,3, false, 0, "R_IP2K_PAGE3", 0, 0x0007), + IP2K_HOWTO (R_IP2K_PAGE3, 14,2,3, false, 0, "R_IP2K_PAGE3", 0, 0x0007), /* Two 8-bit data relocations. */ - IP2K_HOWTO (R_IP2K_LO8DATA, 0,1,8, false, 0, "R_IP2K_LO8DATA", 0, 0x00ff), - IP2K_HOWTO (R_IP2K_HI8DATA, 8,1,8, false, 0, "R_IP2K_HI8DATA", 0, 0x00ff), + IP2K_HOWTO (R_IP2K_LO8DATA, 0,2,8, false, 0, "R_IP2K_LO8DATA", 0, 0x00ff), + IP2K_HOWTO (R_IP2K_HI8DATA, 8,2,8, false, 0, "R_IP2K_HI8DATA", 0, 0x00ff), /* Two 8-bit insn relocations. word address => right-shift 1 bit extra. */ - IP2K_HOWTO (R_IP2K_LO8INSN, 1,1,8, false, 0, "R_IP2K_LO8INSN", 0, 0x00ff), - IP2K_HOWTO (R_IP2K_HI8INSN, 9,1,8, false, 0, "R_IP2K_HI8INSN", 0, 0x00ff), + IP2K_HOWTO (R_IP2K_LO8INSN, 1,2,8, false, 0, "R_IP2K_LO8INSN", 0, 0x00ff), + IP2K_HOWTO (R_IP2K_HI8INSN, 9,2,8, false, 0, "R_IP2K_HI8INSN", 0, 0x00ff), /* Special 1 bit relocation for SKIP instructions. */ - IP2K_HOWTO (R_IP2K_PC_SKIP, 1,1,1, false, 12, "R_IP2K_PC_SKIP", 0xfffe, 0x1000), + IP2K_HOWTO (R_IP2K_PC_SKIP, 1,2,1, false, 12, "R_IP2K_PC_SKIP", 0xfffe, 0x1000), /* 16 bit word address. */ - IP2K_HOWTO (R_IP2K_TEXT, 1,1,16, false, 0, "R_IP2K_TEXT", 0, 0xffff), + IP2K_HOWTO (R_IP2K_TEXT, 1,2,16, false, 0, "R_IP2K_TEXT", 0, 0xffff), /* A 7-bit offset relocation for the FR9 field. Eigth and ninth bit comes from insn. */ - IP2K_HOWTO (R_IP2K_FR_OFFSET, 0,1,9, false, 0, "R_IP2K_FR_OFFSET", 0x180, 0x007f), + IP2K_HOWTO (R_IP2K_FR_OFFSET, 0,2,9, false, 0, "R_IP2K_FR_OFFSET", 0x180, 0x007f), /* Bits 23:16 of an address. */ - IP2K_HOWTO (R_IP2K_EX8DATA, 16,1,8, false, 0, "R_IP2K_EX8DATA", 0, 0x00ff), + IP2K_HOWTO (R_IP2K_EX8DATA, 16,2,8, false, 0, "R_IP2K_EX8DATA", 0, 0x00ff), }; diff --git a/bfd/elf32-iq2000.c b/bfd/elf32-iq2000.c index 0621a83..8cdbcee 100644 --- a/bfd/elf32-iq2000.c +++ b/bfd/elf32-iq2000.c @@ -35,7 +35,7 @@ static reloc_howto_type iq2000_elf_howto_table [] = HOWTO (R_IQ2000_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -50,7 +50,7 @@ static reloc_howto_type iq2000_elf_howto_table [] = /* A 16 bit absolute relocation. */ HOWTO (R_IQ2000_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -65,7 +65,7 @@ static reloc_howto_type iq2000_elf_howto_table [] = /* A 32 bit absolute relocation. */ HOWTO (R_IQ2000_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 31, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -80,7 +80,7 @@ static reloc_howto_type iq2000_elf_howto_table [] = /* 26 bit branch address. */ HOWTO (R_IQ2000_26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -98,7 +98,7 @@ static reloc_howto_type iq2000_elf_howto_table [] = /* 16 bit PC relative reference. */ HOWTO (R_IQ2000_PC16, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -113,7 +113,7 @@ static reloc_howto_type iq2000_elf_howto_table [] = /* high 16 bits of symbol value. */ HOWTO (R_IQ2000_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -128,7 +128,7 @@ static reloc_howto_type iq2000_elf_howto_table [] = /* Low 16 bits of symbol value. */ HOWTO (R_IQ2000_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -143,7 +143,7 @@ static reloc_howto_type iq2000_elf_howto_table [] = /* 16-bit jump offset. */ HOWTO (R_IQ2000_OFFSET_16, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -158,7 +158,7 @@ static reloc_howto_type iq2000_elf_howto_table [] = /* 21-bit jump offset. */ HOWTO (R_IQ2000_OFFSET_21, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -173,7 +173,7 @@ static reloc_howto_type iq2000_elf_howto_table [] = /* unsigned high 16 bits of value. */ HOWTO (R_IQ2000_OFFSET_21, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -188,7 +188,7 @@ static reloc_howto_type iq2000_elf_howto_table [] = /* A 32 bit absolute debug relocation. */ HOWTO (R_IQ2000_32_DEBUG, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -206,7 +206,7 @@ static reloc_howto_type iq2000_elf_howto_table [] = static reloc_howto_type iq2000_elf_vtinherit_howto = HOWTO (R_IQ2000_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -222,7 +222,7 @@ static reloc_howto_type iq2000_elf_vtinherit_howto = static reloc_howto_type iq2000_elf_vtentry_howto = HOWTO (R_IQ2000_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-lm32.c b/bfd/elf32-lm32.c index 3dc8492..4830ab2 100644 --- a/bfd/elf32-lm32.c +++ b/bfd/elf32-lm32.c @@ -164,7 +164,7 @@ static reloc_howto_type lm32_elf_howto_table [] = /* This reloc does nothing. */ HOWTO (R_LM32_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -179,7 +179,7 @@ static reloc_howto_type lm32_elf_howto_table [] = /* An 8 bit absolute relocation. */ HOWTO (R_LM32_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -194,7 +194,7 @@ static reloc_howto_type lm32_elf_howto_table [] = /* A 16 bit absolute relocation. */ HOWTO (R_LM32_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -209,7 +209,7 @@ static reloc_howto_type lm32_elf_howto_table [] = /* A 32 bit absolute relocation. */ HOWTO (R_LM32_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -223,7 +223,7 @@ static reloc_howto_type lm32_elf_howto_table [] = HOWTO (R_LM32_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -237,7 +237,7 @@ static reloc_howto_type lm32_elf_howto_table [] = HOWTO (R_LM32_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -251,7 +251,7 @@ static reloc_howto_type lm32_elf_howto_table [] = HOWTO (R_LM32_GPREL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -265,7 +265,7 @@ static reloc_howto_type lm32_elf_howto_table [] = HOWTO (R_LM32_CALL, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -279,7 +279,7 @@ static reloc_howto_type lm32_elf_howto_table [] = HOWTO (R_LM32_BRANCH, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -294,7 +294,7 @@ static reloc_howto_type lm32_elf_howto_table [] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_LM32_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -309,7 +309,7 @@ static reloc_howto_type lm32_elf_howto_table [] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_LM32_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -323,7 +323,7 @@ static reloc_howto_type lm32_elf_howto_table [] = HOWTO (R_LM32_16_GOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -337,7 +337,7 @@ static reloc_howto_type lm32_elf_howto_table [] = HOWTO (R_LM32_GOTOFF_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -351,7 +351,7 @@ static reloc_howto_type lm32_elf_howto_table [] = HOWTO (R_LM32_GOTOFF_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -365,7 +365,7 @@ static reloc_howto_type lm32_elf_howto_table [] = HOWTO (R_LM32_COPY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -379,7 +379,7 @@ static reloc_howto_type lm32_elf_howto_table [] = HOWTO (R_LM32_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -393,7 +393,7 @@ static reloc_howto_type lm32_elf_howto_table [] = HOWTO (R_LM32_JMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -407,7 +407,7 @@ static reloc_howto_type lm32_elf_howto_table [] = HOWTO (R_LM32_RELATIVE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c index 4d21386..0d690a0 100644 --- a/bfd/elf32-m32c.c +++ b/bfd/elf32-m32c.c @@ -50,7 +50,7 @@ static reloc_howto_type m32c_elf_howto_table [] = /* This reloc does nothing. */ HOWTO (R_M32C_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -67,7 +67,7 @@ static reloc_howto_type m32c_elf_howto_table [] = about overflow. */ HOWTO (R_M32C_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -81,7 +81,7 @@ static reloc_howto_type m32c_elf_howto_table [] = HOWTO (R_M32C_24, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -95,7 +95,7 @@ static reloc_howto_type m32c_elf_howto_table [] = HOWTO (R_M32C_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -109,7 +109,7 @@ static reloc_howto_type m32c_elf_howto_table [] = HOWTO (R_M32C_8_PCREL, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -123,7 +123,7 @@ static reloc_howto_type m32c_elf_howto_table [] = HOWTO (R_M32C_16_PCREL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -137,7 +137,7 @@ static reloc_howto_type m32c_elf_howto_table [] = HOWTO (R_M32C_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -151,7 +151,7 @@ static reloc_howto_type m32c_elf_howto_table [] = HOWTO (R_M32C_LO16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -165,7 +165,7 @@ static reloc_howto_type m32c_elf_howto_table [] = HOWTO (R_M32C_HI8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -179,7 +179,7 @@ static reloc_howto_type m32c_elf_howto_table [] = HOWTO (R_M32C_HI16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -193,7 +193,7 @@ static reloc_howto_type m32c_elf_howto_table [] = HOWTO (R_M32C_RL_JUMP, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -207,7 +207,7 @@ static reloc_howto_type m32c_elf_howto_table [] = HOWTO (R_M32C_RL_1ADDR, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -221,7 +221,7 @@ static reloc_howto_type m32c_elf_howto_table [] = HOWTO (R_M32C_RL_2ADDR, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c index 825cb23..4e13f96 100644 --- a/bfd/elf32-m32r.c +++ b/bfd/elf32-m32r.c @@ -474,7 +474,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* This reloc does nothing. */ HOWTO (R_M32R_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -489,7 +489,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* A 16 bit absolute relocation. */ HOWTO (R_M32R_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -504,7 +504,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* A 32 bit absolute relocation. */ HOWTO (R_M32R_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -519,7 +519,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* A 24 bit address. */ HOWTO (R_M32R_24, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -541,7 +541,7 @@ static reloc_howto_type m32r_elf_howto_table[] = again. */ HOWTO (R_M32R_10_PCREL, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -556,7 +556,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* A relative 18 bit relocation, right shifted by 2. */ HOWTO (R_M32R_18_PCREL, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -575,7 +575,7 @@ static reloc_howto_type m32r_elf_howto_table[] = again. */ HOWTO (R_M32R_26_PCREL, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -590,7 +590,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* High 16 bits of address when lower 16 is or'd in. */ HOWTO (R_M32R_HI16_ULO, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -605,7 +605,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* High 16 bits of address when lower 16 is added in. */ HOWTO (R_M32R_HI16_SLO, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -620,7 +620,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* Lower 16 bits of address. */ HOWTO (R_M32R_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -635,7 +635,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* Small data area 16 bits offset. */ HOWTO (R_M32R_SDA16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -650,7 +650,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_M32R_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -665,7 +665,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_M32R_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -701,7 +701,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* A 16 bit absolute relocation. */ HOWTO (R_M32R_16_RELA, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -716,7 +716,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* A 32 bit absolute relocation. */ HOWTO (R_M32R_32_RELA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -731,7 +731,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* A 24 bit address. */ HOWTO (R_M32R_24_RELA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -745,7 +745,7 @@ static reloc_howto_type m32r_elf_howto_table[] = HOWTO (R_M32R_10_PCREL_RELA, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -760,7 +760,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* A relative 18 bit relocation, right shifted by 2. */ HOWTO (R_M32R_18_PCREL_RELA, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -775,7 +775,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* A relative 26 bit relocation, right shifted by 2. */ HOWTO (R_M32R_26_PCREL_RELA, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -790,7 +790,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* High 16 bits of address when lower 16 is or'd in. */ HOWTO (R_M32R_HI16_ULO_RELA, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -805,7 +805,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* High 16 bits of address when lower 16 is added in. */ HOWTO (R_M32R_HI16_SLO_RELA, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -820,7 +820,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* Lower 16 bits of address. */ HOWTO (R_M32R_LO16_RELA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -835,7 +835,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* Small data area 16 bits offset. */ HOWTO (R_M32R_SDA16_RELA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -850,7 +850,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_M32R_RELA_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -865,7 +865,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_M32R_RELA_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -880,7 +880,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* A 32 bit PC relative relocation. */ HOWTO (R_M32R_REL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -899,7 +899,7 @@ static reloc_howto_type m32r_elf_howto_table[] = the symbol. */ HOWTO (R_M32R_GOT24, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -915,7 +915,7 @@ static reloc_howto_type m32r_elf_howto_table[] = entry for the symbol. */ HOWTO (R_M32R_26_PLTREL, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -934,7 +934,7 @@ static reloc_howto_type m32r_elf_howto_table[] = run has to have the data at some particular address. */ HOWTO (R_M32R_COPY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -950,7 +950,7 @@ static reloc_howto_type m32r_elf_howto_table[] = entries. */ HOWTO (R_M32R_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -965,7 +965,7 @@ static reloc_howto_type m32r_elf_howto_table[] = /* Marks a procedure linkage table entry for a symbol. */ HOWTO (R_M32R_JMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -982,7 +982,7 @@ static reloc_howto_type m32r_elf_howto_table[] = addend. */ HOWTO (R_M32R_RELATIVE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -996,7 +996,7 @@ static reloc_howto_type m32r_elf_howto_table[] = HOWTO (R_M32R_GOTOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1012,7 +1012,7 @@ static reloc_howto_type m32r_elf_howto_table[] = table register. */ HOWTO (R_M32R_GOTPC24, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1028,7 +1028,7 @@ static reloc_howto_type m32r_elf_howto_table[] = the symbol. */ HOWTO (R_M32R_GOT16_HI_ULO, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1044,7 +1044,7 @@ static reloc_howto_type m32r_elf_howto_table[] = the symbol. */ HOWTO (R_M32R_GOT16_HI_SLO, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1060,7 +1060,7 @@ static reloc_howto_type m32r_elf_howto_table[] = the symbol. */ HOWTO (R_M32R_GOT16_LO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1077,7 +1077,7 @@ static reloc_howto_type m32r_elf_howto_table[] = the symbol. */ HOWTO (R_M32R_GOTPC_HI_ULO, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1094,7 +1094,7 @@ static reloc_howto_type m32r_elf_howto_table[] = the symbol. */ HOWTO (R_M32R_GOTPC_HI_SLO, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1111,7 +1111,7 @@ static reloc_howto_type m32r_elf_howto_table[] = the symbol. */ HOWTO (R_M32R_GOTPC_LO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1125,7 +1125,7 @@ static reloc_howto_type m32r_elf_howto_table[] = HOWTO (R_M32R_GOTOFF_HI_ULO, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1139,7 +1139,7 @@ static reloc_howto_type m32r_elf_howto_table[] = HOWTO (R_M32R_GOTOFF_HI_SLO, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1153,7 +1153,7 @@ static reloc_howto_type m32r_elf_howto_table[] = HOWTO (R_M32R_GOTOFF_LO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-m68hc11.c b/bfd/elf32-m68hc11.c index fa18aac..21e7a11 100644 --- a/bfd/elf32-m68hc11.c +++ b/bfd/elf32-m68hc11.c @@ -65,7 +65,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* This reloc does nothing. */ HOWTO (R_M68HC11_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -80,7 +80,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 8 bit absolute relocation */ HOWTO (R_M68HC11_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -95,7 +95,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 8 bit absolute relocation (upper address) */ HOWTO (R_M68HC11_HI8, /* type */ 8, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -110,7 +110,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 8 bit absolute relocation (upper address) */ HOWTO (R_M68HC11_LO8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -125,7 +125,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 8 bit PC-rel relocation */ HOWTO (R_M68HC11_PCREL_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -140,7 +140,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 16 bit absolute relocation */ HOWTO (R_M68HC11_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -156,7 +156,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { code relocation. It's used by gas for -gstabs generation. */ HOWTO (R_M68HC11_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -171,7 +171,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 3 bit absolute relocation */ HOWTO (R_M68HC11_3B, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 3, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -186,7 +186,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 16 bit PC-rel relocation */ HOWTO (R_M68HC11_PCREL_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -201,7 +201,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* GNU extension to record C++ vtable hierarchy */ HOWTO (R_M68HC11_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -216,7 +216,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* GNU extension to record C++ vtable member usage */ HOWTO (R_M68HC11_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -231,7 +231,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 24 bit relocation */ HOWTO (R_M68HC11_24, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -246,7 +246,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 16-bit low relocation */ HOWTO (R_M68HC11_LO16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -261,7 +261,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A page relocation */ HOWTO (R_M68HC11_PAGE, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -283,7 +283,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* Mark beginning of a jump instruction (any form). */ HOWTO (R_M68HC11_RL_JUMP, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -298,7 +298,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* Mark beginning of Gcc relaxation group instruction. */ HOWTO (R_M68HC11_RL_GROUP, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-m68hc12.c b/bfd/elf32-m68hc12.c index f5278b9..3a4458d 100644 --- a/bfd/elf32-m68hc12.c +++ b/bfd/elf32-m68hc12.c @@ -107,7 +107,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* This reloc does nothing. */ HOWTO (R_M68HC11_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -122,7 +122,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 8 bit absolute relocation */ HOWTO (R_M68HC11_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -137,7 +137,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 8 bit absolute relocation (upper address) */ HOWTO (R_M68HC11_HI8, /* type */ 8, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -152,7 +152,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 8 bit absolute relocation (upper address) */ HOWTO (R_M68HC11_LO8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -167,7 +167,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 8 bit PC-rel relocation */ HOWTO (R_M68HC11_PCREL_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -182,7 +182,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 16 bit absolute relocation */ HOWTO (R_M68HC11_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -198,7 +198,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { code relocation. It's used by gas for -gstabs generation. */ HOWTO (R_M68HC11_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -213,7 +213,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 3 bit absolute relocation */ HOWTO (R_M68HC11_3B, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 3, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -228,7 +228,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 16 bit PC-rel relocation */ HOWTO (R_M68HC11_PCREL_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -243,7 +243,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* GNU extension to record C++ vtable hierarchy */ HOWTO (R_M68HC11_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -258,7 +258,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* GNU extension to record C++ vtable member usage */ HOWTO (R_M68HC11_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -273,7 +273,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 24 bit relocation */ HOWTO (R_M68HC11_24, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -288,7 +288,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 16-bit low relocation */ HOWTO (R_M68HC11_LO16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -303,7 +303,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A page relocation */ HOWTO (R_M68HC11_PAGE, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -320,7 +320,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 16 bit absolute relocation. */ HOWTO (R_M68HC12_16B, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -335,7 +335,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 9 bit PC-rel relocation. */ HOWTO (R_M68HC12_PCREL_9, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize (result is >>1) */ true, /* pc_relative */ 0, /* bitpos */ @@ -350,7 +350,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 10 bit PC-rel relocation. */ HOWTO (R_M68HC12_PCREL_10, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 11, /* bitsize (result is >>1) */ true, /* pc_relative */ 0, /* bitpos */ @@ -365,7 +365,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 8 bit absolute relocation (upper address). */ HOWTO (R_M68HC12_HI8XG, /* type */ 8, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -380,7 +380,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* A 8 bit absolute relocation (lower address). */ HOWTO (R_M68HC12_LO8XG, /* type */ 8, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -395,7 +395,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* Mark beginning of a jump instruction (any form). */ HOWTO (R_M68HC11_RL_JUMP, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -410,7 +410,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = { /* Mark beginning of Gcc relaxation group instruction. */ HOWTO (R_M68HC11_RL_GROUP, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c index 6991e70..90d318e 100644 --- a/bfd/elf32-m68k.c +++ b/bfd/elf32-m68k.c @@ -33,33 +33,33 @@ elf_m68k_discard_copies (struct elf_link_hash_entry *, void *); static reloc_howto_type howto_table[] = { - HOWTO(R_68K_NONE, 0, 3, 0, false,0, complain_overflow_dont, bfd_elf_generic_reloc, "R_68K_NONE", false, 0, 0x00000000,false), - HOWTO(R_68K_32, 0, 2,32, false,0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_32", false, 0, 0xffffffff,false), - HOWTO(R_68K_16, 0, 1,16, false,0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_16", false, 0, 0x0000ffff,false), - HOWTO(R_68K_8, 0, 0, 8, false,0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_8", false, 0, 0x000000ff,false), - HOWTO(R_68K_PC32, 0, 2,32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_PC32", false, 0, 0xffffffff,true), - HOWTO(R_68K_PC16, 0, 1,16, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_PC16", false, 0, 0x0000ffff,true), - HOWTO(R_68K_PC8, 0, 0, 8, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_PC8", false, 0, 0x000000ff,true), - HOWTO(R_68K_GOT32, 0, 2,32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_GOT32", false, 0, 0xffffffff,true), - HOWTO(R_68K_GOT16, 0, 1,16, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_GOT16", false, 0, 0x0000ffff,true), - HOWTO(R_68K_GOT8, 0, 0, 8, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_GOT8", false, 0, 0x000000ff,true), - HOWTO(R_68K_GOT32O, 0, 2,32, false,0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_GOT32O", false, 0, 0xffffffff,false), - HOWTO(R_68K_GOT16O, 0, 1,16, false,0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_GOT16O", false, 0, 0x0000ffff,false), - HOWTO(R_68K_GOT8O, 0, 0, 8, false,0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_GOT8O", false, 0, 0x000000ff,false), - HOWTO(R_68K_PLT32, 0, 2,32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_PLT32", false, 0, 0xffffffff,true), - HOWTO(R_68K_PLT16, 0, 1,16, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_PLT16", false, 0, 0x0000ffff,true), - HOWTO(R_68K_PLT8, 0, 0, 8, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_PLT8", false, 0, 0x000000ff,true), - HOWTO(R_68K_PLT32O, 0, 2,32, false,0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_PLT32O", false, 0, 0xffffffff,false), - HOWTO(R_68K_PLT16O, 0, 1,16, false,0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_PLT16O", false, 0, 0x0000ffff,false), - HOWTO(R_68K_PLT8O, 0, 0, 8, false,0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_PLT8O", false, 0, 0x000000ff,false), - HOWTO(R_68K_COPY, 0, 0, 0, false,0, complain_overflow_dont, bfd_elf_generic_reloc, "R_68K_COPY", false, 0, 0xffffffff,false), - HOWTO(R_68K_GLOB_DAT, 0, 2,32, false,0, complain_overflow_dont, bfd_elf_generic_reloc, "R_68K_GLOB_DAT", false, 0, 0xffffffff,false), - HOWTO(R_68K_JMP_SLOT, 0, 2,32, false,0, complain_overflow_dont, bfd_elf_generic_reloc, "R_68K_JMP_SLOT", false, 0, 0xffffffff,false), - HOWTO(R_68K_RELATIVE, 0, 2,32, false,0, complain_overflow_dont, bfd_elf_generic_reloc, "R_68K_RELATIVE", false, 0, 0xffffffff,false), + HOWTO(R_68K_NONE, 0, 0, 0, false,0, complain_overflow_dont, bfd_elf_generic_reloc, "R_68K_NONE", false, 0, 0x00000000,false), + HOWTO(R_68K_32, 0, 4,32, false,0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_32", false, 0, 0xffffffff,false), + HOWTO(R_68K_16, 0, 2,16, false,0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_16", false, 0, 0x0000ffff,false), + HOWTO(R_68K_8, 0, 1, 8, false,0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_8", false, 0, 0x000000ff,false), + HOWTO(R_68K_PC32, 0, 4,32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_PC32", false, 0, 0xffffffff,true), + HOWTO(R_68K_PC16, 0, 2,16, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_PC16", false, 0, 0x0000ffff,true), + HOWTO(R_68K_PC8, 0, 1, 8, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_PC8", false, 0, 0x000000ff,true), + HOWTO(R_68K_GOT32, 0, 4,32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_GOT32", false, 0, 0xffffffff,true), + HOWTO(R_68K_GOT16, 0, 2,16, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_GOT16", false, 0, 0x0000ffff,true), + HOWTO(R_68K_GOT8, 0, 1, 8, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_GOT8", false, 0, 0x000000ff,true), + HOWTO(R_68K_GOT32O, 0, 4,32, false,0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_GOT32O", false, 0, 0xffffffff,false), + HOWTO(R_68K_GOT16O, 0, 2,16, false,0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_GOT16O", false, 0, 0x0000ffff,false), + HOWTO(R_68K_GOT8O, 0, 1, 8, false,0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_GOT8O", false, 0, 0x000000ff,false), + HOWTO(R_68K_PLT32, 0, 4,32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_PLT32", false, 0, 0xffffffff,true), + HOWTO(R_68K_PLT16, 0, 2,16, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_PLT16", false, 0, 0x0000ffff,true), + HOWTO(R_68K_PLT8, 0, 1, 8, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_PLT8", false, 0, 0x000000ff,true), + HOWTO(R_68K_PLT32O, 0, 4,32, false,0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_68K_PLT32O", false, 0, 0xffffffff,false), + HOWTO(R_68K_PLT16O, 0, 2,16, false,0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_PLT16O", false, 0, 0x0000ffff,false), + HOWTO(R_68K_PLT8O, 0, 1, 8, false,0, complain_overflow_signed, bfd_elf_generic_reloc, "R_68K_PLT8O", false, 0, 0x000000ff,false), + HOWTO(R_68K_COPY, 0, 1, 0, false,0, complain_overflow_dont, bfd_elf_generic_reloc, "R_68K_COPY", false, 0, 0xffffffff,false), + HOWTO(R_68K_GLOB_DAT, 0, 4,32, false,0, complain_overflow_dont, bfd_elf_generic_reloc, "R_68K_GLOB_DAT", false, 0, 0xffffffff,false), + HOWTO(R_68K_JMP_SLOT, 0, 4,32, false,0, complain_overflow_dont, bfd_elf_generic_reloc, "R_68K_JMP_SLOT", false, 0, 0xffffffff,false), + HOWTO(R_68K_RELATIVE, 0, 4,32, false,0, complain_overflow_dont, bfd_elf_generic_reloc, "R_68K_RELATIVE", false, 0, 0xffffffff,false), /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_68K_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -73,7 +73,7 @@ static reloc_howto_type howto_table[] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_68K_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -88,7 +88,7 @@ static reloc_howto_type howto_table[] = /* TLS general dynamic variable reference. */ HOWTO (R_68K_TLS_GD32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -102,7 +102,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_68K_TLS_GD16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -116,7 +116,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_68K_TLS_GD8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -131,7 +131,7 @@ static reloc_howto_type howto_table[] = /* TLS local dynamic variable reference. */ HOWTO (R_68K_TLS_LDM32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -145,7 +145,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_68K_TLS_LDM16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -159,7 +159,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_68K_TLS_LDM8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -173,7 +173,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_68K_TLS_LDO32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -187,7 +187,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_68K_TLS_LDO16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -201,7 +201,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_68K_TLS_LDO8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -216,7 +216,7 @@ static reloc_howto_type howto_table[] = /* TLS initial execution variable reference. */ HOWTO (R_68K_TLS_IE32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -230,7 +230,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_68K_TLS_IE16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -244,7 +244,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_68K_TLS_IE8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -259,7 +259,7 @@ static reloc_howto_type howto_table[] = /* TLS local execution variable reference. */ HOWTO (R_68K_TLS_LE32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -273,7 +273,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_68K_TLS_LE16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -287,7 +287,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_68K_TLS_LE8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -302,7 +302,7 @@ static reloc_howto_type howto_table[] = /* TLS GD/LD dynamic relocations. */ HOWTO (R_68K_TLS_DTPMOD32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -316,7 +316,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_68K_TLS_DTPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -330,7 +330,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_68K_TLS_TPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-mcore.c b/bfd/elf32-mcore.c index c82585c..7e2ad8d 100644 --- a/bfd/elf32-mcore.c +++ b/bfd/elf32-mcore.c @@ -111,7 +111,7 @@ static reloc_howto_type mcore_elf_howto_raw[] = /* This reloc does nothing. */ HOWTO (R_MCORE_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -126,7 +126,7 @@ static reloc_howto_type mcore_elf_howto_raw[] = /* A standard 32 bit relocation. */ HOWTO (R_MCORE_ADDR32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -142,7 +142,7 @@ static reloc_howto_type mcore_elf_howto_raw[] = Should not appear in object files. */ HOWTO (R_MCORE_PCRELIMM8BY4, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -159,7 +159,7 @@ static reloc_howto_type mcore_elf_howto_raw[] = Only useful pieces at the relocated address are the opcode (5 bits) */ HOWTO (R_MCORE_PCRELIMM11BY2,/* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 11, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -174,7 +174,7 @@ static reloc_howto_type mcore_elf_howto_raw[] = /* 4 bits + 1 zero bit; 'loopt' instruction only; unsupported. */ HOWTO (R_MCORE_PCRELIMM4BY2, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 4, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -189,7 +189,7 @@ static reloc_howto_type mcore_elf_howto_raw[] = /* 32-bit pc-relative. Eventually this will help support PIC code. */ HOWTO (R_MCORE_PCREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -210,7 +210,7 @@ static reloc_howto_type mcore_elf_howto_raw[] = is a relocation that we are allowed to safely ignore. */ HOWTO (R_MCORE_PCRELJSR_IMM11BY2,/* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 11, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -225,7 +225,7 @@ static reloc_howto_type mcore_elf_howto_raw[] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_MCORE_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -240,7 +240,7 @@ static reloc_howto_type mcore_elf_howto_raw[] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_MCORE_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -254,7 +254,7 @@ static reloc_howto_type mcore_elf_howto_raw[] = HOWTO (R_MCORE_RELATIVE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-mep.c b/bfd/elf32-mep.c index d95d702..48fa9f9 100644 --- a/bfd/elf32-mep.c +++ b/bfd/elf32-mep.c @@ -39,30 +39,30 @@ static reloc_howto_type mep_elf_howto_table [] = { /* type, size, bits, leftshift, rightshift, pcrel, OD/OS/OU, mask. */ - MEPREL (R_MEP_NONE, 3, 0, 0, 0, 0, N, 0), - MEPREL (R_RELC, 0, 0, 0, 0, 0, N, 0), + MEPREL (R_MEP_NONE, 0, 0, 0, 0, 0, N, 0), + MEPREL (R_RELC, 1, 0, 0, 0, 0, N, 0), /* MEPRELOC:HOWTO */ /* This section generated from bfd/mep-relocs.pl from include/elf/mep.h. */ - MEPREL (R_MEP_8, 0, 8, 0, 0, 0, U, 0xff), - MEPREL (R_MEP_16, 1, 16, 0, 0, 0, U, 0xffff), - MEPREL (R_MEP_32, 2, 32, 0, 0, 0, U, 0xffffffff), - MEPREL (R_MEP_PCREL8A2, 1, 8, 1, 1, 1, S, 0x00fe), - MEPREL (R_MEP_PCREL12A2,1, 12, 1, 1, 1, S, 0x0ffe), - MEPREL (R_MEP_PCREL17A2,2, 17, 0, 1, 1, S, 0x0000ffff), - MEPREL (R_MEP_PCREL24A2,2, 24, 0, 1, 1, S, 0x07f0ffff), - MEPREL (R_MEP_PCABS24A2,2, 24, 0, 1, 0, U, 0x07f0ffff), - MEPREL (R_MEP_LOW16, 2, 16, 0, 0, 0, N, 0x0000ffff), - MEPREL (R_MEP_HI16U, 2, 32, 0,16, 0, N, 0x0000ffff), - MEPREL (R_MEP_HI16S, 2, 32, 0,16, 0, N, 0x0000ffff), - MEPREL (R_MEP_GPREL, 2, 16, 0, 0, 0, S, 0x0000ffff), - MEPREL (R_MEP_TPREL, 2, 16, 0, 0, 0, S, 0x0000ffff), - MEPREL (R_MEP_TPREL7, 1, 7, 0, 0, 0, U, 0x007f), - MEPREL (R_MEP_TPREL7A2, 1, 7, 1, 1, 0, U, 0x007e), - MEPREL (R_MEP_TPREL7A4, 1, 7, 2, 2, 0, U, 0x007c), - MEPREL (R_MEP_UIMM24, 2, 24, 0, 0, 0, U, 0x00ffffff), - MEPREL (R_MEP_ADDR24A4, 2, 24, 0, 2, 0, U, 0x00fcffff), - MEPREL (R_MEP_GNU_VTINHERIT,1, 0,16,32, 0, N, 0x0000), - MEPREL (R_MEP_GNU_VTENTRY,1, 0,16,32, 0, N, 0x0000), + MEPREL (R_MEP_8, 1, 8, 0, 0, 0, U, 0xff), + MEPREL (R_MEP_16, 2, 16, 0, 0, 0, U, 0xffff), + MEPREL (R_MEP_32, 4, 32, 0, 0, 0, U, 0xffffffff), + MEPREL (R_MEP_PCREL8A2, 2, 8, 1, 1, 1, S, 0x00fe), + MEPREL (R_MEP_PCREL12A2,2, 12, 1, 1, 1, S, 0x0ffe), + MEPREL (R_MEP_PCREL17A2,4, 17, 0, 1, 1, S, 0x0000ffff), + MEPREL (R_MEP_PCREL24A2,4, 24, 0, 1, 1, S, 0x07f0ffff), + MEPREL (R_MEP_PCABS24A2,4, 24, 0, 1, 0, U, 0x07f0ffff), + MEPREL (R_MEP_LOW16, 4, 16, 0, 0, 0, N, 0x0000ffff), + MEPREL (R_MEP_HI16U, 4, 32, 0,16, 0, N, 0x0000ffff), + MEPREL (R_MEP_HI16S, 4, 32, 0,16, 0, N, 0x0000ffff), + MEPREL (R_MEP_GPREL, 4, 16, 0, 0, 0, S, 0x0000ffff), + MEPREL (R_MEP_TPREL, 4, 16, 0, 0, 0, S, 0x0000ffff), + MEPREL (R_MEP_TPREL7, 2, 7, 0, 0, 0, U, 0x007f), + MEPREL (R_MEP_TPREL7A2, 2, 7, 1, 1, 0, U, 0x007e), + MEPREL (R_MEP_TPREL7A4, 2, 7, 2, 2, 0, U, 0x007c), + MEPREL (R_MEP_UIMM24, 4, 24, 0, 0, 0, U, 0x00ffffff), + MEPREL (R_MEP_ADDR24A4, 4, 24, 0, 2, 0, U, 0x00fcffff), + MEPREL (R_MEP_GNU_VTINHERIT,2, 0,16,32, 0, N, 0x0000), + MEPREL (R_MEP_GNU_VTENTRY,2, 0,16,32, 0, N, 0x0000), /* MEPRELOC:END */ }; diff --git a/bfd/elf32-metag.c b/bfd/elf32-metag.c index 45a5229..5099e8f 100644 --- a/bfd/elf32-metag.c +++ b/bfd/elf32-metag.c @@ -95,7 +95,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* High order 16 bit absolute. */ HOWTO (R_METAG_HIADDR16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -110,7 +110,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* Low order 16 bit absolute. */ HOWTO (R_METAG_LOADDR16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -125,7 +125,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* 32 bit absolute. */ HOWTO (R_METAG_ADDR32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -140,7 +140,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* No relocation. */ HOWTO (R_METAG_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -155,7 +155,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* 19 bit pc relative */ HOWTO (R_METAG_RELBRANCH, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 5, /* bitpos */ @@ -170,7 +170,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* GET/SET offset */ HOWTO (R_METAG_GETSETOFF, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 12, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -209,7 +209,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -223,7 +223,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -238,7 +238,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* High order 16 bit GOT offset */ HOWTO (R_METAG_HI16_GOTOFF, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -253,7 +253,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* Low order 16 bit GOT offset */ HOWTO (R_METAG_LO16_GOTOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -268,7 +268,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* GET/SET GOT offset */ HOWTO (R_METAG_GETSET_GOTOFF, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 12, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -283,7 +283,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* GET/SET GOT relative */ HOWTO (R_METAG_GETSET_GOT, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 12, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -298,7 +298,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* High order 16 bit GOT reference */ HOWTO (R_METAG_HI16_GOTPC, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -313,7 +313,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* Low order 16 bit GOT reference */ HOWTO (R_METAG_LO16_GOTPC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -328,7 +328,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* High order 16 bit PLT */ HOWTO (R_METAG_HI16_PLT, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -343,7 +343,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* Low order 16 bit PLT */ HOWTO (R_METAG_LO16_PLT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -357,7 +357,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_RELBRANCH_PLT, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 5, /* bitpos */ @@ -372,7 +372,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* Dummy relocs used by the linker internally. */ HOWTO (R_METAG_GOTOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -386,7 +386,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_PLT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -405,7 +405,7 @@ static reloc_howto_type elf_metag_howto_table[] = run has to have the data at some particular address. */ HOWTO (R_METAG_COPY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -420,7 +420,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* Marks a procedure linkage table entry for a symbol. */ HOWTO (R_METAG_JMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -437,7 +437,7 @@ static reloc_howto_type elf_metag_howto_table[] = addend. */ HOWTO (R_METAG_RELATIVE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -451,7 +451,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -465,7 +465,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -479,7 +479,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -493,7 +493,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_TLS_LDO_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -507,7 +507,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_TLS_LDO_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -522,7 +522,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* Dummy reloc used by the linker internally. */ HOWTO (R_METAG_TLS_LDO, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -536,7 +536,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_TLS_IE, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -551,7 +551,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* Dummy reloc used by the linker internally. */ HOWTO (R_METAG_TLS_IENONPIC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -565,7 +565,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_TLS_IENONPIC_HI16,/* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -579,7 +579,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_TLS_IENONPIC_LO16,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -593,7 +593,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_TLS_TPOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -607,7 +607,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_TLS_DTPMOD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -621,7 +621,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_TLS_DTPOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -636,7 +636,7 @@ static reloc_howto_type elf_metag_howto_table[] = /* Dummy reloc used by the linker internally. */ HOWTO (R_METAG_TLS_LE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -650,7 +650,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_TLS_LE_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ @@ -664,7 +664,7 @@ static reloc_howto_type elf_metag_howto_table[] = HOWTO (R_METAG_TLS_LE_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 3, /* bitpos */ diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c index ebdba93..013c32a 100644 --- a/bfd/elf32-microblaze.c +++ b/bfd/elf32-microblaze.c @@ -42,7 +42,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* This reloc does nothing. */ HOWTO (R_MICROBLAZE_NONE, /* Type. */ 0, /* Rightshift. */ - 3, /* Size (0 = byte, 1 = short, 2 = long). */ + 0, /* Size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -57,7 +57,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* A standard 32 bit relocation. */ HOWTO (R_MICROBLAZE_32, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 32, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -72,7 +72,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* A standard PCREL 32 bit relocation. */ HOWTO (R_MICROBLAZE_32_PCREL,/* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 32, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -87,7 +87,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* A 64 bit PCREL relocation. Table-entry not really used. */ HOWTO (R_MICROBLAZE_64_PCREL,/* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -102,7 +102,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* The low half of a PCREL 32 bit relocation. */ HOWTO (R_MICROBLAZE_32_PCREL_LO, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -117,7 +117,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* A 64 bit relocation. Table entry not really used. */ HOWTO (R_MICROBLAZE_64, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -132,7 +132,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* The low half of a 32 bit relocation. */ HOWTO (R_MICROBLAZE_32_LO, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -147,7 +147,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* Read-only small data section relocation. */ HOWTO (R_MICROBLAZE_SRO32, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -162,7 +162,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* Read-write small data area relocation. */ HOWTO (R_MICROBLAZE_SRW32, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -177,7 +177,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* This reloc does nothing. Used for relaxation. */ HOWTO (R_MICROBLAZE_64_NONE, /* Type. */ 0, /* Rightshift. */ - 3, /* Size (0 = byte, 1 = short, 2 = long). */ + 0, /* Size. */ 0, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -192,7 +192,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* Symbol Op Symbol relocation. */ HOWTO (R_MICROBLAZE_32_SYM_OP_SYM, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 32, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -207,7 +207,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_MICROBLAZE_GNU_VTINHERIT, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -222,7 +222,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_MICROBLAZE_GNU_VTENTRY, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -237,7 +237,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* A 64 bit GOTPC relocation. Table-entry not really used. */ HOWTO (R_MICROBLAZE_GOTPC_64, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -252,7 +252,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* A 64 bit TEXTPCREL relocation. Table-entry not really used. */ HOWTO (R_MICROBLAZE_TEXTPCREL_64, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -267,7 +267,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* A 64 bit GOT relocation. Table-entry not really used. */ HOWTO (R_MICROBLAZE_GOT_64, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -282,7 +282,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* A 64 bit TEXTREL relocation. Table-entry not really used. */ HOWTO (R_MICROBLAZE_TEXTREL_64, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -297,7 +297,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* A 64 bit PLT relocation. Table-entry not really used. */ HOWTO (R_MICROBLAZE_PLT_64, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -312,7 +312,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* Table-entry not really used. */ HOWTO (R_MICROBLAZE_REL, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -327,7 +327,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* Table-entry not really used. */ HOWTO (R_MICROBLAZE_JUMP_SLOT,/* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -342,7 +342,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* Table-entry not really used. */ HOWTO (R_MICROBLAZE_GLOB_DAT,/* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -357,7 +357,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* A 64 bit GOT relative relocation. Table-entry not really used. */ HOWTO (R_MICROBLAZE_GOTOFF_64, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -372,7 +372,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* A 32 bit GOT relative relocation. Table-entry not really used. */ HOWTO (R_MICROBLAZE_GOTOFF_32, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -387,7 +387,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* COPY relocation. Table-entry not really used. */ HOWTO (R_MICROBLAZE_COPY, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -402,7 +402,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = /* Marker relocs for TLS. */ HOWTO (R_MICROBLAZE_TLS, 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -416,7 +416,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = HOWTO (R_MICROBLAZE_TLSGD, 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -430,7 +430,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = HOWTO (R_MICROBLAZE_TLSLD, 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -446,7 +446,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = definition of its TLS sym. */ HOWTO (R_MICROBLAZE_TLSDTPMOD32, 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -463,7 +463,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = contains the definition of sym, minus 0x8000. Used for initializing GOT */ HOWTO (R_MICROBLAZE_TLSDTPREL32, 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -480,7 +480,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = contains the definition of sym, minus 0x8000. */ HOWTO (R_MICROBLAZE_TLSDTPREL64, 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -496,7 +496,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = sym+add and the value of the thread pointer (r13). */ HOWTO (R_MICROBLAZE_TLSGOTTPREL32, 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -512,7 +512,7 @@ static reloc_howto_type microblaze_elf_howto_raw[] = sym+add and the value of the thread pointer (r13). */ HOWTO (R_MICROBLAZE_TLSTPREL32, 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c index 8989011..7bce3fa 100644 --- a/bfd/elf32-mips.c +++ b/bfd/elf32-mips.c @@ -107,7 +107,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* No relocation. */ HOWTO (R_MIPS_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -122,7 +122,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 16 bit relocation. */ HOWTO (R_MIPS_16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -137,7 +137,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 32 bit relocation. */ HOWTO (R_MIPS_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -152,7 +152,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 32 bit symbol relative relocation. */ HOWTO (R_MIPS_REL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -167,7 +167,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 26 bit jump address. */ HOWTO (R_MIPS_26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -185,7 +185,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* High 16 bits of symbol value. */ HOWTO (R_MIPS_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -200,7 +200,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Low 16 bits of symbol value. */ HOWTO (R_MIPS_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -215,7 +215,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* GP relative reference. */ HOWTO (R_MIPS_GPREL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -230,7 +230,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Reference to literal section. */ HOWTO (R_MIPS_LITERAL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -245,7 +245,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Reference to global offset table. */ HOWTO (R_MIPS_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -262,7 +262,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = We do the right thing here. */ HOWTO (R_MIPS_PC16, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -277,7 +277,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 16 bit call through global offset table. */ HOWTO (R_MIPS_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -292,7 +292,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 32 bit GP relative reference. */ HOWTO (R_MIPS_GPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -313,7 +313,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* A 5 bit shift field. */ HOWTO (R_MIPS_SHIFT5, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 5, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -330,7 +330,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = needed to put the most significant bit in the right place. */ HOWTO (R_MIPS_SHIFT6, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 6, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -345,7 +345,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* A 64 bit relocation. */ HOWTO (R_MIPS_64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -360,7 +360,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Displacement in the global offset table. */ HOWTO (R_MIPS_GOT_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -375,7 +375,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Displacement to page pointer in the global offset table. */ HOWTO (R_MIPS_GOT_PAGE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -390,7 +390,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Offset from page pointer in the global offset table. */ HOWTO (R_MIPS_GOT_OFST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -405,7 +405,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_GOT_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -420,7 +420,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_GOT_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -435,7 +435,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 64 bit subtraction. Used in the N32 ABI. */ HOWTO (R_MIPS_SUB, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -455,7 +455,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Get the higher value of a 64 bit addend. */ HOWTO (R_MIPS_HIGHER, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -470,7 +470,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Get the highest value of a 64 bit addend. */ HOWTO (R_MIPS_HIGHEST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -485,7 +485,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_CALL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -500,7 +500,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_CALL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -515,7 +515,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Section displacement. */ HOWTO (R_MIPS_SCN_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -536,7 +536,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = relocation is required for correctness. */ HOWTO (R_MIPS_JALR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -551,7 +551,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS GD/LD dynamic relocations. */ HOWTO (R_MIPS_TLS_DTPMOD32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -565,7 +565,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_TLS_DTPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -583,7 +583,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS general dynamic variable reference. */ HOWTO (R_MIPS_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -598,7 +598,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS local dynamic variable reference. */ HOWTO (R_MIPS_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -613,7 +613,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS local dynamic offset. */ HOWTO (R_MIPS_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -628,7 +628,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS local dynamic offset. */ HOWTO (R_MIPS_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -643,7 +643,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -658,7 +658,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS IE dynamic relocations. */ HOWTO (R_MIPS_TLS_TPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -675,7 +675,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -690,7 +690,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -705,7 +705,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 32 bit relocation with no addend. */ HOWTO (R_MIPS_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -728,7 +728,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_PC21_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -742,7 +742,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_PC26_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -756,7 +756,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_PC18_S3, /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 18, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -770,7 +770,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_PC19_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -784,7 +784,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_PCHI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -798,7 +798,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_PCLO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -816,7 +816,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = static reloc_howto_type elf_mips_ctor64_howto = HOWTO (R_MIPS_64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -833,7 +833,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* The reloc used for the mips16 jump instruction. */ HOWTO (R_MIPS16_26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -851,7 +851,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* The reloc used for the mips16 gprel instruction. */ HOWTO (R_MIPS16_GPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -866,7 +866,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* A MIPS16 reference to the global offset table. */ HOWTO (R_MIPS16_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -881,7 +881,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* A MIPS16 call through the global offset table. */ HOWTO (R_MIPS16_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -896,7 +896,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 high 16 bits of symbol value. */ HOWTO (R_MIPS16_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -911,7 +911,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 low 16 bits of symbol value. */ HOWTO (R_MIPS16_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -926,7 +926,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS general dynamic variable reference. */ HOWTO (R_MIPS16_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -941,7 +941,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS local dynamic variable reference. */ HOWTO (R_MIPS16_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -956,7 +956,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS local dynamic offset. */ HOWTO (R_MIPS16_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -971,7 +971,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS local dynamic offset. */ HOWTO (R_MIPS16_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -986,7 +986,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1001,7 +1001,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1016,7 +1016,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1031,7 +1031,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 16-bit PC-relative branch offset. */ HOWTO (R_MIPS16_PC16_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1053,7 +1053,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* 26 bit jump address. */ HOWTO (R_MICROMIPS_26_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1071,7 +1071,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* High 16 bits of symbol value. */ HOWTO (R_MICROMIPS_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1086,7 +1086,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Low 16 bits of symbol value. */ HOWTO (R_MICROMIPS_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1101,7 +1101,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* GP relative reference. */ HOWTO (R_MICROMIPS_GPREL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1116,7 +1116,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Reference to literal section. */ HOWTO (R_MICROMIPS_LITERAL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1131,7 +1131,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Reference to global offset table. */ HOWTO (R_MICROMIPS_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1146,7 +1146,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* This is for microMIPS branches. */ HOWTO (R_MICROMIPS_PC7_S1, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1160,7 +1160,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = HOWTO (R_MICROMIPS_PC10_S1, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1174,7 +1174,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = HOWTO (R_MICROMIPS_PC16_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1189,7 +1189,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* 16 bit call through global offset table. */ HOWTO (R_MICROMIPS_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1207,7 +1207,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Displacement in the global offset table. */ HOWTO (R_MICROMIPS_GOT_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1222,7 +1222,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Displacement to page pointer in the global offset table. */ HOWTO (R_MICROMIPS_GOT_PAGE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1237,7 +1237,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Offset from page pointer in the global offset table. */ HOWTO (R_MICROMIPS_GOT_OFST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1252,7 +1252,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_GOT_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1267,7 +1267,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_GOT_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1282,7 +1282,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* 64 bit subtraction. Used in the N32 ABI. */ HOWTO (R_MICROMIPS_SUB, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1297,7 +1297,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Get the higher value of a 64 bit addend. */ HOWTO (R_MICROMIPS_HIGHER, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1312,7 +1312,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Get the highest value of a 64 bit addend. */ HOWTO (R_MICROMIPS_HIGHEST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1327,7 +1327,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_CALL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1342,7 +1342,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_CALL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1357,7 +1357,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Section displacement. */ HOWTO (R_MICROMIPS_SCN_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1373,7 +1373,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = relocation is required for correctness. */ HOWTO (R_MICROMIPS_JALR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1389,7 +1389,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = must be zero. This is used for relaxation. */ HOWTO (R_MICROMIPS_HI0_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1409,7 +1409,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS general dynamic variable reference. */ HOWTO (R_MICROMIPS_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1424,7 +1424,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS local dynamic variable reference. */ HOWTO (R_MICROMIPS_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1439,7 +1439,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS local dynamic offset. */ HOWTO (R_MICROMIPS_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1454,7 +1454,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS local dynamic offset. */ HOWTO (R_MICROMIPS_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1469,7 +1469,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1487,7 +1487,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1502,7 +1502,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1519,7 +1519,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* GP- and PC-relative relocations. */ HOWTO (R_MICROMIPS_GPREL7_S2, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1533,7 +1533,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = HOWTO (R_MICROMIPS_PC23_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 23, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1550,7 +1550,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = static reloc_howto_type elf_mips_gnu_rel16_s2 = HOWTO (R_MIPS_GNU_REL16_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1569,7 +1569,7 @@ static reloc_howto_type elf_mips_gnu_rel16_s2 = static reloc_howto_type elf_mips_gnu_pcrel32 = HOWTO (R_MIPS_PC32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1585,7 +1585,7 @@ static reloc_howto_type elf_mips_gnu_pcrel32 = static reloc_howto_type elf_mips_gnu_vtinherit_howto = HOWTO (R_MIPS_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1601,7 +1601,7 @@ static reloc_howto_type elf_mips_gnu_vtinherit_howto = static reloc_howto_type elf_mips_gnu_vtentry_howto = HOWTO (R_MIPS_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1617,7 +1617,7 @@ static reloc_howto_type elf_mips_gnu_vtentry_howto = static reloc_howto_type elf_mips_copy_howto = HOWTO (R_MIPS_COPY, /* type */ 0, /* rightshift */ - 0, /* this one is variable size */ + 1, /* this one is variable size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1633,7 +1633,7 @@ static reloc_howto_type elf_mips_copy_howto = static reloc_howto_type elf_mips_jump_slot_howto = HOWTO (R_MIPS_JUMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1649,7 +1649,7 @@ static reloc_howto_type elf_mips_jump_slot_howto = static reloc_howto_type elf_mips_eh_howto = HOWTO (R_MIPS_EH, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-moxie.c b/bfd/elf32-moxie.c index 206c7da..d857617 100644 --- a/bfd/elf32-moxie.c +++ b/bfd/elf32-moxie.c @@ -34,7 +34,7 @@ static reloc_howto_type moxie_elf_howto_table [] = /* This reloc does nothing. */ HOWTO (R_MOXIE_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -49,7 +49,7 @@ static reloc_howto_type moxie_elf_howto_table [] = /* A 32 bit absolute relocation. */ HOWTO (R_MOXIE_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -64,7 +64,7 @@ static reloc_howto_type moxie_elf_howto_table [] = /* A 10 bit PC-relative relocation. */ HOWTO (R_MOXIE_PCREL10, /* type. */ 1, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 10, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c index 93e381b..a1a59e0 100644 --- a/bfd/elf32-msp430.c +++ b/bfd/elf32-msp430.c @@ -74,7 +74,7 @@ static reloc_howto_type elf_msp430_howto_table[] = { HOWTO (R_MSP430_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -88,7 +88,7 @@ static reloc_howto_type elf_msp430_howto_table[] = HOWTO (R_MSP430_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -103,7 +103,7 @@ static reloc_howto_type elf_msp430_howto_table[] = /* A 10 bit PC relative relocation. */ HOWTO (R_MSP430_10_PCREL, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -118,7 +118,7 @@ static reloc_howto_type elf_msp430_howto_table[] = /* A 16 bit absolute relocation. */ HOWTO (R_MSP430_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -133,7 +133,7 @@ static reloc_howto_type elf_msp430_howto_table[] = /* A 16 bit PC relative relocation for command address. */ HOWTO (R_MSP430_16_PCREL, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -148,7 +148,7 @@ static reloc_howto_type elf_msp430_howto_table[] = /* A 16 bit absolute relocation, byte operations. */ HOWTO (R_MSP430_16_BYTE, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -163,7 +163,7 @@ static reloc_howto_type elf_msp430_howto_table[] = /* A 16 bit absolute relocation for command address. */ HOWTO (R_MSP430_16_PCREL_BYTE,/* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -178,7 +178,7 @@ static reloc_howto_type elf_msp430_howto_table[] = /* A 10 bit PC relative relocation for complicated polymorphs. */ HOWTO (R_MSP430_2X_PCREL, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -193,7 +193,7 @@ static reloc_howto_type elf_msp430_howto_table[] = /* A 16 bit relaxable relocation for command address. */ HOWTO (R_MSP430_RL_PCREL, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -208,7 +208,7 @@ static reloc_howto_type elf_msp430_howto_table[] = /* A 8-bit absolute relocation. */ , HOWTO (R_MSP430_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -224,7 +224,7 @@ static reloc_howto_type elf_msp430_howto_table[] = between two symbols to be the real addend of the second reloc. */ HOWTO (R_MSP430_SYM_DIFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -240,7 +240,7 @@ static reloc_howto_type elf_msp430_howto_table[] = size is one byte here. */ HOWTO (R_MSP430_GNU_SET_ULEB128, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -256,7 +256,7 @@ static reloc_howto_type elf_msp430_howto_table[] = size is one byte here. */ HOWTO (R_MSP430_GNU_SUB_ULEB128, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -274,7 +274,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = { HOWTO (R_MSP430_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -288,7 +288,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430_ABS32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -302,7 +302,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430_ABS16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -316,7 +316,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430_ABS8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -330,7 +330,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430_PCR16, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -344,7 +344,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430X_PCR20_EXT_SRC,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -358,7 +358,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430X_PCR20_EXT_DST,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -372,7 +372,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430X_PCR20_EXT_ODST,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -386,7 +386,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430X_ABS20_EXT_SRC,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -400,7 +400,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430X_ABS20_EXT_DST,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -414,7 +414,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430X_ABS20_EXT_ODST,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -428,7 +428,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430X_ABS20_ADR_SRC,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -442,7 +442,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430X_ABS20_ADR_DST,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -456,7 +456,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430X_PCR16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -470,7 +470,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430X_PCR20_CALL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -484,7 +484,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430X_ABS16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -498,7 +498,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430_ABS_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -512,7 +512,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = HOWTO (R_MSP430_PREL31, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -529,7 +529,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = /* A 10 bit PC relative relocation. */ HOWTO (R_MSP430X_10_PCREL, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -544,7 +544,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = /* A 10 bit PC relative relocation for complicated polymorphs. */ HOWTO (R_MSP430X_2X_PCREL, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -560,7 +560,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = between two symbols to be the real addend of the second reloc. */ HOWTO (R_MSP430X_SYM_DIFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -576,7 +576,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = size is one byte here. */ HOWTO (R_MSP430X_GNU_SET_ULEB128, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -592,7 +592,7 @@ static reloc_howto_type elf_msp430x_howto_table[] = size is one byte here. */ HOWTO (R_MSP430X_GNU_SUB_ULEB128, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-mt.c b/bfd/elf32-mt.c index 4efea36..1d231a5 100644 --- a/bfd/elf32-mt.c +++ b/bfd/elf32-mt.c @@ -48,7 +48,7 @@ static reloc_howto_type mt_elf_howto_table [] = /* This reloc does nothing. */ HOWTO (R_MT_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -63,7 +63,7 @@ static reloc_howto_type mt_elf_howto_table [] = /* A 16 bit absolute relocation. */ HOWTO (R_MT_16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -78,7 +78,7 @@ static reloc_howto_type mt_elf_howto_table [] = /* A 32 bit absolute relocation. */ HOWTO (R_MT_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -93,7 +93,7 @@ static reloc_howto_type mt_elf_howto_table [] = /* A 32 bit pc-relative relocation. */ HOWTO (R_MT_32_PCREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -108,7 +108,7 @@ static reloc_howto_type mt_elf_howto_table [] = /* A 16 bit pc-relative relocation. */ HOWTO (R_MT_PC16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -123,7 +123,7 @@ static reloc_howto_type mt_elf_howto_table [] = /* high 16 bits of symbol value. */ HOWTO (R_MT_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -138,7 +138,7 @@ static reloc_howto_type mt_elf_howto_table [] = /* Low 16 bits of symbol value. */ HOWTO (R_MT_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-nds32.c b/bfd/elf32-nds32.c index 08f4707..e185ddd 100644 --- a/bfd/elf32-nds32.c +++ b/bfd/elf32-nds32.c @@ -273,7 +273,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* This reloc does nothing. */ HOWTO2 (R_NDS32_NONE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -288,7 +288,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A 16 bit absolute relocation. */ HOWTO2 (R_NDS32_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -303,7 +303,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A 32 bit absolute relocation. */ HOWTO2 (R_NDS32_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -318,7 +318,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A 20 bit address. */ HOWTO2 (R_NDS32_20, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -340,7 +340,7 @@ static reloc_howto_type nds32_elf_howto_table[] = again. */ HOWTO2 (R_NDS32_9_PCREL, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -355,7 +355,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A relative 15 bit relocation, right shifted by 1. */ HOWTO2 (R_NDS32_15_PCREL, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 14, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -370,7 +370,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A relative 17 bit relocation, right shifted by 1. */ HOWTO2 (R_NDS32_17_PCREL, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -389,7 +389,7 @@ static reloc_howto_type nds32_elf_howto_table[] = again. */ HOWTO2 (R_NDS32_25_PCREL, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -404,7 +404,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* High 20 bits of address when lower 12 is or'd in. */ HOWTO2 (R_NDS32_HI20, /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -419,7 +419,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Lower 12 bits of address. */ HOWTO2 (R_NDS32_LO12S3, /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 9, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -434,7 +434,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Lower 12 bits of address. */ HOWTO2 (R_NDS32_LO12S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -449,7 +449,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Lower 12 bits of address. */ HOWTO2 (R_NDS32_LO12S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 11, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -464,7 +464,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Lower 12 bits of address. */ HOWTO2 (R_NDS32_LO12S0, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -479,7 +479,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Small data area 15 bits offset. */ HOWTO2 (R_NDS32_SDA15S3, /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -494,7 +494,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Small data area 15 bits offset. */ HOWTO2 (R_NDS32_SDA15S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -509,7 +509,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Small data area 15 bits offset. */ HOWTO2 (R_NDS32_SDA15S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -524,7 +524,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Small data area 15 bits offset. */ HOWTO2 (R_NDS32_SDA15S0, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -539,7 +539,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* GNU extension to record C++ vtable hierarchy */ HOWTO2 (R_NDS32_GNU_VTINHERIT,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -554,7 +554,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* GNU extension to record C++ vtable member usage */ HOWTO2 (R_NDS32_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -569,7 +569,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A 16 bit absolute relocation. */ HOWTO2 (R_NDS32_16_RELA, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -584,7 +584,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A 32 bit absolute relocation. */ HOWTO2 (R_NDS32_32_RELA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -599,7 +599,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A 20 bit address. */ HOWTO2 (R_NDS32_20_RELA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -613,7 +613,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_9_PCREL_RELA, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -628,7 +628,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A relative 15 bit relocation, right shifted by 1. */ HOWTO2 (R_NDS32_15_PCREL_RELA,/* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 14, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -643,7 +643,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A relative 17 bit relocation, right shifted by 1. */ HOWTO2 (R_NDS32_17_PCREL_RELA,/* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -658,7 +658,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A relative 25 bit relocation, right shifted by 2. */ HOWTO2 (R_NDS32_25_PCREL_RELA,/* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -673,7 +673,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* High 20 bits of address when lower 16 is or'd in. */ HOWTO2 (R_NDS32_HI20_RELA, /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -688,7 +688,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Lower 12 bits of address. */ HOWTO2 (R_NDS32_LO12S3_RELA, /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 9, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -703,7 +703,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Lower 12 bits of address. */ HOWTO2 (R_NDS32_LO12S2_RELA, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -718,7 +718,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Lower 12 bits of address. */ HOWTO2 (R_NDS32_LO12S1_RELA, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 11, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -733,7 +733,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Lower 12 bits of address. */ HOWTO2 (R_NDS32_LO12S0_RELA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -748,7 +748,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Small data area 15 bits offset. */ HOWTO2 (R_NDS32_SDA15S3_RELA, /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -763,7 +763,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Small data area 15 bits offset. */ HOWTO2 (R_NDS32_SDA15S2_RELA, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -777,7 +777,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_SDA15S1_RELA, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -791,7 +791,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_SDA15S0_RELA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -806,7 +806,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* GNU extension to record C++ vtable hierarchy */ HOWTO2 (R_NDS32_RELA_GNU_VTINHERIT,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -821,7 +821,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* GNU extension to record C++ vtable member usage */ HOWTO2 (R_NDS32_RELA_GNU_VTENTRY,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -837,7 +837,7 @@ static reloc_howto_type nds32_elf_howto_table[] = the symbol. */ HOWTO2 (R_NDS32_GOT20, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -853,7 +853,7 @@ static reloc_howto_type nds32_elf_howto_table[] = entry for the symbol. */ HOWTO2 (R_NDS32_25_PLTREL, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -872,7 +872,7 @@ static reloc_howto_type nds32_elf_howto_table[] = run has to have the data at some particular address. */ HOWTO2 (R_NDS32_COPY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -888,7 +888,7 @@ static reloc_howto_type nds32_elf_howto_table[] = entries. */ HOWTO2 (R_NDS32_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -903,7 +903,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Marks a procedure linkage table entry for a symbol. */ HOWTO2 (R_NDS32_JMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -920,7 +920,7 @@ static reloc_howto_type nds32_elf_howto_table[] = addend. */ HOWTO2 (R_NDS32_RELATIVE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -934,7 +934,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_GOTOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -950,7 +950,7 @@ static reloc_howto_type nds32_elf_howto_table[] = table register. */ HOWTO2 (R_NDS32_GOTPC20, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -966,7 +966,7 @@ static reloc_howto_type nds32_elf_howto_table[] = the symbol. */ HOWTO2 (R_NDS32_GOT_HI20, /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -977,9 +977,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x000fffff, /* src_mask */ 0x000fffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO2 (R_NDS32_GOT_LO12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -996,7 +997,7 @@ static reloc_howto_type nds32_elf_howto_table[] = the symbol. */ HOWTO2 (R_NDS32_GOTPC_HI20, /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1007,9 +1008,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x000fffff, /* src_mask */ 0x000fffff, /* dst_mask */ true), /* pcrel_offset */ + HOWTO2 (R_NDS32_GOTPC_LO12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1023,7 +1025,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_GOTOFF_HI20, /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1034,9 +1036,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x000fffff, /* src_mask */ 0x000fffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO2 (R_NDS32_GOTOFF_LO12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1053,7 +1056,7 @@ static reloc_howto_type nds32_elf_howto_table[] = in order to make next label aligned on word boundary. */ HOWTO2 (R_NDS32_INSN16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1068,7 +1071,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Alignment hint for label. */ HOWTO2 (R_NDS32_LABEL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1083,7 +1086,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for unconditional call sequence */ HOWTO2 (R_NDS32_LONGCALL1, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1098,7 +1101,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for conditional call sequence. */ HOWTO2 (R_NDS32_LONGCALL2, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1113,7 +1116,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for conditional call sequence. */ HOWTO2 (R_NDS32_LONGCALL3, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1128,7 +1131,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for unconditional branch sequence. */ HOWTO2 (R_NDS32_LONGJUMP1, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1143,7 +1146,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for conditional branch sequence. */ HOWTO2 (R_NDS32_LONGJUMP2, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1158,7 +1161,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for conditional branch sequence. */ HOWTO2 (R_NDS32_LONGJUMP3, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1173,7 +1176,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for load/store sequence. */ HOWTO2 (R_NDS32_LOADSTORE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1188,7 +1191,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for load/store sequence. */ HOWTO2 (R_NDS32_9_FIXED_RELA, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1203,7 +1206,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for load/store sequence. */ HOWTO2 (R_NDS32_15_FIXED_RELA,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1218,7 +1221,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for load/store sequence. */ HOWTO2 (R_NDS32_17_FIXED_RELA,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1233,7 +1236,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for load/store sequence. */ HOWTO2 (R_NDS32_25_FIXED_RELA,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1248,7 +1251,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* High 20 bits of PLT symbol offset relative to PC. */ HOWTO2 (R_NDS32_PLTREL_HI20, /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1263,7 +1266,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Low 12 bits of PLT symbol offset relative to PC. */ HOWTO2 (R_NDS32_PLTREL_LO12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1278,7 +1281,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* High 20 bits of PLT symbol offset relative to GOT (GP). */ HOWTO2 (R_NDS32_PLT_GOTREL_HI20, /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1293,7 +1296,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Low 12 bits of PLT symbol offset relative to GOT (GP). */ HOWTO2 (R_NDS32_PLT_GOTREL_LO12,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1308,7 +1311,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Small data area 12 bits offset. */ HOWTO2 (R_NDS32_SDA12S2_DP_RELA,/* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1323,7 +1326,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Small data area 12 bits offset. */ HOWTO2 (R_NDS32_SDA12S2_SP_RELA,/* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1338,7 +1341,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_LO12S2_DP_RELA, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1353,7 +1356,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Lower 12 bits of address. */ HOWTO2 (R_NDS32_LO12S2_SP_RELA,/* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1364,10 +1367,11 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x000003ff, /* src_mask */ 0x000003ff, /* dst_mask */ false), /* pcrel_offset */ + /* Lower 12 bits of address. Special identity for or case. */ HOWTO2 (R_NDS32_LO12S0_ORI_RELA,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1378,10 +1382,11 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x00000fff, /* src_mask */ 0x00000fff, /* dst_mask */ false), /* pcrel_offset */ + /* Small data area 19 bits offset. */ HOWTO2 (R_NDS32_SDA16S3_RELA, /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1396,7 +1401,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Small data area 15 bits offset. */ HOWTO2 (R_NDS32_SDA17S2_RELA, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 17, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1410,7 +1415,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_SDA18S1_RELA, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 18, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1424,7 +1429,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_SDA19S0_RELA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1437,7 +1442,7 @@ static reloc_howto_type nds32_elf_howto_table[] = false), /* pcrel_offset */ HOWTO2 (R_NDS32_DWARF2_OP1_RELA,/* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1448,9 +1453,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0xff, /* src_mask */ 0xff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO2 (R_NDS32_DWARF2_OP2_RELA,/* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1461,9 +1467,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0xffff, /* src_mask */ 0xffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO2 (R_NDS32_DWARF2_LEB_RELA,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1474,9 +1481,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO2 (R_NDS32_UPDATE_TA_RELA,/* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1487,11 +1495,12 @@ static reloc_howto_type nds32_elf_howto_table[] = 0xffff, /* src_mask */ 0xffff, /* dst_mask */ false), /* pcrel_offset */ + /* Like R_NDS32_PCREL, but referring to the procedure linkage table entry for the symbol. */ HOWTO2 (R_NDS32_9_PLTREL, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1502,10 +1511,11 @@ static reloc_howto_type nds32_elf_howto_table[] = 0xff, /* src_mask */ 0xff, /* dst_mask */ true), /* pcrel_offset */ + /* Low 20 bits of PLT symbol offset relative to GOT (GP). */ HOWTO2 (R_NDS32_PLT_GOTREL_LO20,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1516,10 +1526,11 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x000fffff, /* src_mask */ 0x000fffff, /* dst_mask */ false), /* pcrel_offset */ + /* low 15 bits of PLT symbol offset relative to GOT (GP) */ HOWTO2 (R_NDS32_PLT_GOTREL_LO15,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1530,10 +1541,11 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x00007fff, /* src_mask */ 0x00007fff, /* dst_mask */ false), /* pcrel_offset */ + /* Low 19 bits of PLT symbol offset relative to GOT (GP). */ HOWTO2 (R_NDS32_PLT_GOTREL_LO19,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1544,9 +1556,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x0007ffff, /* src_mask */ 0x0007ffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO2 (R_NDS32_GOT_LO15, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1557,9 +1570,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x00007fff, /* src_mask */ 0x00007fff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO2 (R_NDS32_GOT_LO19, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1570,9 +1584,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x0007ffff, /* src_mask */ 0x0007ffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO2 (R_NDS32_GOTOFF_LO15, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1583,9 +1598,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x00007fff, /* src_mask */ 0x00007fff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO2 (R_NDS32_GOTOFF_LO19, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1596,10 +1612,11 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x0007ffff, /* src_mask */ 0x0007ffff, /* dst_mask */ false), /* pcrel_offset */ + /* GOT 15 bits offset. */ HOWTO2 (R_NDS32_GOT15S2_RELA, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1610,10 +1627,11 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x00007fff, /* src_mask */ 0x00007fff, /* dst_mask */ false), /* pcrel_offset */ + /* GOT 17 bits offset. */ HOWTO2 (R_NDS32_GOT17S2_RELA, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 17, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1624,10 +1642,11 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x0001ffff, /* src_mask */ 0x0001ffff, /* dst_mask */ false), /* pcrel_offset */ + /* A 5 bit address. */ HOWTO2 (R_NDS32_5_RELA, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 5, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1638,9 +1657,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x1f, /* src_mask */ 0x1f, /* dst_mask */ false), /* pcrel_offset */ + HOWTO2 (R_NDS32_10_UPCREL_RELA,/* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 9, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1651,9 +1671,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x1ff, /* src_mask */ 0x1ff, /* dst_mask */ true), /* pcrel_offset */ + HOWTO2 (R_NDS32_SDA_FP7U2_RELA,/* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1664,9 +1685,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x0000007f, /* src_mask */ 0x0000007f, /* dst_mask */ false), /* pcrel_offset */ + HOWTO2 (R_NDS32_WORD_9_PCREL_RELA,/* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1677,9 +1699,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0xff, /* src_mask */ 0xff, /* dst_mask */ true), /* pcrel_offset */ + HOWTO2 (R_NDS32_25_ABS_RELA, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1694,7 +1717,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A relative 17 bit relocation for ifc, right shifted by 1. */ HOWTO2 (R_NDS32_17IFC_PCREL_RELA,/* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1709,7 +1732,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A relative unsigned 10 bit relocation for ifc, right shifted by 1. */ HOWTO2 (R_NDS32_10IFCU_PCREL_RELA,/* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 9, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1724,7 +1747,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Like R_NDS32_HI20, but referring to the TLS LE entry for the symbol. */ HOWTO2 (R_NDS32_TLS_LE_HI20, /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1738,7 +1761,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_TLS_LE_LO12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1753,7 +1776,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Like R_NDS32_HI20, but referring to the TLS IE entry for the symbol. */ HOWTO2 (R_NDS32_TLS_IE_HI20, /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1767,7 +1790,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_TLS_IE_LO12S2,/* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1782,7 +1805,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* TLS LE TP offset relocation */ HOWTO2 (R_NDS32_TLS_TPOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1797,7 +1820,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* A 20 bit address. */ HOWTO2 (R_NDS32_TLS_LE_20, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1811,7 +1834,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_TLS_LE_15S0, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1822,9 +1845,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x7fff, /* src_mask */ 0x7fff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO2 (R_NDS32_TLS_LE_15S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1835,9 +1859,10 @@ static reloc_howto_type nds32_elf_howto_table[] = 0x7fff, /* src_mask */ 0x7fff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO2 (R_NDS32_TLS_LE_15S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1852,7 +1877,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for unconditional call sequence */ HOWTO2 (R_NDS32_LONGCALL4, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1867,7 +1892,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for conditional call sequence. */ HOWTO2 (R_NDS32_LONGCALL5, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1882,7 +1907,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for conditional call sequence. */ HOWTO2 (R_NDS32_LONGCALL6, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1897,7 +1922,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for unconditional branch sequence. */ HOWTO2 (R_NDS32_LONGJUMP4, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1912,7 +1937,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for conditional branch sequence. */ HOWTO2 (R_NDS32_LONGJUMP5, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1927,7 +1952,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for conditional branch sequence. */ HOWTO2 (R_NDS32_LONGJUMP6, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1942,7 +1967,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* Relax hint for conditional branch sequence. */ HOWTO2 (R_NDS32_LONGJUMP7, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1958,7 +1983,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_TLS_IE_LO12, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1974,7 +1999,7 @@ static reloc_howto_type nds32_elf_howto_table[] = entry for the symbol. */ HOWTO2 (R_NDS32_TLS_IEGP_HI20,/* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1988,7 +2013,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_TLS_IEGP_LO12,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2002,7 +2027,7 @@ static reloc_howto_type nds32_elf_howto_table[] = HOWTO2 (R_NDS32_TLS_IEGP_LO12S2,/* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2017,7 +2042,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* TLS description relocation */ HOWTO2 (R_NDS32_TLS_DESC, /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2032,7 +2057,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* TLS GD/LD description offset high part. */ HOWTO2 (R_NDS32_TLS_DESC_HI20,/* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2047,7 +2072,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* TLS GD/LD description offset low part. */ HOWTO2 (R_NDS32_TLS_DESC_LO12,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2062,7 +2087,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* TLS GD/LD description offset set (movi). */ HOWTO2 (R_NDS32_TLS_DESC_20, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2077,7 +2102,7 @@ static reloc_howto_type nds32_elf_howto_table[] = /* TLS GD/LD description offset set (lwi.gp). */ HOWTO2 (R_NDS32_TLS_DESC_SDA17S2,/* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 17, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2097,7 +2122,7 @@ static reloc_howto_type nds32_elf_howto_table[] = static reloc_howto_type nds32_elf_relax_howto_table[] = { HOWTO3 (R_NDS32_RELAX_ENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2108,9 +2133,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_GOT_SUFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2121,9 +2147,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_GOTOFF_SUFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2134,9 +2161,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_PLT_GOT_SUFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2147,9 +2175,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_MULCALL_SUFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2160,9 +2189,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_PTR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2173,9 +2203,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_PTR_COUNT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2186,9 +2217,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_PTR_RESOLVED, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2199,9 +2231,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_PLTBLOCK, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2212,9 +2245,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_RELAX_REGION_BEGIN,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2225,9 +2259,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_RELAX_REGION_END,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2238,9 +2273,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_MINUEND, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2251,9 +2287,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_SUBTRAHEND, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2264,9 +2301,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_DIFF8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2277,9 +2315,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0x000000ff, /* src_mask */ 0x000000ff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_DIFF16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2290,9 +2329,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_DIFF32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2303,9 +2343,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_DIFF_ULEB128, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2316,9 +2357,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_DATA, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2329,9 +2371,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_TRAN, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2342,9 +2385,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_TLS_LE_ADD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2355,9 +2399,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_TLS_LE_LS, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2368,9 +2413,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_EMPTY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2381,10 +2427,11 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + /* TLS GD/LD description address base addition. */ HOWTO3 (R_NDS32_TLS_DESC_ADD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2395,10 +2442,11 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + /* TLS GD/LD description function load. */ HOWTO3 (R_NDS32_TLS_DESC_FUNC,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2409,10 +2457,11 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + /* TLS DESC resolve function call. */ HOWTO3 (R_NDS32_TLS_DESC_CALL,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2423,10 +2472,11 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + /* TLS DESC variable access. */ HOWTO3 (R_NDS32_TLS_DESC_MEM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2437,10 +2487,11 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + /* TLS GD/LD description mark (@tlsdec). */ HOWTO3 (R_NDS32_RELAX_REMOVE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2451,10 +2502,11 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + /* TLS GD/LD description mark (@tlsdec). */ HOWTO3 (R_NDS32_RELAX_GROUP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2465,9 +2517,10 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO3 (R_NDS32_TLS_IEGP_LW, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2478,10 +2531,11 @@ static reloc_howto_type nds32_elf_relax_howto_table[] = { 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ + /* LA and FLSI relaxation. */ HOWTO3 (R_NDS32_LSI, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -13075,7 +13129,7 @@ nds32_elf_get_relocated_section_contents (bfd *abfd, { bfd_vma off; static reloc_howto_type none_howto - = HOWTO (0, 0, 3, 0, false, 0, complain_overflow_dont, NULL, + = HOWTO (0, 0, 0, 0, false, 0, complain_overflow_dont, NULL, "unused", false, 0, 0, false); off = (*parent)->address * OCTETS_PER_BYTE (input_bfd, diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c index d1e5d0e..806ec31 100644 --- a/bfd/elf32-nios2.c +++ b/bfd/elf32-nios2.c @@ -82,7 +82,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { /* No relocation. */ HOWTO (R_NIOS2_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -97,7 +97,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { /* 16-bit signed immediate relocation. */ HOWTO (R_NIOS2_S16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -112,7 +112,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { /* 16-bit unsigned immediate relocation. */ HOWTO (R_NIOS2_U16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -126,7 +126,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_PCREL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 6, /* bitpos */ @@ -140,7 +140,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_CALL26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -154,7 +154,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_IMM5, 0, - 2, + 4, 5, false, 6, @@ -168,7 +168,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_CACHE_OPX, 0, - 2, + 4, 5, false, 22, @@ -182,7 +182,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_IMM6, 0, - 2, + 4, 6, false, 6, @@ -196,7 +196,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_IMM8, 0, - 2, + 4, 8, false, 6, @@ -210,7 +210,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_HI16, 0, - 2, + 4, 32, false, 6, @@ -224,7 +224,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_LO16, 0, - 2, + 4, 32, false, 6, @@ -238,7 +238,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_HIADJ16, 0, - 2, + 4, 32, false, 6, @@ -252,7 +252,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_BFD_RELOC_32, 0, - 2, /* long */ + 4, /* long */ 32, false, 0, @@ -266,7 +266,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_BFD_RELOC_16, 0, - 1, /* short */ + 2, /* short */ 16, false, 0, @@ -280,7 +280,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_BFD_RELOC_8, 0, - 0, /* byte */ + 1, /* byte */ 8, false, 0, @@ -294,7 +294,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_GPREL, 0, - 2, + 4, 32, false, 6, @@ -308,7 +308,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_GNU_VTINHERIT, 0, - 2, /* short */ + 4, 0, false, 0, @@ -322,7 +322,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_GNU_VTENTRY, 0, - 2, /* byte */ + 4, 0, false, 0, @@ -336,7 +336,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_UJMP, 0, - 2, + 4, 32, false, 6, @@ -350,7 +350,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_CJMP, 0, - 2, + 4, 32, false, 6, @@ -364,7 +364,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_CALLR, 0, - 2, + 4, 32, false, 6, @@ -378,7 +378,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_ALIGN, 0, - 2, + 4, 0, false, 0, @@ -393,7 +393,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_GOT16, 0, - 2, + 4, 16, false, 6, @@ -407,7 +407,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_CALL16, 0, - 2, + 4, 16, false, 6, @@ -421,7 +421,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_GOTOFF_LO, 0, - 2, + 4, 16, false, 6, @@ -435,7 +435,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_GOTOFF_HA, 0, - 2, + 4, 16, false, 6, @@ -449,7 +449,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_PCREL_LO, 0, - 2, + 4, 16, true, 6, @@ -463,7 +463,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_PCREL_HA, 0, - 2, + 4, 16, false, /* This is a PC-relative relocation, but we need to subtract PC ourselves before the HIADJ. */ @@ -478,7 +478,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_GD16, 0, - 2, + 4, 16, false, 6, @@ -492,7 +492,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_LDM16, 0, - 2, + 4, 16, false, 6, @@ -506,7 +506,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_LDO16, 0, - 2, + 4, 16, false, 6, @@ -520,7 +520,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_IE16, 0, - 2, + 4, 16, false, 6, @@ -534,7 +534,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_LE16, 0, - 2, + 4, 16, false, 6, @@ -548,7 +548,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_DTPMOD, 0, - 2, + 4, 32, false, 0, @@ -562,7 +562,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_DTPREL, 0, - 2, + 4, 32, false, 0, @@ -576,7 +576,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_TPREL, 0, - 2, + 4, 32, false, 0, @@ -590,7 +590,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_COPY, 0, - 2, + 4, 32, false, 0, @@ -604,7 +604,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_GLOB_DAT, 0, - 2, + 4, 32, false, 0, @@ -618,7 +618,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_JUMP_SLOT, 0, - 2, + 4, 32, false, 0, @@ -632,7 +632,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_RELATIVE, 0, - 2, + 4, 32, false, 0, @@ -646,7 +646,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_GOTOFF, 0, - 2, + 4, 32, false, 0, @@ -660,7 +660,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_CALL26_NOAT, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -674,7 +674,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_GOT_LO, 0, - 2, + 4, 16, false, 6, @@ -688,7 +688,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_GOT_HA, 0, - 2, + 4, 16, false, 6, @@ -702,7 +702,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_CALL_LO, 0, - 2, + 4, 16, false, 6, @@ -716,7 +716,7 @@ static reloc_howto_type elf_nios2_r1_howto_table_rel[] = { HOWTO (R_NIOS2_CALL_HA, 0, - 2, + 4, 16, false, 6, @@ -735,7 +735,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { /* No relocation. */ HOWTO (R_NIOS2_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -750,7 +750,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { /* 16-bit signed immediate relocation. */ HOWTO (R_NIOS2_S16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 16, /* bitpos */ @@ -765,7 +765,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { /* 16-bit unsigned immediate relocation. */ HOWTO (R_NIOS2_U16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 16, /* bitpos */ @@ -779,7 +779,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_PCREL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 16, /* bitpos */ @@ -793,7 +793,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_CALL26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -807,7 +807,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_IMM5, 0, - 2, + 4, 5, false, 21, @@ -821,7 +821,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_CACHE_OPX, 0, - 2, + 4, 5, false, 11, @@ -835,7 +835,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_IMM6, 0, - 2, + 4, 6, false, 26, @@ -849,7 +849,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_IMM8, 0, - 2, + 4, 8, false, 24, @@ -863,7 +863,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_HI16, 0, - 2, + 4, 32, false, 16, @@ -877,7 +877,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_LO16, 0, - 2, + 4, 32, false, 16, @@ -891,7 +891,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_HIADJ16, 0, - 2, + 4, 32, false, 16, @@ -905,7 +905,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_BFD_RELOC_32, 0, - 2, /* long */ + 4, /* long */ 32, false, 0, @@ -919,7 +919,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_BFD_RELOC_16, 0, - 1, /* short */ + 2, /* short */ 16, false, 0, @@ -933,7 +933,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_BFD_RELOC_8, 0, - 0, /* byte */ + 1, /* byte */ 8, false, 0, @@ -947,7 +947,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_GPREL, 0, - 2, + 4, 32, false, 16, @@ -961,7 +961,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_GNU_VTINHERIT, 0, - 2, /* short */ + 4, 0, false, 0, @@ -975,7 +975,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_GNU_VTENTRY, 0, - 2, /* byte */ + 4, 0, false, 0, @@ -989,7 +989,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_UJMP, 0, - 2, + 4, 32, false, 16, @@ -1003,7 +1003,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_CJMP, 0, - 2, + 4, 32, false, 16, @@ -1017,7 +1017,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_CALLR, 0, - 2, + 4, 32, false, 16, @@ -1031,7 +1031,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_ALIGN, 0, - 2, + 4, 0, false, 0, @@ -1045,7 +1045,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_GOT16, 0, - 2, + 4, 16, false, 16, @@ -1059,7 +1059,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_CALL16, 0, - 2, + 4, 16, false, 16, @@ -1073,7 +1073,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_GOTOFF_LO, 0, - 2, + 4, 16, false, 16, @@ -1087,7 +1087,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_GOTOFF_HA, 0, - 2, + 4, 16, false, 16, @@ -1101,7 +1101,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_PCREL_LO, 0, - 2, + 4, 16, true, 16, @@ -1115,7 +1115,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_PCREL_HA, 0, - 2, + 4, 16, false, /* This is a PC-relative relocation, but we need to subtract PC ourselves before the HIADJ. */ @@ -1130,7 +1130,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_GD16, 0, - 2, + 4, 16, false, 16, @@ -1144,7 +1144,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_LDM16, 0, - 2, + 4, 16, false, 16, @@ -1158,7 +1158,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_LDO16, 0, - 2, + 4, 16, false, 16, @@ -1172,7 +1172,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_IE16, 0, - 2, + 4, 16, false, 16, @@ -1186,7 +1186,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_LE16, 0, - 2, + 4, 16, false, 16, @@ -1200,7 +1200,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_DTPMOD, 0, - 2, + 4, 32, false, 0, @@ -1214,7 +1214,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_DTPREL, 0, - 2, + 4, 32, false, 0, @@ -1228,7 +1228,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_TLS_TPREL, 0, - 2, + 4, 32, false, 0, @@ -1242,7 +1242,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_COPY, 0, - 2, + 4, 32, false, 0, @@ -1256,7 +1256,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_GLOB_DAT, 0, - 2, + 4, 32, false, 0, @@ -1270,7 +1270,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_JUMP_SLOT, 0, - 2, + 4, 32, false, 0, @@ -1284,7 +1284,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_RELATIVE, 0, - 2, + 4, 32, false, 0, @@ -1298,7 +1298,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_GOTOFF, 0, - 2, + 4, 32, false, 0, @@ -1312,7 +1312,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_CALL26_NOAT, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -1326,7 +1326,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_GOT_LO, 0, - 2, + 4, 16, false, 16, @@ -1340,7 +1340,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_GOT_HA, 0, - 2, + 4, 16, false, 16, @@ -1354,7 +1354,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_CALL_LO, 0, - 2, + 4, 16, false, 16, @@ -1368,7 +1368,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_CALL_HA, 0, - 2, + 4, 16, false, 16, @@ -1382,7 +1382,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_R2_S12, 0, - 2, + 4, 12, false, 16, @@ -1396,7 +1396,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_R2_I10_1_PCREL, 1, - 1, + 2, 10, true, 6, @@ -1410,7 +1410,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_R2_T1I7_1_PCREL, 1, - 1, + 2, 7, true, 9, @@ -1424,7 +1424,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_R2_T1I7_2, 2, - 1, + 2, 7, false, 9, @@ -1438,7 +1438,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_R2_T2I4, 0, - 1, + 2, 4, false, 12, @@ -1452,7 +1452,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_R2_T2I4_1, 1, - 1, + 2, 4, false, 12, @@ -1466,7 +1466,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_R2_T2I4_2, 2, - 1, + 2, 4, false, 12, @@ -1480,7 +1480,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_R2_X1I7_2, 2, - 1, + 2, 7, false, 6, @@ -1494,7 +1494,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_R2_X2L5, 0, - 1, + 2, 5, false, 6, @@ -1508,7 +1508,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_R2_F1I5_2, 2, - 1, + 2, 5, false, 6, @@ -1522,7 +1522,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_R2_L5I4X1, 2, - 1, + 2, 4, false, 6, @@ -1536,7 +1536,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_R2_T1X1I6, 0, - 1, + 2, 6, false, 9, @@ -1550,7 +1550,7 @@ static reloc_howto_type elf_nios2_r2_howto_table_rel[] = { HOWTO (R_NIOS2_R2_T1X1I6_2, 2, - 2, + 4, 6, false, 9, diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c index 2a06b3e..2967a62 100644 --- a/bfd/elf32-or1k.c +++ b/bfd/elf32-or1k.c @@ -49,7 +49,7 @@ static reloc_howto_type or1k_elf_howto_table[] = /* This reloc does nothing. */ HOWTO (R_OR1K_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -63,7 +63,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_32, 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -77,7 +77,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_16, 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -91,7 +91,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_8, 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -105,7 +105,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_LO_16_IN_INSN, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -119,7 +119,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_HI_16_IN_INSN, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -134,7 +134,7 @@ static reloc_howto_type or1k_elf_howto_table[] = /* A PC relative 26 bit relocation, right shifted by 2. */ HOWTO (R_OR1K_INSN_REL_26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -149,7 +149,7 @@ static reloc_howto_type or1k_elf_howto_table[] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_OR1K_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -164,7 +164,7 @@ static reloc_howto_type or1k_elf_howto_table[] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_OR1K_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -178,7 +178,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_32_PCREL, 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -192,7 +192,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_16_PCREL, 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -206,7 +206,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_8_PCREL, 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -220,7 +220,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_GOTPC_HI16, /* Type. */ 16, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -234,7 +234,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_GOTPC_LO16, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -248,7 +248,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -263,7 +263,7 @@ static reloc_howto_type or1k_elf_howto_table[] = /* A 26 bit PLT relocation. Shifted by 2. */ HOWTO (R_OR1K_PLT26, /* Type. */ 2, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 26, /* Bitsize. */ true, /* pc_relative. */ 0, /* Bitpos. */ @@ -277,7 +277,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_GOTOFF_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -291,7 +291,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_GOTOFF_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -305,7 +305,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_COPY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -319,7 +319,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -333,7 +333,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_JMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -347,7 +347,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_RELATIVE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -361,7 +361,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_GD_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -375,7 +375,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_GD_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -389,7 +389,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_LDM_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -403,7 +403,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_LDM_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -417,7 +417,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_LDO_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -431,7 +431,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_LDO_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -445,7 +445,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_IE_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -459,7 +459,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_IE_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -473,7 +473,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_LE_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -487,7 +487,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_LE_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -501,7 +501,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_TPOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -515,7 +515,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_DTPOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -529,7 +529,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_DTPMOD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -543,7 +543,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_AHI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -557,7 +557,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_GOTOFF_AHI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -571,7 +571,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_IE_AHI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -585,7 +585,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_LE_AHI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -599,7 +599,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_SLO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -613,7 +613,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_GOTOFF_SLO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -627,7 +627,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_LE_SLO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -646,7 +646,7 @@ static reloc_howto_type or1k_elf_howto_table[] = pc-relative relocations to local symbols. */ HOWTO (R_OR1K_PCREL_PG21, /* type */ 13, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -660,7 +660,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_GOT_PG21, /* type */ 13, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -674,7 +674,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_GD_PG21, /* type */ 13, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -688,7 +688,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_LDM_PG21, /* type */ 13, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -702,7 +702,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_IE_PG21, /* type */ 13, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -716,7 +716,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_LO13, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -730,7 +730,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_GOT_LO13, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -744,7 +744,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_GD_LO13, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -758,7 +758,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_LDM_LO13, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -772,7 +772,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_TLS_IE_LO13, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -786,7 +786,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_SLO13, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -801,7 +801,7 @@ static reloc_howto_type or1k_elf_howto_table[] = /* A 26 bit PLT relocation, using ADRP. Shifted by 2. */ HOWTO (R_OR1K_PLTA26, /* Type. */ 2, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 26, /* Bitsize. */ true, /* pc_relative. */ 0, /* Bitpos. */ @@ -815,7 +815,7 @@ static reloc_howto_type or1k_elf_howto_table[] = HOWTO (R_OR1K_GOT_AHI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -833,7 +833,7 @@ static reloc_howto_type or1k_elf_howto_table[] = static reloc_howto_type or1k_elf_got16_no_overflow_howto = HOWTO (R_OR1K_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-pj.c b/bfd/elf32-pj.c index 6d40aa5..f239975 100644 --- a/bfd/elf32-pj.c +++ b/bfd/elf32-pj.c @@ -114,7 +114,7 @@ static reloc_howto_type pj_elf_howto_table[] = /* No relocation. */ HOWTO (R_PJ_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -130,7 +130,7 @@ static reloc_howto_type pj_elf_howto_table[] = src_mask to a non-zero value is similar to the COFF toolchain. */ HOWTO (R_PJ_DATA_DIR32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -145,7 +145,7 @@ static reloc_howto_type pj_elf_howto_table[] = /* 32 bit PC relative relocation. */ HOWTO (R_PJ_CODE_REL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -160,7 +160,7 @@ static reloc_howto_type pj_elf_howto_table[] = /* 16 bit PC relative relocation. */ HOWTO (R_PJ_CODE_REL16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -175,7 +175,7 @@ static reloc_howto_type pj_elf_howto_table[] = EMPTY_HOWTO (5), HOWTO (R_PJ_CODE_DIR32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -196,7 +196,7 @@ static reloc_howto_type pj_elf_howto_table[] = HOWTO (R_PJ_CODE_LO16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -210,7 +210,7 @@ static reloc_howto_type pj_elf_howto_table[] = HOWTO (R_PJ_CODE_HI16, /* type */ 16, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -225,7 +225,7 @@ static reloc_howto_type pj_elf_howto_table[] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_PJ_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -240,7 +240,7 @@ static reloc_howto_type pj_elf_howto_table[] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_PJ_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 6dbb690..290d231 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -206,95 +206,95 @@ static reloc_howto_type *ppc_elf_howto_table[R_PPC_max]; static reloc_howto_type ppc_elf_howto_raw[] = { /* This reloc does nothing. */ - HOW (R_PPC_NONE, 3, 0, 0, 0, false, dont, + HOW (R_PPC_NONE, 0, 0, 0, 0, false, dont, bfd_elf_generic_reloc), /* A standard 32 bit relocation. */ - HOW (R_PPC_ADDR32, 2, 32, 0xffffffff, 0, false, dont, + HOW (R_PPC_ADDR32, 4, 32, 0xffffffff, 0, false, dont, bfd_elf_generic_reloc), /* An absolute 26 bit branch; the lower two bits must be zero. FIXME: we don't check that, we just clear them. */ - HOW (R_PPC_ADDR24, 2, 26, 0x3fffffc, 0, false, signed, + HOW (R_PPC_ADDR24, 4, 26, 0x3fffffc, 0, false, signed, bfd_elf_generic_reloc), /* A standard 16 bit relocation. */ - HOW (R_PPC_ADDR16, 1, 16, 0xffff, 0, false, bitfield, + HOW (R_PPC_ADDR16, 2, 16, 0xffff, 0, false, bitfield, bfd_elf_generic_reloc), /* A 16 bit relocation without overflow. */ - HOW (R_PPC_ADDR16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC_ADDR16_LO, 2, 16, 0xffff, 0, false, dont, bfd_elf_generic_reloc), /* The high order 16 bits of an address. */ - HOW (R_PPC_ADDR16_HI, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_ADDR16_HI, 2, 16, 0xffff, 16, false, dont, bfd_elf_generic_reloc), /* The high order 16 bits of an address, plus 1 if the contents of the low 16 bits, treated as a signed number, is negative. */ - HOW (R_PPC_ADDR16_HA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_ADDR16_HA, 2, 16, 0xffff, 16, false, dont, ppc_elf_addr16_ha_reloc), /* An absolute 16 bit branch; the lower two bits must be zero. FIXME: we don't check that, we just clear them. */ - HOW (R_PPC_ADDR14, 2, 16, 0xfffc, 0, false, signed, + HOW (R_PPC_ADDR14, 4, 16, 0xfffc, 0, false, signed, bfd_elf_generic_reloc), /* An absolute 16 bit branch, for which bit 10 should be set to indicate that the branch is expected to be taken. The lower two bits must be zero. */ - HOW (R_PPC_ADDR14_BRTAKEN, 2, 16, 0xfffc, 0, false, signed, + HOW (R_PPC_ADDR14_BRTAKEN, 4, 16, 0xfffc, 0, false, signed, bfd_elf_generic_reloc), /* An absolute 16 bit branch, for which bit 10 should be set to indicate that the branch is not expected to be taken. The lower two bits must be zero. */ - HOW (R_PPC_ADDR14_BRNTAKEN, 2, 16, 0xfffc, 0, false, signed, + HOW (R_PPC_ADDR14_BRNTAKEN, 4, 16, 0xfffc, 0, false, signed, bfd_elf_generic_reloc), /* A relative 26 bit branch; the lower two bits must be zero. */ - HOW (R_PPC_REL24, 2, 26, 0x3fffffc, 0, true, signed, + HOW (R_PPC_REL24, 4, 26, 0x3fffffc, 0, true, signed, bfd_elf_generic_reloc), /* A relative 16 bit branch; the lower two bits must be zero. */ - HOW (R_PPC_REL14, 2, 16, 0xfffc, 0, true, signed, + HOW (R_PPC_REL14, 4, 16, 0xfffc, 0, true, signed, bfd_elf_generic_reloc), /* A relative 16 bit branch. Bit 10 should be set to indicate that the branch is expected to be taken. The lower two bits must be zero. */ - HOW (R_PPC_REL14_BRTAKEN, 2, 16, 0xfffc, 0, true, signed, + HOW (R_PPC_REL14_BRTAKEN, 4, 16, 0xfffc, 0, true, signed, bfd_elf_generic_reloc), /* A relative 16 bit branch. Bit 10 should be set to indicate that the branch is not expected to be taken. The lower two bits must be zero. */ - HOW (R_PPC_REL14_BRNTAKEN, 2, 16, 0xfffc, 0, true, signed, + HOW (R_PPC_REL14_BRNTAKEN, 4, 16, 0xfffc, 0, true, signed, bfd_elf_generic_reloc), /* Like R_PPC_ADDR16, but referring to the GOT table entry for the symbol. */ - HOW (R_PPC_GOT16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_GOT16, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* Like R_PPC_ADDR16_LO, but referring to the GOT table entry for the symbol. */ - HOW (R_PPC_GOT16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC_GOT16_LO, 2, 16, 0xffff, 0, false, dont, ppc_elf_unhandled_reloc), /* Like R_PPC_ADDR16_HI, but referring to the GOT table entry for the symbol. */ - HOW (R_PPC_GOT16_HI, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_GOT16_HI, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Like R_PPC_ADDR16_HA, but referring to the GOT table entry for the symbol. */ - HOW (R_PPC_GOT16_HA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_GOT16_HA, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Like R_PPC_REL24, but referring to the procedure linkage table entry for the symbol. */ - HOW (R_PPC_PLTREL24, 2, 26, 0x3fffffc, 0, true, signed, + HOW (R_PPC_PLTREL24, 4, 26, 0x3fffffc, 0, true, signed, ppc_elf_unhandled_reloc), /* This is used only by the dynamic linker. The symbol should exist @@ -302,269 +302,269 @@ static reloc_howto_type ppc_elf_howto_raw[] = { dynamic linker copies the data addressed by the symbol from the shared library into the object, because the object being run has to have the data at some particular address. */ - HOW (R_PPC_COPY, 2, 32, 0, 0, false, dont, + HOW (R_PPC_COPY, 4, 32, 0, 0, false, dont, ppc_elf_unhandled_reloc), /* Like R_PPC_ADDR32, but used when setting global offset table entries. */ - HOW (R_PPC_GLOB_DAT, 2, 32, 0xffffffff, 0, false, dont, + HOW (R_PPC_GLOB_DAT, 4, 32, 0xffffffff, 0, false, dont, ppc_elf_unhandled_reloc), /* Marks a procedure linkage table entry for a symbol. */ - HOW (R_PPC_JMP_SLOT, 2, 32, 0, 0, false, dont, + HOW (R_PPC_JMP_SLOT, 4, 32, 0, 0, false, dont, ppc_elf_unhandled_reloc), /* Used only by the dynamic linker. When the object is run, this longword is set to the load address of the object, plus the addend. */ - HOW (R_PPC_RELATIVE, 2, 32, 0xffffffff, 0, false, dont, + HOW (R_PPC_RELATIVE, 4, 32, 0xffffffff, 0, false, dont, bfd_elf_generic_reloc), /* Like R_PPC_REL24, but uses the value of the symbol within the object rather than the final value. Normally used for _GLOBAL_OFFSET_TABLE_. */ - HOW (R_PPC_LOCAL24PC, 2, 26, 0x3fffffc, 0, true, signed, + HOW (R_PPC_LOCAL24PC, 4, 26, 0x3fffffc, 0, true, signed, bfd_elf_generic_reloc), /* Like R_PPC_ADDR32, but may be unaligned. */ - HOW (R_PPC_UADDR32, 2, 32, 0xffffffff, 0, false, dont, + HOW (R_PPC_UADDR32, 4, 32, 0xffffffff, 0, false, dont, bfd_elf_generic_reloc), /* Like R_PPC_ADDR16, but may be unaligned. */ - HOW (R_PPC_UADDR16, 1, 16, 0xffff, 0, false, bitfield, + HOW (R_PPC_UADDR16, 2, 16, 0xffff, 0, false, bitfield, bfd_elf_generic_reloc), /* 32-bit PC relative */ - HOW (R_PPC_REL32, 2, 32, 0xffffffff, 0, true, dont, + HOW (R_PPC_REL32, 4, 32, 0xffffffff, 0, true, dont, bfd_elf_generic_reloc), /* 32-bit relocation to the symbol's procedure linkage table. FIXME: not supported. */ - HOW (R_PPC_PLT32, 2, 32, 0, 0, false, dont, + HOW (R_PPC_PLT32, 4, 32, 0, 0, false, dont, ppc_elf_unhandled_reloc), /* 32-bit PC relative relocation to the symbol's procedure linkage table. FIXME: not supported. */ - HOW (R_PPC_PLTREL32, 2, 32, 0, 0, true, dont, + HOW (R_PPC_PLTREL32, 4, 32, 0, 0, true, dont, ppc_elf_unhandled_reloc), /* Like R_PPC_ADDR16_LO, but referring to the PLT table entry for the symbol. */ - HOW (R_PPC_PLT16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC_PLT16_LO, 2, 16, 0xffff, 0, false, dont, ppc_elf_unhandled_reloc), /* Like R_PPC_ADDR16_HI, but referring to the PLT table entry for the symbol. */ - HOW (R_PPC_PLT16_HI, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_PLT16_HI, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Like R_PPC_ADDR16_HA, but referring to the PLT table entry for the symbol. */ - HOW (R_PPC_PLT16_HA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_PLT16_HA, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* A sign-extended 16 bit value relative to _SDA_BASE_, for use with small data items. */ - HOW (R_PPC_SDAREL16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_SDAREL16, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* 16-bit section relative relocation. */ - HOW (R_PPC_SECTOFF, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_SECTOFF, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* 16-bit lower half section relative relocation. */ - HOW (R_PPC_SECTOFF_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC_SECTOFF_LO, 2, 16, 0xffff, 0, false, dont, ppc_elf_unhandled_reloc), /* 16-bit upper half section relative relocation. */ - HOW (R_PPC_SECTOFF_HI, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_SECTOFF_HI, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* 16-bit upper half adjusted section relative relocation. */ - HOW (R_PPC_SECTOFF_HA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_SECTOFF_HA, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Marker relocs for TLS. */ - HOW (R_PPC_TLS, 2, 32, 0, 0, false, dont, + HOW (R_PPC_TLS, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), - HOW (R_PPC_TLSGD, 2, 32, 0, 0, false, dont, + HOW (R_PPC_TLSGD, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), - HOW (R_PPC_TLSLD, 2, 32, 0, 0, false, dont, + HOW (R_PPC_TLSLD, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), /* Marker relocs on inline plt call instructions. */ - HOW (R_PPC_PLTSEQ, 2, 32, 0, 0, false, dont, + HOW (R_PPC_PLTSEQ, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), - HOW (R_PPC_PLTCALL, 2, 32, 0, 0, false, dont, + HOW (R_PPC_PLTCALL, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), /* Computes the load module index of the load module that contains the definition of its TLS sym. */ - HOW (R_PPC_DTPMOD32, 2, 32, 0xffffffff, 0, false, dont, + HOW (R_PPC_DTPMOD32, 4, 32, 0xffffffff, 0, false, dont, ppc_elf_unhandled_reloc), /* Computes a dtv-relative displacement, the difference between the value of sym+add and the base address of the thread-local storage block that contains the definition of sym, minus 0x8000. */ - HOW (R_PPC_DTPREL32, 2, 32, 0xffffffff, 0, false, dont, + HOW (R_PPC_DTPREL32, 4, 32, 0xffffffff, 0, false, dont, ppc_elf_unhandled_reloc), /* A 16 bit dtprel reloc. */ - HOW (R_PPC_DTPREL16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_DTPREL16, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* Like DTPREL16, but no overflow. */ - HOW (R_PPC_DTPREL16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC_DTPREL16_LO, 2, 16, 0xffff, 0, false, dont, ppc_elf_unhandled_reloc), /* Like DTPREL16_LO, but next higher group of 16 bits. */ - HOW (R_PPC_DTPREL16_HI, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_DTPREL16_HI, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Like DTPREL16_HI, but adjust for low 16 bits. */ - HOW (R_PPC_DTPREL16_HA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_DTPREL16_HA, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Computes a tp-relative displacement, the difference between the value of sym+add and the value of the thread pointer (r13). */ - HOW (R_PPC_TPREL32, 2, 32, 0xffffffff, 0, false, dont, + HOW (R_PPC_TPREL32, 4, 32, 0xffffffff, 0, false, dont, ppc_elf_unhandled_reloc), /* A 16 bit tprel reloc. */ - HOW (R_PPC_TPREL16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_TPREL16, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* Like TPREL16, but no overflow. */ - HOW (R_PPC_TPREL16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC_TPREL16_LO, 2, 16, 0xffff, 0, false, dont, ppc_elf_unhandled_reloc), /* Like TPREL16_LO, but next higher group of 16 bits. */ - HOW (R_PPC_TPREL16_HI, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_TPREL16_HI, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Like TPREL16_HI, but adjust for low 16 bits. */ - HOW (R_PPC_TPREL16_HA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_TPREL16_HA, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Allocates two contiguous entries in the GOT to hold a tls_index structure, with values (sym+add)@dtpmod and (sym+add)@dtprel, and computes the offset to the first entry. */ - HOW (R_PPC_GOT_TLSGD16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_GOT_TLSGD16, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* Like GOT_TLSGD16, but no overflow. */ - HOW (R_PPC_GOT_TLSGD16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC_GOT_TLSGD16_LO, 2, 16, 0xffff, 0, false, dont, ppc_elf_unhandled_reloc), /* Like GOT_TLSGD16_LO, but next higher group of 16 bits. */ - HOW (R_PPC_GOT_TLSGD16_HI, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_GOT_TLSGD16_HI, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Like GOT_TLSGD16_HI, but adjust for low 16 bits. */ - HOW (R_PPC_GOT_TLSGD16_HA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_GOT_TLSGD16_HA, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Allocates two contiguous entries in the GOT to hold a tls_index structure, with values (sym+add)@dtpmod and zero, and computes the offset to the first entry. */ - HOW (R_PPC_GOT_TLSLD16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_GOT_TLSLD16, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* Like GOT_TLSLD16, but no overflow. */ - HOW (R_PPC_GOT_TLSLD16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC_GOT_TLSLD16_LO, 2, 16, 0xffff, 0, false, dont, ppc_elf_unhandled_reloc), /* Like GOT_TLSLD16_LO, but next higher group of 16 bits. */ - HOW (R_PPC_GOT_TLSLD16_HI, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_GOT_TLSLD16_HI, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Like GOT_TLSLD16_HI, but adjust for low 16 bits. */ - HOW (R_PPC_GOT_TLSLD16_HA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_GOT_TLSLD16_HA, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Allocates an entry in the GOT with value (sym+add)@dtprel, and computes the offset to the entry. */ - HOW (R_PPC_GOT_DTPREL16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_GOT_DTPREL16, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* Like GOT_DTPREL16, but no overflow. */ - HOW (R_PPC_GOT_DTPREL16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC_GOT_DTPREL16_LO, 2, 16, 0xffff, 0, false, dont, ppc_elf_unhandled_reloc), /* Like GOT_DTPREL16_LO, but next higher group of 16 bits. */ - HOW (R_PPC_GOT_DTPREL16_HI, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_GOT_DTPREL16_HI, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Like GOT_DTPREL16_HI, but adjust for low 16 bits. */ - HOW (R_PPC_GOT_DTPREL16_HA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_GOT_DTPREL16_HA, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Allocates an entry in the GOT with value (sym+add)@tprel, and computes the offset to the entry. */ - HOW (R_PPC_GOT_TPREL16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_GOT_TPREL16, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* Like GOT_TPREL16, but no overflow. */ - HOW (R_PPC_GOT_TPREL16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC_GOT_TPREL16_LO, 2, 16, 0xffff, 0, false, dont, ppc_elf_unhandled_reloc), /* Like GOT_TPREL16_LO, but next higher group of 16 bits. */ - HOW (R_PPC_GOT_TPREL16_HI, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_GOT_TPREL16_HI, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* Like GOT_TPREL16_HI, but adjust for low 16 bits. */ - HOW (R_PPC_GOT_TPREL16_HA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_GOT_TPREL16_HA, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* The remaining relocs are from the Embedded ELF ABI, and are not in the SVR4 ELF ABI. */ /* 32 bit value resulting from the addend minus the symbol. */ - HOW (R_PPC_EMB_NADDR32, 2, 32, 0xffffffff, 0, false, dont, + HOW (R_PPC_EMB_NADDR32, 4, 32, 0xffffffff, 0, false, dont, ppc_elf_unhandled_reloc), /* 16 bit value resulting from the addend minus the symbol. */ - HOW (R_PPC_EMB_NADDR16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_EMB_NADDR16, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* 16 bit value resulting from the addend minus the symbol. */ - HOW (R_PPC_EMB_NADDR16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC_EMB_NADDR16_LO, 2, 16, 0xffff, 0, false, dont, ppc_elf_unhandled_reloc), /* The high order 16 bits of the addend minus the symbol. */ - HOW (R_PPC_EMB_NADDR16_HI, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_EMB_NADDR16_HI, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* The high order 16 bits of the result of the addend minus the address, plus 1 if the contents of the low 16 bits, treated as a signed number, is negative. */ - HOW (R_PPC_EMB_NADDR16_HA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC_EMB_NADDR16_HA, 2, 16, 0xffff, 16, false, dont, ppc_elf_unhandled_reloc), /* 16 bit value resulting from allocating a 4 byte word to hold an address in the .sdata section, and returning the offset from _SDA_BASE_ for that relocation. */ - HOW (R_PPC_EMB_SDAI16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_EMB_SDAI16, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* 16 bit value resulting from allocating a 4 byte word to hold an address in the .sdata2 section, and returning the offset from _SDA2_BASE_ for that relocation. */ - HOW (R_PPC_EMB_SDA2I16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_EMB_SDA2I16, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* A sign-extended 16 bit value relative to _SDA2_BASE_, for use with small data items. */ - HOW (R_PPC_EMB_SDA2REL, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_EMB_SDA2REL, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* Relocate against either _SDA_BASE_ or _SDA2_BASE_, filling in the 16 bit signed offset from the appropriate base, and filling in the register field with the appropriate register (0, 2, or 13). */ - HOW (R_PPC_EMB_SDA21, 2, 16, 0xffff, 0, false, signed, + HOW (R_PPC_EMB_SDA21, 4, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* Relocation not handled: R_PPC_EMB_MRKREF */ @@ -577,121 +577,121 @@ static reloc_howto_type ppc_elf_howto_raw[] = { /* PC relative relocation against either _SDA_BASE_ or _SDA2_BASE_, filling in the 16 bit signed offset from the appropriate base, and filling in the register field with the appropriate register (0, 2, or 13). */ - HOW (R_PPC_EMB_RELSDA, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_EMB_RELSDA, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* A relative 8 bit branch. */ - HOW (R_PPC_VLE_REL8, 1, 8, 0xff, 1, true, signed, + HOW (R_PPC_VLE_REL8, 2, 8, 0xff, 1, true, signed, bfd_elf_generic_reloc), /* A relative 15 bit branch. */ - HOW (R_PPC_VLE_REL15, 2, 16, 0xfffe, 0, true, signed, + HOW (R_PPC_VLE_REL15, 4, 16, 0xfffe, 0, true, signed, bfd_elf_generic_reloc), /* A relative 24 bit branch. */ - HOW (R_PPC_VLE_REL24, 2, 25, 0x1fffffe, 0, true, signed, + HOW (R_PPC_VLE_REL24, 4, 25, 0x1fffffe, 0, true, signed, bfd_elf_generic_reloc), /* The 16 LSBS in split16a format. */ - HOW (R_PPC_VLE_LO16A, 2, 16, 0x1f07ff, 0, false, dont, + HOW (R_PPC_VLE_LO16A, 4, 16, 0x1f07ff, 0, false, dont, ppc_elf_unhandled_reloc), /* The 16 LSBS in split16d format. */ - HOW (R_PPC_VLE_LO16D, 2, 16, 0x3e007ff, 0, false, dont, + HOW (R_PPC_VLE_LO16D, 4, 16, 0x3e007ff, 0, false, dont, ppc_elf_unhandled_reloc), /* Bits 16-31 split16a format. */ - HOW (R_PPC_VLE_HI16A, 2, 16, 0x1f07ff, 16, false, dont, + HOW (R_PPC_VLE_HI16A, 4, 16, 0x1f07ff, 16, false, dont, ppc_elf_unhandled_reloc), /* Bits 16-31 split16d format. */ - HOW (R_PPC_VLE_HI16D, 2, 16, 0x3e007ff, 16, false, dont, + HOW (R_PPC_VLE_HI16D, 4, 16, 0x3e007ff, 16, false, dont, ppc_elf_unhandled_reloc), /* Bits 16-31 (High Adjusted) in split16a format. */ - HOW (R_PPC_VLE_HA16A, 2, 16, 0x1f07ff, 16, false, dont, + HOW (R_PPC_VLE_HA16A, 4, 16, 0x1f07ff, 16, false, dont, ppc_elf_unhandled_reloc), /* Bits 16-31 (High Adjusted) in split16d format. */ - HOW (R_PPC_VLE_HA16D, 2, 16, 0x3e007ff, 16, false, dont, + HOW (R_PPC_VLE_HA16D, 4, 16, 0x3e007ff, 16, false, dont, ppc_elf_unhandled_reloc), /* This reloc is like R_PPC_EMB_SDA21 but only applies to e_add16i instructions. If the register base is 0 then the linker changes the e_add16i to an e_li instruction. */ - HOW (R_PPC_VLE_SDA21, 2, 16, 0xffff, 0, false, signed, + HOW (R_PPC_VLE_SDA21, 4, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), /* Like R_PPC_VLE_SDA21 but ignore overflow. */ - HOW (R_PPC_VLE_SDA21_LO, 2, 16, 0xffff, 0, false, dont, + HOW (R_PPC_VLE_SDA21_LO, 4, 16, 0xffff, 0, false, dont, ppc_elf_unhandled_reloc), /* The 16 LSBS relative to _SDA_BASE_ in split16a format. */ - HOW (R_PPC_VLE_SDAREL_LO16A, 2, 16, 0x1f07ff, 0, false, dont, + HOW (R_PPC_VLE_SDAREL_LO16A, 4, 16, 0x1f07ff, 0, false, dont, ppc_elf_unhandled_reloc), /* The 16 LSBS relative to _SDA_BASE_ in split16d format. */ - HOW (R_PPC_VLE_SDAREL_LO16D, 2, 16, 0x3e007ff, 0, false, dont, + HOW (R_PPC_VLE_SDAREL_LO16D, 4, 16, 0x3e007ff, 0, false, dont, ppc_elf_unhandled_reloc), /* Bits 16-31 relative to _SDA_BASE_ in split16a format. */ - HOW (R_PPC_VLE_SDAREL_HI16A, 2, 16, 0x1f07ff, 16, false, dont, + HOW (R_PPC_VLE_SDAREL_HI16A, 4, 16, 0x1f07ff, 16, false, dont, ppc_elf_unhandled_reloc), /* Bits 16-31 relative to _SDA_BASE_ in split16d format. */ - HOW (R_PPC_VLE_SDAREL_HI16D, 2, 16, 0x3e007ff, 16, false, dont, + HOW (R_PPC_VLE_SDAREL_HI16D, 4, 16, 0x3e007ff, 16, false, dont, ppc_elf_unhandled_reloc), /* Bits 16-31 (HA) relative to _SDA_BASE split16a format. */ - HOW (R_PPC_VLE_SDAREL_HA16A, 2, 16, 0x1f07ff, 16, false, dont, + HOW (R_PPC_VLE_SDAREL_HA16A, 4, 16, 0x1f07ff, 16, false, dont, ppc_elf_unhandled_reloc), /* Bits 16-31 (HA) relative to _SDA_BASE split16d format. */ - HOW (R_PPC_VLE_SDAREL_HA16D, 2, 16, 0x3e007ff, 16, false, dont, + HOW (R_PPC_VLE_SDAREL_HA16D, 4, 16, 0x3e007ff, 16, false, dont, ppc_elf_unhandled_reloc), /* e_li split20 format. */ - HOW (R_PPC_VLE_ADDR20, 2, 20, 0x1f7fff, 0, false, dont, + HOW (R_PPC_VLE_ADDR20, 4, 20, 0x1f7fff, 0, false, dont, ppc_elf_unhandled_reloc), - HOW (R_PPC_IRELATIVE, 2, 32, 0xffffffff, 0, false, dont, + HOW (R_PPC_IRELATIVE, 4, 32, 0xffffffff, 0, false, dont, ppc_elf_unhandled_reloc), /* A 16 bit relative relocation. */ - HOW (R_PPC_REL16, 1, 16, 0xffff, 0, true, signed, + HOW (R_PPC_REL16, 2, 16, 0xffff, 0, true, signed, bfd_elf_generic_reloc), /* A 16 bit relative relocation without overflow. */ - HOW (R_PPC_REL16_LO, 1, 16, 0xffff, 0, true, dont, + HOW (R_PPC_REL16_LO, 2, 16, 0xffff, 0, true, dont, bfd_elf_generic_reloc), /* The high order 16 bits of a relative address. */ - HOW (R_PPC_REL16_HI, 1, 16, 0xffff, 16, true, dont, + HOW (R_PPC_REL16_HI, 2, 16, 0xffff, 16, true, dont, bfd_elf_generic_reloc), /* The high order 16 bits of a relative address, plus 1 if the contents of the low 16 bits, treated as a signed number, is negative. */ - HOW (R_PPC_REL16_HA, 1, 16, 0xffff, 16, true, dont, + HOW (R_PPC_REL16_HA, 2, 16, 0xffff, 16, true, dont, ppc_elf_addr16_ha_reloc), /* Like R_PPC_REL16_HA but for split field in addpcis. */ - HOW (R_PPC_REL16DX_HA, 2, 16, 0x1fffc1, 16, true, signed, + HOW (R_PPC_REL16DX_HA, 4, 16, 0x1fffc1, 16, true, signed, ppc_elf_addr16_ha_reloc), /* A split-field reloc for addpcis, non-relative (gas internal use only). */ - HOW (R_PPC_16DX_HA, 2, 16, 0x1fffc1, 16, false, signed, + HOW (R_PPC_16DX_HA, 4, 16, 0x1fffc1, 16, false, signed, ppc_elf_addr16_ha_reloc), /* GNU extension to record C++ vtable hierarchy. */ - HOW (R_PPC_GNU_VTINHERIT, 0, 0, 0, 0, false, dont, + HOW (R_PPC_GNU_VTINHERIT, 1, 0, 0, 0, false, dont, NULL), /* GNU extension to record C++ vtable member usage. */ - HOW (R_PPC_GNU_VTENTRY, 0, 0, 0, 0, false, dont, + HOW (R_PPC_GNU_VTENTRY, 1, 0, 0, 0, false, dont, NULL), /* Phony reloc to handle AIX style TOC entries. */ - HOW (R_PPC_TOC16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC_TOC16, 2, 16, 0xffff, 0, false, signed, ppc_elf_unhandled_reloc), }; diff --git a/bfd/elf32-pru.c b/bfd/elf32-pru.c index 9e73fa6..7a75fbd 100644 --- a/bfd/elf32-pru.c +++ b/bfd/elf32-pru.c @@ -65,7 +65,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { /* No relocation. */ HOWTO (R_PRU_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -79,7 +79,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { HOWTO (R_PRU_16_PMEM, 2, - 1, /* short */ + 2, /* short */ 32, false, 0, @@ -93,7 +93,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { HOWTO (R_PRU_U16_PMEMIMM, 2, - 2, + 4, 32, false, 8, @@ -107,7 +107,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { HOWTO (R_PRU_BFD_RELOC_16, 0, - 1, /* short */ + 2, /* short */ 16, false, 0, @@ -122,7 +122,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { /* 16-bit unsigned immediate relocation. */ HOWTO (R_PRU_U16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 8, /* bitpos */ @@ -136,7 +136,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { HOWTO (R_PRU_32_PMEM, 2, - 2, /* long */ + 4, /* long */ 32, false, 0, @@ -150,7 +150,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { HOWTO (R_PRU_BFD_RELOC_32, 0, - 2, /* long */ + 4, /* long */ 32, false, 0, @@ -164,7 +164,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { HOWTO (R_PRU_S10_PCREL, 2, - 2, + 4, 10, true, 0, @@ -178,7 +178,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { HOWTO (R_PRU_U8_PCREL, 2, - 2, + 4, 8, true, 0, @@ -192,7 +192,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { HOWTO (R_PRU_LDI32, 0, /* rightshift */ - 4, /* size (4 = 8bytes) */ + 8, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -207,7 +207,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { /* GNU-specific relocations. */ HOWTO (R_PRU_GNU_BFD_RELOC_8, 0, - 0, /* byte */ + 1, /* byte */ 8, false, 0, @@ -221,7 +221,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { HOWTO (R_PRU_GNU_DIFF8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -235,7 +235,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { HOWTO (R_PRU_GNU_DIFF16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -249,7 +249,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { HOWTO (R_PRU_GNU_DIFF32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -263,7 +263,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { HOWTO (R_PRU_GNU_DIFF16_PMEM, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -277,7 +277,7 @@ static reloc_howto_type elf_pru_howto_table_rel[] = { HOWTO (R_PRU_GNU_DIFF32_PMEM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-rl78.c b/bfd/elf32-rl78.c index 6c1b2d7..958bff0 100644 --- a/bfd/elf32-rl78.c +++ b/bfd/elf32-rl78.c @@ -44,25 +44,25 @@ static bfd_reloc_status_type rl78_special_reloc (bfd *, arelent *, asymbol *, vo static reloc_howto_type rl78_elf_howto_table [] = { - RL78REL (NONE, 3, 0, 0, 0, dont, false), - RL78REL (DIR32, 2, 32, 0xffffffff, 0, dont, false), - RL78REL (DIR24S, 2, 24, 0xffffff, 0, signed, false), - RL78REL (DIR16, 1, 16, 0xffff, 0, bitfield, false), - RL78REL (DIR16U, 1, 16, 0xffff, 0, unsigned, false), - RL78REL (DIR16S, 1, 16, 0xffff, 0, bitfield, false), - RL78REL (DIR8, 0, 8, 0xff, 0, dont, false), - RL78REL (DIR8U, 0, 8, 0xff, 0, unsigned, false), - RL78REL (DIR8S, 0, 8, 0xff, 0, bitfield, false), - RL78REL (DIR24S_PCREL, 2, 24, 0xffffff, 0, signed, true), - RL78REL (DIR16S_PCREL, 1, 16, 0xffff, 0, signed, true), - RL78REL (DIR8S_PCREL, 0, 8, 0xff, 0, signed, true), - RL78REL (DIR16UL, 1, 16, 0xffff, 2, unsigned, false), - RL78REL (DIR16UW, 1, 16, 0xffff, 1, unsigned, false), - RL78REL (DIR8UL, 0, 8, 0xff, 2, unsigned, false), - RL78REL (DIR8UW, 0, 8, 0xff, 1, unsigned, false), - RL78REL (DIR32_REV, 2, 32, 0xffffffff, 0, dont, false), - RL78REL (DIR16_REV, 1, 16, 0xffff, 0, bitfield, false), - RL78REL (DIR3U_PCREL, 0, 3, 0x7, 0, unsigned, true), + RL78REL (NONE, 0, 0, 0, 0, dont, false), + RL78REL (DIR32, 4, 32, 0xffffffff, 0, dont, false), + RL78REL (DIR24S, 4, 24, 0xffffff, 0, signed, false), + RL78REL (DIR16, 2, 16, 0xffff, 0, bitfield, false), + RL78REL (DIR16U, 2, 16, 0xffff, 0, unsigned, false), + RL78REL (DIR16S, 2, 16, 0xffff, 0, bitfield, false), + RL78REL (DIR8, 1, 8, 0xff, 0, dont, false), + RL78REL (DIR8U, 1, 8, 0xff, 0, unsigned, false), + RL78REL (DIR8S, 1, 8, 0xff, 0, bitfield, false), + RL78REL (DIR24S_PCREL, 4, 24, 0xffffff, 0, signed, true), + RL78REL (DIR16S_PCREL, 2, 16, 0xffff, 0, signed, true), + RL78REL (DIR8S_PCREL, 1, 8, 0xff, 0, signed, true), + RL78REL (DIR16UL, 2, 16, 0xffff, 2, unsigned, false), + RL78REL (DIR16UW, 2, 16, 0xffff, 1, unsigned, false), + RL78REL (DIR8UL, 1, 8, 0xff, 2, unsigned, false), + RL78REL (DIR8UW, 1, 8, 0xff, 1, unsigned, false), + RL78REL (DIR32_REV, 4, 32, 0xffffffff, 0, dont, false), + RL78REL (DIR16_REV, 2, 16, 0xffff, 0, bitfield, false), + RL78REL (DIR3U_PCREL, 1, 3, 0x7, 0, unsigned, true), EMPTY_HOWTO (0x13), EMPTY_HOWTO (0x14), @@ -92,9 +92,9 @@ static reloc_howto_type rl78_elf_howto_table [] = EMPTY_HOWTO (0x2b), EMPTY_HOWTO (0x2c), - RL78REL (RH_RELAX, 3, 0, 0, 0, dont, false), - RL78REL (RH_SFR, 0, 8, 0xff, 0, unsigned, false), - RL78REL (RH_SADDR, 0, 8, 0xff, 0, unsigned, false), + RL78REL (RH_RELAX, 0, 0, 0, 0, dont, false), + RL78REL (RH_SFR, 1, 8, 0xff, 0, unsigned, false), + RL78REL (RH_SADDR, 1, 8, 0xff, 0, unsigned, false), EMPTY_HOWTO (0x30), EMPTY_HOWTO (0x31), @@ -114,23 +114,23 @@ static reloc_howto_type rl78_elf_howto_table [] = EMPTY_HOWTO (0x3f), EMPTY_HOWTO (0x40), - RL78_OP_REL (ABS32, 2, 32, 0xffffffff, 0, dont, false), - RL78_OP_REL (ABS24S, 2, 24, 0xffffff, 0, signed, false), - RL78_OP_REL (ABS16, 1, 16, 0xffff, 0, bitfield, false), - RL78_OP_REL (ABS16U, 1, 16, 0xffff, 0, unsigned, false), - RL78_OP_REL (ABS16S, 1, 16, 0xffff, 0, signed, false), - RL78_OP_REL (ABS8, 0, 8, 0xff, 0, bitfield, false), - RL78_OP_REL (ABS8U, 0, 8, 0xff, 0, unsigned, false), - RL78_OP_REL (ABS8S, 0, 8, 0xff, 0, signed, false), - RL78_OP_REL (ABS24S_PCREL, 2, 24, 0xffffff, 0, signed, true), - RL78_OP_REL (ABS16S_PCREL, 1, 16, 0xffff, 0, signed, true), - RL78_OP_REL (ABS8S_PCREL, 0, 8, 0xff, 0, signed, true), - RL78_OP_REL (ABS16UL, 1, 16, 0xffff, 0, unsigned, false), - RL78_OP_REL (ABS16UW, 1, 16, 0xffff, 0, unsigned, false), - RL78_OP_REL (ABS8UL, 0, 8, 0xff, 0, unsigned, false), - RL78_OP_REL (ABS8UW, 0, 8, 0xff, 0, unsigned, false), - RL78_OP_REL (ABS32_REV, 2, 32, 0xffffffff, 0, dont, false), - RL78_OP_REL (ABS16_REV, 1, 16, 0xffff, 0, bitfield, false), + RL78_OP_REL (ABS32, 4, 32, 0xffffffff, 0, dont, false), + RL78_OP_REL (ABS24S, 4, 24, 0xffffff, 0, signed, false), + RL78_OP_REL (ABS16, 2, 16, 0xffff, 0, bitfield, false), + RL78_OP_REL (ABS16U, 2, 16, 0xffff, 0, unsigned, false), + RL78_OP_REL (ABS16S, 2, 16, 0xffff, 0, signed, false), + RL78_OP_REL (ABS8, 1, 8, 0xff, 0, bitfield, false), + RL78_OP_REL (ABS8U, 1, 8, 0xff, 0, unsigned, false), + RL78_OP_REL (ABS8S, 1, 8, 0xff, 0, signed, false), + RL78_OP_REL (ABS24S_PCREL, 4, 24, 0xffffff, 0, signed, true), + RL78_OP_REL (ABS16S_PCREL, 2, 16, 0xffff, 0, signed, true), + RL78_OP_REL (ABS8S_PCREL, 1, 8, 0xff, 0, signed, true), + RL78_OP_REL (ABS16UL, 2, 16, 0xffff, 0, unsigned, false), + RL78_OP_REL (ABS16UW, 2, 16, 0xffff, 0, unsigned, false), + RL78_OP_REL (ABS8UL, 1, 8, 0xff, 0, unsigned, false), + RL78_OP_REL (ABS8UW, 1, 8, 0xff, 0, unsigned, false), + RL78_OP_REL (ABS32_REV, 4, 32, 0xffffffff, 0, dont, false), + RL78_OP_REL (ABS16_REV, 2, 16, 0xffff, 0, bitfield, false), #define STACK_REL_P(x) ((x) <= R_RL78_ABS16_REV && (x) >= R_RL78_ABS32) @@ -182,29 +182,29 @@ static reloc_howto_type rl78_elf_howto_table [] = EMPTY_HOWTO (0x7e), EMPTY_HOWTO (0x7f), - RL78_OP_REL (SYM, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPneg, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPadd, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPsub, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPmul, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPdiv, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPshla, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPshra, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPsctsize, 3, 0, 0, 0, dont, false), + RL78_OP_REL (SYM, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPneg, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPadd, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPsub, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPmul, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPdiv, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPshla, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPshra, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPsctsize, 0, 0, 0, 0, dont, false), EMPTY_HOWTO (0x89), EMPTY_HOWTO (0x8a), EMPTY_HOWTO (0x8b), EMPTY_HOWTO (0x8c), - RL78_OP_REL (OPscttop, 3, 0, 0, 0, dont, false), + RL78_OP_REL (OPscttop, 0, 0, 0, 0, dont, false), EMPTY_HOWTO (0x8e), EMPTY_HOWTO (0x8f), - RL78_OP_REL (OPand, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPor, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPxor, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPnot, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPmod, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPromtop, 3, 0, 0, 0, dont, false), - RL78_OP_REL (OPramtop, 3, 0, 0, 0, dont, false) + RL78_OP_REL (OPand, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPor, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPxor, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPnot, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPmod, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPromtop, 0, 0, 0, 0, dont, false), + RL78_OP_REL (OPramtop, 0, 0, 0, 0, dont, false) }; /* Map BFD reloc types to RL78 ELF reloc types. */ diff --git a/bfd/elf32-rx.c b/bfd/elf32-rx.c index 7983687..80d1fe5 100644 --- a/bfd/elf32-rx.c +++ b/bfd/elf32-rx.c @@ -49,25 +49,25 @@ void rx_dump_symtab (bfd *, void *, void *); static reloc_howto_type rx_elf_howto_table [] = { - RXREL (NONE, 3, 0, 0, dont, false), - RXREL (DIR32, 2, 32, 0, signed, false), - RXREL (DIR24S, 2, 24, 0, signed, false), - RXREL (DIR16, 1, 16, 0, dont, false), - RXREL (DIR16U, 1, 16, 0, unsigned, false), - RXREL (DIR16S, 1, 16, 0, signed, false), - RXREL (DIR8, 0, 8, 0, dont, false), - RXREL (DIR8U, 0, 8, 0, unsigned, false), - RXREL (DIR8S, 0, 8, 0, signed, false), - RXREL (DIR24S_PCREL, 2, 24, 0, signed, true), - RXREL (DIR16S_PCREL, 1, 16, 0, signed, true), - RXREL (DIR8S_PCREL, 0, 8, 0, signed, true), - RXREL (DIR16UL, 1, 16, 2, unsigned, false), - RXREL (DIR16UW, 1, 16, 1, unsigned, false), - RXREL (DIR8UL, 0, 8, 2, unsigned, false), - RXREL (DIR8UW, 0, 8, 1, unsigned, false), - RXREL (DIR32_REV, 1, 16, 0, dont, false), - RXREL (DIR16_REV, 1, 16, 0, dont, false), - RXREL (DIR3U_PCREL, 0, 3, 0, dont, true), + RXREL (NONE, 0, 0, 0, dont, false), + RXREL (DIR32, 4, 32, 0, signed, false), + RXREL (DIR24S, 4, 24, 0, signed, false), + RXREL (DIR16, 2, 16, 0, dont, false), + RXREL (DIR16U, 2, 16, 0, unsigned, false), + RXREL (DIR16S, 2, 16, 0, signed, false), + RXREL (DIR8, 1, 8, 0, dont, false), + RXREL (DIR8U, 1, 8, 0, unsigned, false), + RXREL (DIR8S, 1, 8, 0, signed, false), + RXREL (DIR24S_PCREL, 4, 24, 0, signed, true), + RXREL (DIR16S_PCREL, 2, 16, 0, signed, true), + RXREL (DIR8S_PCREL, 1, 8, 0, signed, true), + RXREL (DIR16UL, 2, 16, 2, unsigned, false), + RXREL (DIR16UW, 2, 16, 1, unsigned, false), + RXREL (DIR8UL, 1, 8, 2, unsigned, false), + RXREL (DIR8UW, 1, 8, 1, unsigned, false), + RXREL (DIR32_REV, 2, 16, 0, dont, false), + RXREL (DIR16_REV, 2, 16, 0, dont, false), + RXREL (DIR3U_PCREL, 1, 3, 0, dont, true), EMPTY_HOWTO (0x13), EMPTY_HOWTO (0x14), @@ -83,20 +83,20 @@ static reloc_howto_type rx_elf_howto_table [] = EMPTY_HOWTO (0x1e), EMPTY_HOWTO (0x1f), - RXREL (RH_3_PCREL, 0, 3, 0, signed, true), - RXREL (RH_16_OP, 1, 16, 0, signed, false), - RXREL (RH_24_OP, 2, 24, 0, signed, false), - RXREL (RH_32_OP, 2, 32, 0, signed, false), - RXREL (RH_24_UNS, 2, 24, 0, unsigned, false), - RXREL (RH_8_NEG, 0, 8, 0, signed, false), - RXREL (RH_16_NEG, 1, 16, 0, signed, false), - RXREL (RH_24_NEG, 2, 24, 0, signed, false), - RXREL (RH_32_NEG, 2, 32, 0, signed, false), - RXREL (RH_DIFF, 2, 32, 0, signed, false), - RXREL (RH_GPRELB, 1, 16, 0, unsigned, false), - RXREL (RH_GPRELW, 1, 16, 0, unsigned, false), - RXREL (RH_GPRELL, 1, 16, 0, unsigned, false), - RXREL (RH_RELAX, 0, 0, 0, dont, false), + RXREL (RH_3_PCREL, 1, 3, 0, signed, true), + RXREL (RH_16_OP, 2, 16, 0, signed, false), + RXREL (RH_24_OP, 4, 24, 0, signed, false), + RXREL (RH_32_OP, 4, 32, 0, signed, false), + RXREL (RH_24_UNS, 4, 24, 0, unsigned, false), + RXREL (RH_8_NEG, 1, 8, 0, signed, false), + RXREL (RH_16_NEG, 2, 16, 0, signed, false), + RXREL (RH_24_NEG, 4, 24, 0, signed, false), + RXREL (RH_32_NEG, 4, 32, 0, signed, false), + RXREL (RH_DIFF, 4, 32, 0, signed, false), + RXREL (RH_GPRELB, 2, 16, 0, unsigned, false), + RXREL (RH_GPRELW, 2, 16, 0, unsigned, false), + RXREL (RH_GPRELL, 2, 16, 0, unsigned, false), + RXREL (RH_RELAX, 1, 0, 0, dont, false), EMPTY_HOWTO (0x2e), EMPTY_HOWTO (0x2f), @@ -118,23 +118,23 @@ static reloc_howto_type rx_elf_howto_table [] = EMPTY_HOWTO (0x3f), EMPTY_HOWTO (0x40), - RXREL (ABS32, 2, 32, 0, dont, false), - RXREL (ABS24S, 2, 24, 0, signed, false), - RXREL (ABS16, 1, 16, 0, dont, false), - RXREL (ABS16U, 1, 16, 0, unsigned, false), - RXREL (ABS16S, 1, 16, 0, signed, false), - RXREL (ABS8, 0, 8, 0, dont, false), - RXREL (ABS8U, 0, 8, 0, unsigned, false), - RXREL (ABS8S, 0, 8, 0, signed, false), - RXREL (ABS24S_PCREL, 2, 24, 0, signed, true), - RXREL (ABS16S_PCREL, 1, 16, 0, signed, true), - RXREL (ABS8S_PCREL, 0, 8, 0, signed, true), - RXREL (ABS16UL, 1, 16, 0, unsigned, false), - RXREL (ABS16UW, 1, 16, 0, unsigned, false), - RXREL (ABS8UL, 0, 8, 0, unsigned, false), - RXREL (ABS8UW, 0, 8, 0, unsigned, false), - RXREL (ABS32_REV, 2, 32, 0, dont, false), - RXREL (ABS16_REV, 1, 16, 0, dont, false), + RXREL (ABS32, 4, 32, 0, dont, false), + RXREL (ABS24S, 4, 24, 0, signed, false), + RXREL (ABS16, 2, 16, 0, dont, false), + RXREL (ABS16U, 2, 16, 0, unsigned, false), + RXREL (ABS16S, 2, 16, 0, signed, false), + RXREL (ABS8, 1, 8, 0, dont, false), + RXREL (ABS8U, 1, 8, 0, unsigned, false), + RXREL (ABS8S, 1, 8, 0, signed, false), + RXREL (ABS24S_PCREL, 4, 24, 0, signed, true), + RXREL (ABS16S_PCREL, 2, 16, 0, signed, true), + RXREL (ABS8S_PCREL, 1, 8, 0, signed, true), + RXREL (ABS16UL, 2, 16, 0, unsigned, false), + RXREL (ABS16UW, 2, 16, 0, unsigned, false), + RXREL (ABS8UL, 1, 8, 0, unsigned, false), + RXREL (ABS8UW, 1, 8, 0, unsigned, false), + RXREL (ABS32_REV, 4, 32, 0, dont, false), + RXREL (ABS16_REV, 2, 16, 0, dont, false), #define STACK_REL_P(x) ((x) <= R_RX_ABS16_REV && (x) >= R_RX_ABS32) @@ -181,54 +181,54 @@ static reloc_howto_type rx_elf_howto_table [] = /* A 5-bit unsigned displacement to a B/W/L address, at bit position 8/12. */ /* ---- ---- 4--- 3210. */ #define R_RX_RH_ABS5p8B 0x78 - RXREL (RH_ABS5p8B, 0, 0, 0, dont, false), + RXREL (RH_ABS5p8B, 1, 0, 0, dont, false), #define R_RX_RH_ABS5p8W 0x79 - RXREL (RH_ABS5p8W, 0, 0, 0, dont, false), + RXREL (RH_ABS5p8W, 1, 0, 0, dont, false), #define R_RX_RH_ABS5p8L 0x7a - RXREL (RH_ABS5p8L, 0, 0, 0, dont, false), + RXREL (RH_ABS5p8L, 1, 0, 0, dont, false), /* A 5-bit unsigned displacement to a B/W/L address, at bit position 5/12. */ /* ---- -432 1--- 0---. */ #define R_RX_RH_ABS5p5B 0x7b - RXREL (RH_ABS5p5B, 0, 0, 0, dont, false), + RXREL (RH_ABS5p5B, 1, 0, 0, dont, false), #define R_RX_RH_ABS5p5W 0x7c - RXREL (RH_ABS5p5W, 0, 0, 0, dont, false), + RXREL (RH_ABS5p5W, 1, 0, 0, dont, false), #define R_RX_RH_ABS5p5L 0x7d - RXREL (RH_ABS5p5L, 0, 0, 0, dont, false), + RXREL (RH_ABS5p5L, 1, 0, 0, dont, false), /* A 4-bit unsigned immediate at bit position 8. */ #define R_RX_RH_UIMM4p8 0x7e - RXREL (RH_UIMM4p8, 0, 0, 0, dont, false), + RXREL (RH_UIMM4p8, 1, 0, 0, dont, false), /* A 4-bit negative unsigned immediate at bit position 8. */ #define R_RX_RH_UNEG4p8 0x7f - RXREL (RH_UNEG4p8, 0, 0, 0, dont, false), + RXREL (RH_UNEG4p8, 1, 0, 0, dont, false), /* End of internal relocs. */ - RXREL (SYM, 2, 32, 0, dont, false), - RXREL (OPneg, 2, 32, 0, dont, false), - RXREL (OPadd, 2, 32, 0, dont, false), - RXREL (OPsub, 2, 32, 0, dont, false), - RXREL (OPmul, 2, 32, 0, dont, false), - RXREL (OPdiv, 2, 32, 0, dont, false), - RXREL (OPshla, 2, 32, 0, dont, false), - RXREL (OPshra, 2, 32, 0, dont, false), - RXREL (OPsctsize, 2, 32, 0, dont, false), + RXREL (SYM, 4, 32, 0, dont, false), + RXREL (OPneg, 4, 32, 0, dont, false), + RXREL (OPadd, 4, 32, 0, dont, false), + RXREL (OPsub, 4, 32, 0, dont, false), + RXREL (OPmul, 4, 32, 0, dont, false), + RXREL (OPdiv, 4, 32, 0, dont, false), + RXREL (OPshla, 4, 32, 0, dont, false), + RXREL (OPshra, 4, 32, 0, dont, false), + RXREL (OPsctsize, 4, 32, 0, dont, false), EMPTY_HOWTO (0x89), EMPTY_HOWTO (0x8a), EMPTY_HOWTO (0x8b), EMPTY_HOWTO (0x8c), - RXREL (OPscttop, 2, 32, 0, dont, false), + RXREL (OPscttop, 4, 32, 0, dont, false), EMPTY_HOWTO (0x8e), EMPTY_HOWTO (0x8f), - RXREL (OPand, 2, 32, 0, dont, false), - RXREL (OPor, 2, 32, 0, dont, false), - RXREL (OPxor, 2, 32, 0, dont, false), - RXREL (OPnot, 2, 32, 0, dont, false), - RXREL (OPmod, 2, 32, 0, dont, false), - RXREL (OPromtop, 2, 32, 0, dont, false), - RXREL (OPramtop, 2, 32, 0, dont, false) + RXREL (OPand, 4, 32, 0, dont, false), + RXREL (OPor, 4, 32, 0, dont, false), + RXREL (OPxor, 4, 32, 0, dont, false), + RXREL (OPnot, 4, 32, 0, dont, false), + RXREL (OPmod, 4, 32, 0, dont, false), + RXREL (OPromtop, 4, 32, 0, dont, false), + RXREL (OPramtop, 4, 32, 0, dont, false) }; /* Map BFD reloc types to RX ELF reloc types. */ diff --git a/bfd/elf32-s12z.c b/bfd/elf32-s12z.c index 5a7f151..8c346d7 100644 --- a/bfd/elf32-s12z.c +++ b/bfd/elf32-s12z.c @@ -100,7 +100,7 @@ static reloc_howto_type elf_s12z_howto_table[] = /* This reloc does nothing. */ HOWTO (R_S12Z_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -115,7 +115,7 @@ static reloc_howto_type elf_s12z_howto_table[] = /* A 24 bit absolute relocation emitted by the OPR mode operands */ HOWTO (R_S12Z_OPR, /* type */ 0, /* rightshift */ - 5, /* size (0 = byte, 1 = short, 2 = long) */ + 3, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -130,7 +130,7 @@ static reloc_howto_type elf_s12z_howto_table[] = /* The purpose of this reloc is not known */ HOWTO (R_S12Z_UKNWN_2, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -145,7 +145,7 @@ static reloc_howto_type elf_s12z_howto_table[] = /* A 15 bit PC-rel relocation */ HOWTO (R_S12Z_PCREL_7_15, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 15, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -160,7 +160,7 @@ static reloc_howto_type elf_s12z_howto_table[] = /* A 24 bit absolute relocation emitted by EXT24 mode operands */ HOWTO (R_S12Z_EXT24, /* type */ 0, /* rightshift */ - 5, /* size (0 = byte, 1 = short, 2 = long) */ + 3, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -175,7 +175,7 @@ static reloc_howto_type elf_s12z_howto_table[] = /* An 18 bit absolute relocation */ HOWTO (R_S12Z_EXT18, /* type */ 0, /* rightshift */ - 5, /* size (0 = byte, 1 = short, 2 = long) */ + 3, /* size */ 18, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -198,7 +198,7 @@ static reloc_howto_type elf_s12z_howto_table[] = HOWTO (R_S12Z_CW32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -213,7 +213,7 @@ static reloc_howto_type elf_s12z_howto_table[] = /* A 32 bit absolute relocation */ HOWTO (R_S12Z_EXT32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c index 2934f18..197696b 100644 --- a/bfd/elf32-s390.c +++ b/bfd/elf32-s390.c @@ -40,7 +40,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 */ @@ -52,130 +52,130 @@ 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, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_COPY, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_COPY", false, 0,0xffffffff, false), - HOWTO(R_390_GLOB_DAT, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_GLOB_DAT, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GLOB_DAT", false, 0,0xffffffff, false), - HOWTO(R_390_JMP_SLOT, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_JMP_SLOT, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_JMP_SLOT", false, 0,0xffffffff, false), - HOWTO(R_390_RELATIVE, 0, 2, 32, true, 0, complain_overflow_bitfield, + HOWTO(R_390_RELATIVE, 0, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_RELATIVE", false, 0,0xffffffff, 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,0xffffffff, false), - HOWTO(R_390_GOTPC, 0, 2, 32, true, 0, complain_overflow_bitfield, + HOWTO(R_390_GOTPC, 0, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_GOTPC", false, 0,0xffffffff, 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,0xffffffff, true), EMPTY_HOWTO (R_390_64), /* Empty entry for R_390_64. */ EMPTY_HOWTO (R_390_PC64), /* Empty entry for R_390_PC64. */ EMPTY_HOWTO (R_390_GOT64), /* Empty entry for R_390_GOT64. */ EMPTY_HOWTO (R_390_PLT64), /* Empty entry for R_390_PLT64. */ - 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,0xffffffff, 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), EMPTY_HOWTO (R_390_GOTOFF64), /* Empty entry for R_390_GOTOFF64. */ - 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), EMPTY_HOWTO (R_390_GOTPLT64), /* Empty entry for R_390_GOTPLT64. */ - 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,0xffffffff, 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), EMPTY_HOWTO (R_390_PLTOFF64), /* Empty entry for R_390_PLTOFF64. */ - 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), - HOWTO(R_390_TLS_GD32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_GD32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_GD32", false, 0, 0xffffffff, false), EMPTY_HOWTO (R_390_TLS_GD64), /* Empty entry for R_390_TLS_GD64. */ - 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), - HOWTO(R_390_TLS_GOTIE32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_GOTIE32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_GOTIE32", false, 0, 0xffffffff, false), EMPTY_HOWTO (R_390_TLS_GOTIE64), /* Empty entry for R_390_TLS_GOTIE64. */ - HOWTO(R_390_TLS_LDM32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_LDM32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_LDM32", false, 0, 0xffffffff, false), EMPTY_HOWTO (R_390_TLS_LDM64), /* Empty entry for R_390_TLS_LDM64. */ - HOWTO(R_390_TLS_IE32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_IE32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_IE32", false, 0, 0xffffffff, false), EMPTY_HOWTO (R_390_TLS_IE64), /* Empty entry for R_390_TLS_IE64. */ - 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, 0xffffffff, true), - HOWTO(R_390_TLS_LE32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_LE32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_LE32", false, 0, 0xffffffff, false), EMPTY_HOWTO (R_390_TLS_LE64), /* Empty entry for R_390_TLS_LE64. */ - HOWTO(R_390_TLS_LDO32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_LDO32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_LDO32", false, 0, 0xffffffff, false), EMPTY_HOWTO (R_390_TLS_LDO64), /* Empty entry for R_390_TLS_LDO64. */ - HOWTO(R_390_TLS_DTPMOD, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_DTPMOD, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_DTPMOD", false, 0, 0xffffffff, false), - HOWTO(R_390_TLS_DTPOFF, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_DTPOFF, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_DTPOFF", false, 0, 0xffffffff, false), - HOWTO(R_390_TLS_TPOFF, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_390_TLS_TPOFF, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_TLS_TPOFF", false, 0, 0xffffffff, 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, 2, 32, true, 0, complain_overflow_bitfield, + HOWTO(R_390_IRELATIVE, 0, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_390_IRELATIVE", false, 0, 0xffffffff, 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 elf32_s390_vtinherit_howto = - HOWTO (R_390_GNU_VTINHERIT, 0,2,0,false,0,complain_overflow_dont, NULL, "R_390_GNU_VTINHERIT", false,0, 0, false); + HOWTO (R_390_GNU_VTINHERIT, 0,4,0,false,0,complain_overflow_dont, NULL, "R_390_GNU_VTINHERIT", false,0, 0, false); static reloc_howto_type elf32_s390_vtentry_howto = - HOWTO (R_390_GNU_VTENTRY, 0,2,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,4,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 ATTRIBUTE_UNUSED, diff --git a/bfd/elf32-score.c b/bfd/elf32-score.c index 5bc78d5..41c8aff 100644 --- a/bfd/elf32-score.c +++ b/bfd/elf32-score.c @@ -639,7 +639,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* No relocation. */ HOWTO (R_SCORE_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -654,7 +654,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_HI16 */ HOWTO (R_SCORE_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 1, /* bitpos */ @@ -669,7 +669,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_LO16 */ HOWTO (R_SCORE_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 1, /* bitpos */ @@ -684,7 +684,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_BCMP */ HOWTO (R_SCORE_BCMP, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 1, /* bitpos */ @@ -699,7 +699,7 @@ static reloc_howto_type elf32_score_howto_table[] = /*R_SCORE_24 */ HOWTO (R_SCORE_24, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 1, /* bitpos */ @@ -714,7 +714,7 @@ static reloc_howto_type elf32_score_howto_table[] = /*R_SCORE_PC19 */ HOWTO (R_SCORE_PC19, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 1, /* bitpos */ @@ -729,7 +729,7 @@ static reloc_howto_type elf32_score_howto_table[] = /*R_SCORE16_11 */ HOWTO (R_SCORE16_11, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 11, /* bitsize */ false, /* pc_relative */ 1, /* bitpos */ @@ -744,7 +744,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE16_PC8 */ HOWTO (R_SCORE16_PC8, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 9, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -759,7 +759,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* 32 bit absolute */ HOWTO (R_SCORE_ABS32, /* type 8 */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -774,7 +774,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* 16 bit absolute */ HOWTO (R_SCORE_ABS16, /* type 11 */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -789,7 +789,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_DUMMY2 */ HOWTO (R_SCORE_DUMMY2, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -804,7 +804,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_GP15 */ HOWTO (R_SCORE_GP15, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -819,7 +819,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_SCORE_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -834,7 +834,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* GNU extension to record C++ vtable member usage */ HOWTO (R_SCORE_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -849,7 +849,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* Reference to global offset table. */ HOWTO (R_SCORE_GOT15, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -864,7 +864,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_SCORE_GOT_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 1, /* bitpos */ @@ -879,7 +879,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* 15 bit call through global offset table. */ HOWTO (R_SCORE_CALL15, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -894,7 +894,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* 32 bit GP relative reference. */ HOWTO (R_SCORE_GPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -909,7 +909,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* 32 bit symbol relative relocation. */ HOWTO (R_SCORE_REL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -924,7 +924,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_DUMMY_HI16 */ HOWTO (R_SCORE_DUMMY_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 1, /* bitpos */ @@ -939,7 +939,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_IMM30 */ HOWTO (R_SCORE_IMM30, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 30, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -954,7 +954,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_IMM32 */ HOWTO (R_SCORE_IMM32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 5, /* bitpos */ diff --git a/bfd/elf32-score7.c b/bfd/elf32-score7.c index 2d146cc..761d853 100644 --- a/bfd/elf32-score7.c +++ b/bfd/elf32-score7.c @@ -542,7 +542,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* No relocation. */ HOWTO (R_SCORE_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -557,7 +557,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_HI16 */ HOWTO (R_SCORE_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 1, /* bitpos */ @@ -572,7 +572,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_LO16 */ HOWTO (R_SCORE_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 1, /* bitpos */ @@ -587,7 +587,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_BCMP */ HOWTO (R_SCORE_BCMP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 1, /* bitpos */ @@ -601,7 +601,7 @@ static reloc_howto_type elf32_score_howto_table[] = HOWTO (R_SCORE_24, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 1, /* bitpos */ @@ -616,7 +616,7 @@ static reloc_howto_type elf32_score_howto_table[] = /*R_SCORE_PC19 */ HOWTO (R_SCORE_PC19, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 1, /* bitpos */ @@ -631,7 +631,7 @@ static reloc_howto_type elf32_score_howto_table[] = /*R_SCORE16_11 */ HOWTO (R_SCORE16_11, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 11, /* bitsize */ false, /* pc_relative */ 1, /* bitpos */ @@ -646,7 +646,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE16_PC8 */ HOWTO (R_SCORE16_PC8, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -661,7 +661,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* 32 bit absolute */ HOWTO (R_SCORE_ABS32, /* type 8 */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -676,7 +676,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* 16 bit absolute */ HOWTO (R_SCORE_ABS16, /* type 11 */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -691,7 +691,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_DUMMY2 */ HOWTO (R_SCORE_DUMMY2, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -706,7 +706,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_GP15 */ HOWTO (R_SCORE_GP15, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -721,7 +721,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_SCORE_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -736,7 +736,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* GNU extension to record C++ vtable member usage */ HOWTO (R_SCORE_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -751,7 +751,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* Reference to global offset table. */ HOWTO (R_SCORE_GOT15, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -766,7 +766,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_SCORE_GOT_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 1, /* bitpos */ @@ -781,7 +781,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* 15 bit call through global offset table. */ HOWTO (R_SCORE_CALL15, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -796,7 +796,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* 32 bit GP relative reference. */ HOWTO (R_SCORE_GPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -811,7 +811,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* 32 bit symbol relative relocation. */ HOWTO (R_SCORE_REL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -826,7 +826,7 @@ static reloc_howto_type elf32_score_howto_table[] = /* R_SCORE_DUMMY_HI16 */ HOWTO (R_SCORE_DUMMY_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 1, /* bitpos */ diff --git a/bfd/elf32-sh-relocs.h b/bfd/elf32-sh-relocs.h index 98d1c79..dc9487c 100644 --- a/bfd/elf32-sh-relocs.h +++ b/bfd/elf32-sh-relocs.h @@ -20,7 +20,7 @@ /* No relocation. */ HOWTO (R_SH_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -36,7 +36,7 @@ src_mask to a non-zero value is similar to the COFF toolchain. */ HOWTO (R_SH_DIR32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -51,7 +51,7 @@ /* 32 bit PC relative relocation. */ HOWTO (R_SH_REL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -66,7 +66,7 @@ /* 8 bit PC relative branch divided by 2. */ HOWTO (R_SH_DIR8WPN, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -83,7 +83,7 @@ eventual value of a symbol. */ HOWTO (R_SH_IND12W, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 12, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -98,7 +98,7 @@ /* 8 bit unsigned PC relative divided by 4. */ HOWTO (R_SH_DIR8WPL, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -113,7 +113,7 @@ /* 8 bit unsigned PC relative divided by 2. */ HOWTO (R_SH_DIR8WPZ, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -130,7 +130,7 @@ implemented. */ HOWTO (R_SH_DIR8BP, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -147,7 +147,7 @@ is not implemented. */ HOWTO (R_SH_DIR8W, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -164,7 +164,7 @@ is not implemented. */ HOWTO (R_SH_DIR8L, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -179,7 +179,7 @@ /* 8 bit PC relative divided by 2 - but specified in a very odd way. */ HOWTO (R_SH_LOOP_START, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -194,7 +194,7 @@ /* 8 bit PC relative divided by 2 - but specified in a very odd way. */ HOWTO (R_SH_LOOP_END, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -225,7 +225,7 @@ /* GNU extension to record C++ vtable hierarchy */ HOWTO (R_SH_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -240,7 +240,7 @@ /* GNU extension to record C++ vtable member usage */ HOWTO (R_SH_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -257,7 +257,7 @@ between the reloc address and L2. */ HOWTO (R_SH_SWITCH8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -274,7 +274,7 @@ between the reloc address and L2. */ HOWTO (R_SH_SWITCH16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -291,7 +291,7 @@ between the reloc address and L2. */ HOWTO (R_SH_SWITCH32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -309,7 +309,7 @@ which loads the register used in the function call. */ HOWTO (R_SH_USES, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -327,7 +327,7 @@ object file. */ HOWTO (R_SH_COUNT, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -344,7 +344,7 @@ aligned. */ HOWTO (R_SH_ALIGN, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -361,7 +361,7 @@ contains data, unless this reloc is seen. */ HOWTO (R_SH_CODE, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -377,7 +377,7 @@ instructions when it sees data that is not instructions. */ HOWTO (R_SH_DATA, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -394,7 +394,7 @@ instructions which are the targets of branches. */ HOWTO (R_SH_LABEL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -409,7 +409,7 @@ /* The next 12 are only supported via linking in SHC-generated objects. */ HOWTO (R_SH_DIR16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -423,7 +423,7 @@ HOWTO (R_SH_DIR8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -437,7 +437,7 @@ HOWTO (R_SH_DIR8UL, /* type */ 2, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -451,7 +451,7 @@ HOWTO (R_SH_DIR8UW, /* type */ 1, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -465,7 +465,7 @@ HOWTO (R_SH_DIR8U, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -479,7 +479,7 @@ HOWTO (R_SH_DIR8SW, /* type */ 1, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -493,7 +493,7 @@ HOWTO (R_SH_DIR8S, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -507,7 +507,7 @@ HOWTO (R_SH_DIR4UL, /* type */ 2, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 4, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -521,7 +521,7 @@ HOWTO (R_SH_DIR4UW, /* type */ 1, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 4, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -535,7 +535,7 @@ HOWTO (R_SH_DIR4U, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 4, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -549,7 +549,7 @@ HOWTO (R_SH_PSHA, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ false, /* pc_relative */ 4, /* bitpos */ @@ -563,7 +563,7 @@ HOWTO (R_SH_PSHL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ false, /* pc_relative */ 4, /* bitpos */ @@ -587,7 +587,7 @@ HOWTO (R_SH_DIR16S, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -692,7 +692,7 @@ HOWTO (R_SH_TLS_GD_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -706,7 +706,7 @@ HOWTO (R_SH_TLS_LD_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -720,7 +720,7 @@ HOWTO (R_SH_TLS_LDO_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -734,7 +734,7 @@ HOWTO (R_SH_TLS_IE_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -748,7 +748,7 @@ HOWTO (R_SH_TLS_LE_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -762,7 +762,7 @@ HOWTO (R_SH_TLS_DTPMOD32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -776,7 +776,7 @@ HOWTO (R_SH_TLS_DTPOFF32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -790,7 +790,7 @@ HOWTO (R_SH_TLS_TPOFF32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -813,7 +813,7 @@ HOWTO (R_SH_GOT32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -827,7 +827,7 @@ HOWTO (R_SH_PLT32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -841,7 +841,7 @@ HOWTO (R_SH_COPY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -855,7 +855,7 @@ HOWTO (R_SH_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -869,7 +869,7 @@ HOWTO (R_SH_JMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -883,7 +883,7 @@ HOWTO (R_SH_RELATIVE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -897,7 +897,7 @@ HOWTO (R_SH_GOTOFF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -911,7 +911,7 @@ HOWTO (R_SH_GOTPC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -925,7 +925,7 @@ HOWTO (R_SH_GOTPLT32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -974,7 +974,7 @@ /* FDPIC-relative offset to a GOT entry, for movi20. */ HOWTO (R_SH_GOT20, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -989,7 +989,7 @@ /* FDPIC-relative offset to a data object, for movi20. */ HOWTO (R_SH_GOTOFF20, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1004,7 +1004,7 @@ /* FDPIC-relative offset to a GOT entry for a function descriptor. */ HOWTO (R_SH_GOTFUNCDESC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1020,7 +1020,7 @@ for movi20. */ HOWTO (R_SH_GOTFUNCDESC20, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1035,7 +1035,7 @@ /* FDPIC-relative offset to a function descriptor. */ HOWTO (R_SH_GOTOFFFUNCDESC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1050,7 +1050,7 @@ /* FDPIC-relative offset to a function descriptor, for movi20. */ HOWTO (R_SH_GOTOFFFUNCDESC20, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 20, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1065,7 +1065,7 @@ /* Address of an official function descriptor. */ HOWTO (R_SH_FUNCDESC, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1080,7 +1080,7 @@ /* Function descriptor to be filled in by the dynamic linker. */ HOWTO (R_SH_FUNCDESC_VALUE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c index 8cad72b..565176e 100644 --- a/bfd/elf32-spu.c +++ b/bfd/elf32-spu.c @@ -40,58 +40,58 @@ static bfd_reloc_status_type spu_elf_rel9 (bfd *, arelent *, asymbol *, array, so it must be declared in the order of that type. */ static reloc_howto_type elf_howto_table[] = { - HOWTO (R_SPU_NONE, 0, 3, 0, false, 0, complain_overflow_dont, + HOWTO (R_SPU_NONE, 0, 0, 0, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "SPU_NONE", false, 0, 0x00000000, false), - HOWTO (R_SPU_ADDR10, 4, 2, 10, false, 14, complain_overflow_bitfield, + HOWTO (R_SPU_ADDR10, 4, 4, 10, false, 14, complain_overflow_bitfield, bfd_elf_generic_reloc, "SPU_ADDR10", false, 0, 0x00ffc000, false), - HOWTO (R_SPU_ADDR16, 2, 2, 16, false, 7, complain_overflow_bitfield, + HOWTO (R_SPU_ADDR16, 2, 4, 16, false, 7, complain_overflow_bitfield, bfd_elf_generic_reloc, "SPU_ADDR16", false, 0, 0x007fff80, false), - HOWTO (R_SPU_ADDR16_HI, 16, 2, 16, false, 7, complain_overflow_bitfield, + HOWTO (R_SPU_ADDR16_HI, 16, 4, 16, false, 7, complain_overflow_bitfield, bfd_elf_generic_reloc, "SPU_ADDR16_HI", false, 0, 0x007fff80, false), - HOWTO (R_SPU_ADDR16_LO, 0, 2, 16, false, 7, complain_overflow_dont, + HOWTO (R_SPU_ADDR16_LO, 0, 4, 16, false, 7, complain_overflow_dont, bfd_elf_generic_reloc, "SPU_ADDR16_LO", false, 0, 0x007fff80, false), - HOWTO (R_SPU_ADDR18, 0, 2, 18, false, 7, complain_overflow_bitfield, + HOWTO (R_SPU_ADDR18, 0, 4, 18, false, 7, complain_overflow_bitfield, bfd_elf_generic_reloc, "SPU_ADDR18", false, 0, 0x01ffff80, false), - HOWTO (R_SPU_ADDR32, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO (R_SPU_ADDR32, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "SPU_ADDR32", false, 0, 0xffffffff, false), - HOWTO (R_SPU_REL16, 2, 2, 16, true, 7, complain_overflow_bitfield, + HOWTO (R_SPU_REL16, 2, 4, 16, true, 7, complain_overflow_bitfield, bfd_elf_generic_reloc, "SPU_REL16", false, 0, 0x007fff80, true), - HOWTO (R_SPU_ADDR7, 0, 2, 7, false, 14, complain_overflow_dont, + HOWTO (R_SPU_ADDR7, 0, 4, 7, false, 14, complain_overflow_dont, bfd_elf_generic_reloc, "SPU_ADDR7", false, 0, 0x001fc000, false), - HOWTO (R_SPU_REL9, 2, 2, 9, true, 0, complain_overflow_signed, + HOWTO (R_SPU_REL9, 2, 4, 9, true, 0, complain_overflow_signed, spu_elf_rel9, "SPU_REL9", false, 0, 0x0180007f, true), - HOWTO (R_SPU_REL9I, 2, 2, 9, true, 0, complain_overflow_signed, + HOWTO (R_SPU_REL9I, 2, 4, 9, true, 0, complain_overflow_signed, spu_elf_rel9, "SPU_REL9I", false, 0, 0x0000c07f, true), - HOWTO (R_SPU_ADDR10I, 0, 2, 10, false, 14, complain_overflow_signed, + HOWTO (R_SPU_ADDR10I, 0, 4, 10, false, 14, complain_overflow_signed, bfd_elf_generic_reloc, "SPU_ADDR10I", false, 0, 0x00ffc000, false), - HOWTO (R_SPU_ADDR16I, 0, 2, 16, false, 7, complain_overflow_signed, + HOWTO (R_SPU_ADDR16I, 0, 4, 16, false, 7, complain_overflow_signed, bfd_elf_generic_reloc, "SPU_ADDR16I", false, 0, 0x007fff80, false), - HOWTO (R_SPU_REL32, 0, 2, 32, true, 0, complain_overflow_dont, + HOWTO (R_SPU_REL32, 0, 4, 32, true, 0, complain_overflow_dont, bfd_elf_generic_reloc, "SPU_REL32", false, 0, 0xffffffff, true), - HOWTO (R_SPU_ADDR16X, 0, 2, 16, false, 7, complain_overflow_bitfield, + HOWTO (R_SPU_ADDR16X, 0, 4, 16, false, 7, complain_overflow_bitfield, bfd_elf_generic_reloc, "SPU_ADDR16X", false, 0, 0x007fff80, false), - HOWTO (R_SPU_PPU32, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO (R_SPU_PPU32, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "SPU_PPU32", false, 0, 0xffffffff, false), - HOWTO (R_SPU_PPU64, 0, 4, 64, false, 0, complain_overflow_dont, + HOWTO (R_SPU_PPU64, 0, 8, 64, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "SPU_PPU64", false, 0, -1, false), - HOWTO (R_SPU_ADD_PIC, 0, 0, 0, false, 0, complain_overflow_dont, + HOWTO (R_SPU_ADD_PIC, 0, 1, 0, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "SPU_ADD_PIC", false, 0, 0x00000000, false), }; diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c index c90daf9..736b2c6 100644 --- a/bfd/elf32-tic6x.c +++ b/bfd/elf32-tic6x.c @@ -138,7 +138,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = { HOWTO (R_C6000_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -151,7 +151,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_ABS32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -164,7 +164,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_ABS16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -177,7 +177,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_ABS8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -190,7 +190,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_PCR_S21, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 7, /* bitpos */ @@ -203,7 +203,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = true), /* pcrel_offset */ HOWTO (R_C6000_PCR_S12, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ true, /* pc_relative */ 16, /* bitpos */ @@ -216,7 +216,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = true), /* pcrel_offset */ HOWTO (R_C6000_PCR_S10, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ true, /* pc_relative */ 13, /* bitpos */ @@ -229,7 +229,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = true), /* pcrel_offset */ HOWTO (R_C6000_PCR_S7, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 7, /* bitsize */ true, /* pc_relative */ 16, /* bitpos */ @@ -242,7 +242,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = true), /* pcrel_offset */ HOWTO (R_C6000_ABS_S16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -255,7 +255,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_ABS_L16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -268,7 +268,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_ABS_H16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -281,7 +281,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_U15_B, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 8, /* bitpos */ @@ -294,7 +294,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_U15_H, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 8, /* bitpos */ @@ -307,7 +307,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_U15_W, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 8, /* bitpos */ @@ -320,7 +320,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_S16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -333,7 +333,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_L16_B, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -346,7 +346,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_L16_H, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -359,7 +359,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_L16_W, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -372,7 +372,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_H16_B, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -385,7 +385,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_H16_H, /* type */ 17, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -398,7 +398,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_H16_W, /* type */ 18, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -411,7 +411,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_GOT_U15_W, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 8, /* bitpos */ @@ -424,7 +424,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_GOT_L16_W, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -437,7 +437,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_GOT_H16_W, /* type */ 18, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -450,7 +450,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_DSBT_INDEX, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 8, /* bitpos */ @@ -463,7 +463,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_PREL31, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 31, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -476,7 +476,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = true), /* pcrel_offset */ HOWTO (R_C6000_COPY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -489,7 +489,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_JUMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -502,7 +502,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_EHTYPE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -515,7 +515,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_PCR_H16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 7, /* bitpos */ @@ -528,7 +528,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = true), /* pcrel_offset */ HOWTO (R_C6000_PCR_L16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 7, /* bitpos */ @@ -763,7 +763,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = EMPTY_HOWTO (252), HOWTO (R_C6000_ALIGN, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -776,7 +776,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_FPHEAD, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -789,7 +789,7 @@ static reloc_howto_type elf32_tic6x_howto_table[] = false), /* pcrel_offset */ HOWTO (R_C6000_NOCMP, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -806,7 +806,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = { HOWTO (R_C6000_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -819,7 +819,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_ABS32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -832,7 +832,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_ABS16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -845,7 +845,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_ABS8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -858,7 +858,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_PCR_S21, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 7, /* bitpos */ @@ -871,7 +871,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = true), /* pcrel_offset */ HOWTO (R_C6000_PCR_S12, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ true, /* pc_relative */ 16, /* bitpos */ @@ -884,7 +884,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = true), /* pcrel_offset */ HOWTO (R_C6000_PCR_S10, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ true, /* pc_relative */ 13, /* bitpos */ @@ -897,7 +897,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = true), /* pcrel_offset */ HOWTO (R_C6000_PCR_S7, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 7, /* bitsize */ true, /* pc_relative */ 16, /* bitpos */ @@ -910,7 +910,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = true), /* pcrel_offset */ HOWTO (R_C6000_ABS_S16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -923,7 +923,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_ABS_L16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -937,7 +937,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = EMPTY_HOWTO (R_C6000_ABS_H16), HOWTO (R_C6000_SBR_U15_B, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 8, /* bitpos */ @@ -950,7 +950,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_U15_H, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 8, /* bitpos */ @@ -963,7 +963,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_U15_W, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 8, /* bitpos */ @@ -976,7 +976,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_S16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -989,7 +989,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_L16_B, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -1002,7 +1002,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_L16_H, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -1015,7 +1015,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_L16_W, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -1031,7 +1031,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = EMPTY_HOWTO (R_C6000_SBR_H16_W), HOWTO (R_C6000_SBR_GOT_U15_W, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 8, /* bitpos */ @@ -1044,7 +1044,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_SBR_GOT_L16_W, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 7, /* bitpos */ @@ -1058,7 +1058,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = EMPTY_HOWTO (R_C6000_SBR_GOT_H16_W), HOWTO (R_C6000_DSBT_INDEX, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 15, /* bitsize */ false, /* pc_relative */ 8, /* bitpos */ @@ -1071,7 +1071,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_PREL31, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 31, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1084,7 +1084,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = true), /* pcrel_offset */ HOWTO (R_C6000_COPY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1097,7 +1097,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_JUMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1110,7 +1110,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_EHTYPE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1347,7 +1347,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = EMPTY_HOWTO (252), HOWTO (R_C6000_ALIGN, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1360,7 +1360,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_FPHEAD, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1373,7 +1373,7 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] = false), /* pcrel_offset */ HOWTO (R_C6000_NOCMP, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-tilepro.c b/bfd/elf32-tilepro.c index 2495539..438177e 100644 --- a/bfd/elf32-tilepro.c +++ b/bfd/elf32-tilepro.c @@ -34,7 +34,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = /* This reloc does nothing. */ HOWTO (R_TILEPRO_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -49,7 +49,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = /* A 32 bit absolute relocation. */ HOWTO (R_TILEPRO_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -64,7 +64,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = /* A 16 bit absolute relocation. */ HOWTO (R_TILEPRO_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -79,7 +79,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = /* An 8 bit absolute relocation. */ HOWTO (R_TILEPRO_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -94,7 +94,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = /* A 32 bit pc-relative relocation. */ HOWTO (R_TILEPRO_32_PCREL,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -109,7 +109,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = /* A 16 bit pc-relative relocation. */ HOWTO (R_TILEPRO_16_PCREL,/* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -124,7 +124,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = /* An 8 bit pc-relative relocation. */ HOWTO (R_TILEPRO_8_PCREL, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -139,7 +139,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = /* A 16 bit relocation without overflow. */ HOWTO (R_TILEPRO_LO16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -154,7 +154,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = /* The high order 16 bits of an address. */ HOWTO (R_TILEPRO_HI16, /* type */ 16, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -170,7 +170,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = the low 16 bits, treated as a signed number, is negative. */ HOWTO (R_TILEPRO_HA16, /* type */ 16, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -182,9 +182,9 @@ static reloc_howto_type tilepro_elf_howto_table [] = 0xffff, /* dst_mask */ false), /* pcrel_offset */ - HOWTO (R_TILEPRO_COPY, /* type */ + HOWTO (R_TILEPRO_COPY, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -198,7 +198,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = HOWTO (R_TILEPRO_GLOB_DAT, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -212,7 +212,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = HOWTO (R_TILEPRO_JMP_SLOT, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -226,7 +226,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = HOWTO (R_TILEPRO_RELATIVE, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -240,7 +240,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = HOWTO (R_TILEPRO_BROFF_X1, /* type */ TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 17, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -254,7 +254,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = HOWTO (R_TILEPRO_JOFFLONG_X1, /* type */ TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 29, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -268,7 +268,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = HOWTO (R_TILEPRO_JOFFLONG_X1_PLT, /* type */ TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 29, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -290,17 +290,17 @@ static reloc_howto_type tilepro_elf_howto_table [] = complain_overflow_unsigned, bfd_elf_generic_reloc, \ #name, false, 0, -1, false) - TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_X0, 0, 8), - TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_Y0, 0, 8), - TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_X1, 0, 8), - TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_Y1, 0, 8), - TILEPRO_UIMM_HOWTO(R_TILEPRO_MT_IMM15_X1, 1, 15), - TILEPRO_UIMM_HOWTO(R_TILEPRO_MF_IMM15_X1, 1, 15), - TILEPRO_IMM_HOWTO(R_TILEPRO_IMM16_X0, 1, 16), - TILEPRO_IMM_HOWTO(R_TILEPRO_IMM16_X1, 1, 16), + TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_X0, 1, 8), + TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_Y0, 1, 8), + TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_X1, 1, 8), + TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_Y1, 1, 8), + TILEPRO_UIMM_HOWTO(R_TILEPRO_MT_IMM15_X1, 2, 15), + TILEPRO_UIMM_HOWTO(R_TILEPRO_MF_IMM15_X1, 2, 15), + TILEPRO_IMM_HOWTO(R_TILEPRO_IMM16_X0, 2, 16), + TILEPRO_IMM_HOWTO(R_TILEPRO_IMM16_X1, 2, 16), #define TILEPRO_IMM16_HOWTO(name, rshift) \ - HOWTO (name, rshift, 1, 16, false, 0, \ + HOWTO (name, rshift, 2, 16, false, 0, \ complain_overflow_dont, bfd_elf_generic_reloc, \ #name, false, 0, 0xffff, false) @@ -315,7 +315,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = HOWTO (R_TILEPRO_IMM16_X0_PCREL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -329,7 +329,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = HOWTO (R_TILEPRO_IMM16_X1_PCREL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -342,7 +342,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = true), /* pcrel_offset */ #define TILEPRO_IMM16_HOWTO_PCREL(name, rshift) \ - HOWTO (name, rshift, 1, 16, true, 0, \ + HOWTO (name, rshift, 2, 16, true, 0, \ complain_overflow_dont, bfd_elf_generic_reloc, \ #name, false, 0, 0xffff, true) @@ -354,8 +354,8 @@ static reloc_howto_type tilepro_elf_howto_table [] = TILEPRO_IMM16_HOWTO_PCREL (R_TILEPRO_IMM16_X1_HA_PCREL, 16), /* Byte offset into GOT for a particular symbol. */ - TILEPRO_IMM_HOWTO(R_TILEPRO_IMM16_X0_GOT, 1, 16), - TILEPRO_IMM_HOWTO(R_TILEPRO_IMM16_X1_GOT, 1, 16), + TILEPRO_IMM_HOWTO(R_TILEPRO_IMM16_X0_GOT, 2, 16), + TILEPRO_IMM_HOWTO(R_TILEPRO_IMM16_X1_GOT, 2, 16), TILEPRO_IMM16_HOWTO (R_TILEPRO_IMM16_X0_GOT_LO, 0), TILEPRO_IMM16_HOWTO (R_TILEPRO_IMM16_X1_GOT_LO, 0), TILEPRO_IMM16_HOWTO (R_TILEPRO_IMM16_X0_GOT_HI, 16), @@ -363,17 +363,17 @@ static reloc_howto_type tilepro_elf_howto_table [] = TILEPRO_IMM16_HOWTO (R_TILEPRO_IMM16_X0_GOT_HA, 16), TILEPRO_IMM16_HOWTO (R_TILEPRO_IMM16_X1_GOT_HA, 16), - TILEPRO_UIMM_HOWTO(R_TILEPRO_MMSTART_X0, 0, 5), - TILEPRO_UIMM_HOWTO(R_TILEPRO_MMEND_X0, 0, 5), - TILEPRO_UIMM_HOWTO(R_TILEPRO_MMSTART_X1, 0, 5), - TILEPRO_UIMM_HOWTO(R_TILEPRO_MMEND_X1, 0, 5), + TILEPRO_UIMM_HOWTO(R_TILEPRO_MMSTART_X0, 1, 5), + TILEPRO_UIMM_HOWTO(R_TILEPRO_MMEND_X0, 1, 5), + TILEPRO_UIMM_HOWTO(R_TILEPRO_MMSTART_X1, 1, 5), + TILEPRO_UIMM_HOWTO(R_TILEPRO_MMEND_X1, 1, 5), - TILEPRO_UIMM_HOWTO(R_TILEPRO_SHAMT_X0, 0, 5), - TILEPRO_UIMM_HOWTO(R_TILEPRO_SHAMT_X1, 0, 5), - TILEPRO_UIMM_HOWTO(R_TILEPRO_SHAMT_Y0, 0, 5), - TILEPRO_UIMM_HOWTO(R_TILEPRO_SHAMT_Y1, 0, 5), + TILEPRO_UIMM_HOWTO(R_TILEPRO_SHAMT_X0, 1, 5), + TILEPRO_UIMM_HOWTO(R_TILEPRO_SHAMT_X1, 1, 5), + TILEPRO_UIMM_HOWTO(R_TILEPRO_SHAMT_Y0, 1, 5), + TILEPRO_UIMM_HOWTO(R_TILEPRO_SHAMT_Y1, 1, 5), - TILEPRO_IMM_HOWTO(R_TILEPRO_DEST_IMM8_X1, 0, 8), + TILEPRO_IMM_HOWTO(R_TILEPRO_DEST_IMM8_X1, 1, 8), /* These relocs are currently not defined. */ EMPTY_HOWTO (56), @@ -383,7 +383,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = HOWTO (R_TILEPRO_TLS_GD_CALL, /* type */ TILEPRO_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 29, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -395,17 +395,17 @@ static reloc_howto_type tilepro_elf_howto_table [] = -1, /* dst_mask */ true), /* pcrel_offset */ - TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_X0_TLS_GD_ADD, 0, 8), - TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_X1_TLS_GD_ADD, 0, 8), - TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_Y0_TLS_GD_ADD, 0, 8), - TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_Y1_TLS_GD_ADD, 0, 8), - TILEPRO_IMM_HOWTO(R_TILEPRO_TLS_IE_LOAD, 0, 8), + TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_X0_TLS_GD_ADD, 1, 8), + TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_X1_TLS_GD_ADD, 1, 8), + TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_Y0_TLS_GD_ADD, 1, 8), + TILEPRO_IMM_HOWTO(R_TILEPRO_IMM8_Y1_TLS_GD_ADD, 1, 8), + TILEPRO_IMM_HOWTO(R_TILEPRO_TLS_IE_LOAD, 1, 8), /* Offsets into the GOT of TLS Descriptors. */ HOWTO (R_TILEPRO_IMM16_X0_TLS_GD,/* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -419,7 +419,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = HOWTO (R_TILEPRO_IMM16_X1_TLS_GD,/* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -442,7 +442,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = HOWTO (R_TILEPRO_IMM16_X0_TLS_IE,/* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -456,7 +456,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = HOWTO (R_TILEPRO_IMM16_X1_TLS_IE,/* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -476,19 +476,19 @@ static reloc_howto_type tilepro_elf_howto_table [] = TILEPRO_IMM16_HOWTO (R_TILEPRO_IMM16_X1_TLS_IE_HA, 16), /* These are common with the Solaris TLS implementation. */ - HOWTO(R_TILEPRO_TLS_DTPMOD32, 0, 0, 0, false, 0, complain_overflow_dont, + HOWTO(R_TILEPRO_TLS_DTPMOD32, 0, 1, 0, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_TILEPRO_TLS_DTPMOD32", false, 0, 0, true), - HOWTO(R_TILEPRO_TLS_DTPOFF32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_TILEPRO_TLS_DTPOFF32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_TILEPRO_TLS_DTPOFF32", false, 0, 0xFFFFFFFF, true), - HOWTO(R_TILEPRO_TLS_TPOFF32, 0, 0, 0, false, 0, complain_overflow_dont, + HOWTO(R_TILEPRO_TLS_TPOFF32, 0, 1, 0, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_TILEPRO_TLS_TPOFF32", false, 0, 0, true), HOWTO (R_TILEPRO_IMM16_X0_TLS_LE,/* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -502,7 +502,7 @@ static reloc_howto_type tilepro_elf_howto_table [] = HOWTO (R_TILEPRO_IMM16_X1_TLS_LE,/* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -527,7 +527,7 @@ static reloc_howto_type tilepro_elf_howto_table2 [] = /* GNU extension to record C++ vtable hierarchy */ HOWTO (R_TILEPRO_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -542,7 +542,7 @@ static reloc_howto_type tilepro_elf_howto_table2 [] = /* GNU extension to record C++ vtable member usage */ HOWTO (R_TILEPRO_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c index 46d0432..e9fcfee 100644 --- a/bfd/elf32-v850.c +++ b/bfd/elf32-v850.c @@ -895,7 +895,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* This reloc does nothing. */ HOWTO (R_V850_NONE, /* Type. */ 0, /* Rightshift. */ - 3, /* Size (0 = byte, 1 = short, 2 = long). */ + 0, /* Size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -910,7 +910,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* A PC relative 9 bit branch. */ HOWTO (R_V850_9_PCREL, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 9, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -925,7 +925,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* A PC relative 22 bit branch. */ HOWTO (R_V850_22_PCREL, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 22, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -940,7 +940,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* High 16 bits of symbol value. */ HOWTO (R_V850_HI16_S, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -955,7 +955,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* High 16 bits of symbol value. */ HOWTO (R_V850_HI16, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -970,7 +970,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* Low 16 bits of symbol value. */ HOWTO (R_V850_LO16, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -985,7 +985,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* Simple 32bit reloc. */ HOWTO (R_V850_ABS32, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 32, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1000,7 +1000,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* Simple 16bit reloc. */ HOWTO (R_V850_16, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1015,7 +1015,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* Simple 8bit reloc. */ HOWTO (R_V850_8, /* Type. */ 0, /* Rightshift. */ - 0, /* Size (0 = byte, 1 = short, 2 = long). */ + 1, /* Size. */ 8, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1030,7 +1030,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 16 bit offset from the short data area pointer. */ HOWTO (R_V850_SDA_16_16_OFFSET, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1045,7 +1045,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 15 bit offset from the short data area pointer. */ HOWTO (R_V850_SDA_15_16_OFFSET, /* Type. */ 1, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 1, /* Bitpos. */ @@ -1060,7 +1060,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 16 bit offset from the zero data area pointer. */ HOWTO (R_V850_ZDA_16_16_OFFSET, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1075,7 +1075,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 15 bit offset from the zero data area pointer. */ HOWTO (R_V850_ZDA_15_16_OFFSET, /* Type. */ 1, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 1, /* Bitpos. */ @@ -1090,7 +1090,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 6 bit offset from the tiny data area pointer. */ HOWTO (R_V850_TDA_6_8_OFFSET, /* Type. */ 2, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 8, /* Bitsize. */ false, /* PC_relative. */ 1, /* Bitpos. */ @@ -1105,7 +1105,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 8 bit offset from the tiny data area pointer. */ HOWTO (R_V850_TDA_7_8_OFFSET, /* Type. */ 1, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 8, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1120,7 +1120,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 7 bit offset from the tiny data area pointer. */ HOWTO (R_V850_TDA_7_7_OFFSET, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 7, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1135,7 +1135,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 16 bit offset from the tiny data area pointer! */ HOWTO (R_V850_TDA_16_16_OFFSET, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1150,7 +1150,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 5 bit offset from the tiny data area pointer. */ HOWTO (R_V850_TDA_4_5_OFFSET, /* Type. */ 1, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 5, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1165,7 +1165,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 4 bit offset from the tiny data area pointer. */ HOWTO (R_V850_TDA_4_4_OFFSET, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 4, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1180,7 +1180,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 16 bit offset from the short data area pointer. */ HOWTO (R_V850_SDA_16_16_SPLIT_OFFSET, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1195,7 +1195,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 16 bit offset from the zero data area pointer. */ HOWTO (R_V850_ZDA_16_16_SPLIT_OFFSET, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1210,7 +1210,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 6 bit offset from the call table base pointer. */ HOWTO (R_V850_CALLT_6_7_OFFSET, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 7, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1225,7 +1225,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 16 bit offset from the call table base pointer. */ HOWTO (R_V850_CALLT_16_16_OFFSET, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1241,7 +1241,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* GNU extension to record C++ vtable hierarchy */ HOWTO (R_V850_GNU_VTINHERIT, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1256,7 +1256,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_V850_GNU_VTENTRY, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1272,7 +1272,7 @@ static reloc_howto_type v850_elf_howto_table[] = pseudo-op when it finds a function call which can be relaxed. */ HOWTO (R_V850_LONGCALL, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 32, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -1288,7 +1288,7 @@ static reloc_howto_type v850_elf_howto_table[] = .longjump pseudo-op when it finds a branch which can be relaxed. */ HOWTO (R_V850_LONGJUMP, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 32, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -1302,7 +1302,7 @@ static reloc_howto_type v850_elf_howto_table[] = HOWTO (R_V850_ALIGN, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 0, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1317,7 +1317,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* Simple pc-relative 32bit reloc. */ HOWTO (R_V850_REL32, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 32, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -1332,7 +1332,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* An ld.bu version of R_V850_LO16. */ HOWTO (R_V850_LO16_SPLIT_OFFSET, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1347,7 +1347,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* A unsigned PC relative 16 bit loop. */ HOWTO (R_V850_16_PCREL, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -1362,7 +1362,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* A PC relative 17 bit branch. */ HOWTO (R_V850_17_PCREL, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 17, /* Bitsize. */ true, /* PC_relative. */ 0, /* Bitpos. */ @@ -1377,7 +1377,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* A 23bit offset ld/st. */ HOWTO (R_V850_23, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 23, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1392,7 +1392,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* A PC relative 32 bit branch. */ HOWTO (R_V850_32_PCREL, /* type. */ 1, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 32, /* bitsize. */ true, /* pc_relative. */ 1, /* bitpos. */ @@ -1407,7 +1407,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* A absolute 32 bit branch. */ HOWTO (R_V850_32_ABS, /* type. */ 1, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 32, /* bitsize. */ true, /* pc_relative. */ 1, /* bitpos. */ @@ -1422,7 +1422,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* High 16 bits of symbol value. */ HOWTO (R_V850_HI16, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ false, /* PC_relative. */ 0, /* Bitpos. */ @@ -1437,7 +1437,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* Low 16 bits of symbol value. */ HOWTO (R_V850_16_S1, /* type. */ 1, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 1, /* bitpos. */ @@ -1452,7 +1452,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* Low 16 bits of symbol value. */ HOWTO (R_V850_LO16_S1, /* type. */ 1, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 1, /* bitpos. */ @@ -1467,7 +1467,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* 16 bit offset from the call table base pointer. */ HOWTO (R_V850_CALLT_15_16_OFFSET, /* type. */ 1, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ + 2, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 1, /* bitpos. */ @@ -1483,7 +1483,7 @@ static reloc_howto_type v850_elf_howto_table[] = the symbol. */ HOWTO (R_V850_32_GOTPCREL, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 32, /* bitsize. */ true, /* pc_relative. */ 0, /* bitpos. */ @@ -1499,7 +1499,7 @@ static reloc_howto_type v850_elf_howto_table[] = the symbol. */ HOWTO (R_V850_16_GOT, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1513,7 +1513,7 @@ static reloc_howto_type v850_elf_howto_table[] = HOWTO (R_V850_32_GOT, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 32, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1529,7 +1529,7 @@ static reloc_howto_type v850_elf_howto_table[] = entry for the symbol. */ HOWTO (R_V850_22_PLT, /* type. */ 1, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 22, /* bitsize. */ true, /* pc_relative. */ 7, /* bitpos. */ @@ -1543,7 +1543,7 @@ static reloc_howto_type v850_elf_howto_table[] = HOWTO (R_V850_32_PLT, /* type. */ 1, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 32, /* bitsize. */ true, /* pc_relative. */ 1, /* bitpos. */ @@ -1562,7 +1562,7 @@ static reloc_howto_type v850_elf_howto_table[] = run has to have the data at some particular address. */ HOWTO (R_V850_COPY, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long). */ + 4, /* size. */ 32, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1578,7 +1578,7 @@ static reloc_howto_type v850_elf_howto_table[] = entries. */ HOWTO (R_V850_GLOB_DAT, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1593,7 +1593,7 @@ static reloc_howto_type v850_elf_howto_table[] = /* Marks a procedure linkage table entry for a symbol. */ HOWTO (R_V850_JMP_SLOT, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1610,7 +1610,7 @@ static reloc_howto_type v850_elf_howto_table[] = addend. */ HOWTO (R_V850_RELATIVE, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1624,7 +1624,7 @@ static reloc_howto_type v850_elf_howto_table[] = HOWTO (R_V850_16_GOTOFF, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1638,7 +1638,7 @@ static reloc_howto_type v850_elf_howto_table[] = HOWTO (R_V850_32_GOTOFF, /* type. */ 0, /* rightshift. */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1652,7 +1652,7 @@ static reloc_howto_type v850_elf_howto_table[] = HOWTO (R_V850_CODE, /* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1666,7 +1666,7 @@ static reloc_howto_type v850_elf_howto_table[] = HOWTO (R_V850_DATA, /* type. */ 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -1761,92 +1761,92 @@ static const struct v850_elf_reloc_map v850_elf_reloc_map[] = static reloc_howto_type v800_elf_howto_table[] = { - V800_RELOC (R_V810_NONE, 3, 0, 0, dont, false, generic), /* Type = 0x30 */ - V800_RELOC (R_V810_BYTE, 0, 8, 0, dont, false, generic), - V800_RELOC (R_V810_HWORD, 1, 16, 0, dont, false, generic), - V800_RELOC (R_V810_WORD, 2, 32, 0, dont, false, generic), - V800_RELOC (R_V810_WLO, 1, 16, 0, dont, false, generic), - V800_RELOC (R_V810_WHI, 1, 16, 0, dont, false, generic), - V800_RELOC (R_V810_WHI1, 1, 16, 0, dont, false, generic), - V800_RELOC (R_V810_GPBYTE, 0, 8, 0, dont, false, v850), - V800_RELOC (R_V810_GPHWORD, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V810_GPWORD, 2, 32, 0, dont, false, v850), - V800_RELOC (R_V810_GPWLO, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V810_GPWHI, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V810_GPWHI1, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V850_HWLO, 1, 16, 0, dont, false, generic), + V800_RELOC (R_V810_NONE, 0, 0, 0, dont, false, generic), /* Type = 0x30 */ + V800_RELOC (R_V810_BYTE, 1, 8, 0, dont, false, generic), + V800_RELOC (R_V810_HWORD, 2, 16, 0, dont, false, generic), + V800_RELOC (R_V810_WORD, 4, 32, 0, dont, false, generic), + V800_RELOC (R_V810_WLO, 2, 16, 0, dont, false, generic), + V800_RELOC (R_V810_WHI, 2, 16, 0, dont, false, generic), + V800_RELOC (R_V810_WHI1, 2, 16, 0, dont, false, generic), + V800_RELOC (R_V810_GPBYTE, 1, 8, 0, dont, false, v850), + V800_RELOC (R_V810_GPHWORD, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V810_GPWORD, 4, 32, 0, dont, false, v850), + V800_RELOC (R_V810_GPWLO, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V810_GPWHI, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V810_GPWHI1, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V850_HWLO, 2, 16, 0, dont, false, generic), V800_EMPTY (R_V810_reserved1), - V800_RELOC (R_V850_EP7BIT, 0, 7, 0, unsigned, false, v850), - V800_RELOC (R_V850_EPHBYTE, 0, 8, 1, unsigned, false, v850), - V800_RELOC (R_V850_EPWBYTE, 0, 8, 2, unsigned, false, v850), - V800_RELOC (R_V850_REGHWLO, 1, 16, 0, dont, false, v850), + V800_RELOC (R_V850_EP7BIT, 1, 7, 0, unsigned, false, v850), + V800_RELOC (R_V850_EPHBYTE, 1, 8, 1, unsigned, false, v850), + V800_RELOC (R_V850_EPWBYTE, 1, 8, 2, unsigned, false, v850), + V800_RELOC (R_V850_REGHWLO, 2, 16, 0, dont, false, v850), V800_EMPTY (R_V810_reserved2), - V800_RELOC (R_V850_GPHWLO, 1, 16, 0, dont, false, v850), + V800_RELOC (R_V850_GPHWLO, 2, 16, 0, dont, false, v850), V800_EMPTY (R_V810_reserved3), - V800_RELOC (R_V850_PCR22, 2, 22, 0, signed, true, generic), - V800_RELOC (R_V850_BLO, 2, 24, 0, dont, false, v850), - V800_RELOC (R_V850_EP4BIT, 0, 4, 0, unsigned, false, v850), - V800_RELOC (R_V850_EP5BIT, 0, 5, 0, unsigned, false, v850), - V800_RELOC (R_V850_REGBLO, 2, 24, 0, dont, false, v850), - V800_RELOC (R_V850_GPBLO, 2, 24, 0, dont, false, v850), - V800_RELOC (R_V810_WLO_1, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V810_GPWLO_1, 1, 16, 0, signed, false, v850), - V800_RELOC (R_V850_BLO_1, 2, 16, 0, signed, false, v850), - V800_RELOC (R_V850_HWLO_1, 1, 16, 0, signed, false, v850), + V800_RELOC (R_V850_PCR22, 4, 22, 0, signed, true, generic), + V800_RELOC (R_V850_BLO, 4, 24, 0, dont, false, v850), + V800_RELOC (R_V850_EP4BIT, 1, 4, 0, unsigned, false, v850), + V800_RELOC (R_V850_EP5BIT, 1, 5, 0, unsigned, false, v850), + V800_RELOC (R_V850_REGBLO, 4, 24, 0, dont, false, v850), + V800_RELOC (R_V850_GPBLO, 4, 24, 0, dont, false, v850), + V800_RELOC (R_V810_WLO_1, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V810_GPWLO_1, 2, 16, 0, signed, false, v850), + V800_RELOC (R_V850_BLO_1, 4, 16, 0, signed, false, v850), + V800_RELOC (R_V850_HWLO_1, 2, 16, 0, signed, false, v850), V800_EMPTY (R_V810_reserved4), - V800_RELOC (R_V850_GPBLO_1, 2, 16, 1, signed, false, v850), - V800_RELOC (R_V850_GPHWLO_1, 1, 16, 1, signed, false, v850), + V800_RELOC (R_V850_GPBLO_1, 4, 16, 1, signed, false, v850), + V800_RELOC (R_V850_GPHWLO_1, 2, 16, 1, signed, false, v850), V800_EMPTY (R_V810_reserved5), - V800_RELOC (R_V850_EPBLO, 2, 16, 1, signed, false, v850), - V800_RELOC (R_V850_EPHWLO, 1, 16, 1, signed, false, v850), + V800_RELOC (R_V850_EPBLO, 4, 16, 1, signed, false, v850), + V800_RELOC (R_V850_EPHWLO, 2, 16, 1, signed, false, v850), V800_EMPTY (R_V810_reserved6), - V800_RELOC (R_V850_EPWLO_N, 1, 16, 1, signed, false, v850), - V800_RELOC (R_V850_PC32, 2, 32, 1, signed, true, v850), - V800_RELOC (R_V850_W23BIT, 2, 23, 1, signed, false, v850), - V800_RELOC (R_V850_GPW23BIT, 2, 23, 1, signed, false, v850), - V800_RELOC (R_V850_EPW23BIT, 2, 23, 1, signed, false, v850), - V800_RELOC (R_V850_B23BIT, 2, 23, 1, signed, false, v850), - V800_RELOC (R_V850_GPB23BIT, 2, 23, 1, signed, false, v850), - V800_RELOC (R_V850_EPB23BIT, 2, 23, 1, signed, false, v850), - V800_RELOC (R_V850_PC16U, 1, 16, 1, unsigned, true, generic), - V800_RELOC (R_V850_PC17, 2, 17, 1, signed, true, generic), - V800_RELOC (R_V850_DW8, 2, 8, 2, signed, false, v850), - V800_RELOC (R_V850_GPDW8, 2, 8, 2, signed, false, v850), - V800_RELOC (R_V850_EPDW8, 2, 8, 2, signed, false, v850), - V800_RELOC (R_V850_PC9, 1, 9, 3, signed, true, v850), - V800_RELOC (R_V810_REGBYTE, 0, 8, 0, dont, false, v850), - V800_RELOC (R_V810_REGHWORD, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V810_REGWORD, 2, 32, 0, dont, false, v850), - V800_RELOC (R_V810_REGWLO, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V810_REGWHI, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V810_REGWHI1, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V850_REGW23BIT, 2, 23, 1, signed, false, v850), - V800_RELOC (R_V850_REGB23BIT, 2, 23, 1, signed, false, v850), - V800_RELOC (R_V850_REGDW8, 2, 8, 2, signed, false, v850), - V800_RELOC (R_V810_EPBYTE, 0, 8, 0, dont, false, v850), - V800_RELOC (R_V810_EPHWORD, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V810_EPWORD, 2, 32, 0, dont, false, v850), - V800_RELOC (R_V850_WLO23, 2, 32, 1, dont, false, v850), - V800_RELOC (R_V850_WORD_E, 2, 32, 1, dont, false, v850), - V800_RELOC (R_V850_REGWORD_E, 2, 32, 1, dont, false, v850), - V800_RELOC (R_V850_WORD, 2, 32, 0, dont, false, v850), - V800_RELOC (R_V850_GPWORD, 2, 32, 0, dont, false, v850), - V800_RELOC (R_V850_REGWORD, 2, 32, 0, dont, false, v850), - V800_RELOC (R_V850_EPWORD, 2, 32, 0, dont, false, v850), - V800_RELOC (R_V810_TPBYTE, 0, 8, 0, dont, false, v850), - V800_RELOC (R_V810_TPHWORD, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V810_TPWORD, 2, 32, 0, dont, false, v850), - V800_RELOC (R_V810_TPWLO, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V810_TPWHI, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V810_TPWHI1, 1, 16, 0, dont, false, v850), - V800_RELOC (R_V850_TPHWLO, 1, 16, 1, dont, false, v850), - V800_RELOC (R_V850_TPBLO, 2, 24, 0, dont, false, v850), - V800_RELOC (R_V810_TPWLO_1, 1, 16, 0, signed, false, v850), - V800_RELOC (R_V850_TPBLO_1, 2, 16, 0, signed, false, v850), - V800_RELOC (R_V850_TPHWLO_1, 1, 16, 0, signed, false, v850), - V800_RELOC (R_V850_TP23BIT, 2, 23, 0, signed, false, v850), - V800_RELOC (R_V850_TPW23BIT, 2, 23, 0, signed, false, v850), - V800_RELOC (R_V850_TPDW8, 2, 8, 0, signed, false, v850) + V800_RELOC (R_V850_EPWLO_N, 2, 16, 1, signed, false, v850), + V800_RELOC (R_V850_PC32, 4, 32, 1, signed, true, v850), + V800_RELOC (R_V850_W23BIT, 4, 23, 1, signed, false, v850), + V800_RELOC (R_V850_GPW23BIT, 4, 23, 1, signed, false, v850), + V800_RELOC (R_V850_EPW23BIT, 4, 23, 1, signed, false, v850), + V800_RELOC (R_V850_B23BIT, 4, 23, 1, signed, false, v850), + V800_RELOC (R_V850_GPB23BIT, 4, 23, 1, signed, false, v850), + V800_RELOC (R_V850_EPB23BIT, 4, 23, 1, signed, false, v850), + V800_RELOC (R_V850_PC16U, 2, 16, 1, unsigned, true, generic), + V800_RELOC (R_V850_PC17, 4, 17, 1, signed, true, generic), + V800_RELOC (R_V850_DW8, 4, 8, 2, signed, false, v850), + V800_RELOC (R_V850_GPDW8, 4, 8, 2, signed, false, v850), + V800_RELOC (R_V850_EPDW8, 4, 8, 2, signed, false, v850), + V800_RELOC (R_V850_PC9, 2, 9, 3, signed, true, v850), + V800_RELOC (R_V810_REGBYTE, 1, 8, 0, dont, false, v850), + V800_RELOC (R_V810_REGHWORD, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V810_REGWORD, 4, 32, 0, dont, false, v850), + V800_RELOC (R_V810_REGWLO, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V810_REGWHI, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V810_REGWHI1, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V850_REGW23BIT, 4, 23, 1, signed, false, v850), + V800_RELOC (R_V850_REGB23BIT, 4, 23, 1, signed, false, v850), + V800_RELOC (R_V850_REGDW8, 4, 8, 2, signed, false, v850), + V800_RELOC (R_V810_EPBYTE, 1, 8, 0, dont, false, v850), + V800_RELOC (R_V810_EPHWORD, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V810_EPWORD, 4, 32, 0, dont, false, v850), + V800_RELOC (R_V850_WLO23, 4, 32, 1, dont, false, v850), + V800_RELOC (R_V850_WORD_E, 4, 32, 1, dont, false, v850), + V800_RELOC (R_V850_REGWORD_E, 4, 32, 1, dont, false, v850), + V800_RELOC (R_V850_WORD, 4, 32, 0, dont, false, v850), + V800_RELOC (R_V850_GPWORD, 4, 32, 0, dont, false, v850), + V800_RELOC (R_V850_REGWORD, 4, 32, 0, dont, false, v850), + V800_RELOC (R_V850_EPWORD, 4, 32, 0, dont, false, v850), + V800_RELOC (R_V810_TPBYTE, 1, 8, 0, dont, false, v850), + V800_RELOC (R_V810_TPHWORD, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V810_TPWORD, 4, 32, 0, dont, false, v850), + V800_RELOC (R_V810_TPWLO, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V810_TPWHI, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V810_TPWHI1, 2, 16, 0, dont, false, v850), + V800_RELOC (R_V850_TPHWLO, 2, 16, 1, dont, false, v850), + V800_RELOC (R_V850_TPBLO, 4, 24, 0, dont, false, v850), + V800_RELOC (R_V810_TPWLO_1, 2, 16, 0, signed, false, v850), + V800_RELOC (R_V850_TPBLO_1, 4, 16, 0, signed, false, v850), + V800_RELOC (R_V850_TPHWLO_1, 2, 16, 0, signed, false, v850), + V800_RELOC (R_V850_TP23BIT, 4, 23, 0, signed, false, v850), + V800_RELOC (R_V850_TPW23BIT, 4, 23, 0, signed, false, v850), + V800_RELOC (R_V850_TPDW8, 4, 8, 0, signed, false, v850) }; /* Map a bfd relocation into the appropriate howto structure. */ diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c index 4e290d5..bff6b8f 100644 --- a/bfd/elf32-vax.c +++ b/bfd/elf32-vax.c @@ -54,7 +54,7 @@ static bool elf32_vax_print_private_bfd_data (bfd *, void *); static reloc_howto_type howto_table[] = { HOWTO (R_VAX_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -68,7 +68,7 @@ static reloc_howto_type howto_table[] = { HOWTO (R_VAX_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -82,7 +82,7 @@ static reloc_howto_type howto_table[] = { HOWTO (R_VAX_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -96,7 +96,7 @@ static reloc_howto_type howto_table[] = { HOWTO (R_VAX_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -110,7 +110,7 @@ static reloc_howto_type howto_table[] = { HOWTO (R_VAX_PC32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -124,7 +124,7 @@ static reloc_howto_type howto_table[] = { HOWTO (R_VAX_PC16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -138,7 +138,7 @@ static reloc_howto_type howto_table[] = { HOWTO (R_VAX_PC8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -152,7 +152,7 @@ static reloc_howto_type howto_table[] = { HOWTO (R_VAX_GOT32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -172,7 +172,7 @@ static reloc_howto_type howto_table[] = { HOWTO (R_VAX_PLT32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -192,7 +192,7 @@ static reloc_howto_type howto_table[] = { HOWTO (R_VAX_COPY, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -206,7 +206,7 @@ static reloc_howto_type howto_table[] = { HOWTO (R_VAX_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -220,7 +220,7 @@ static reloc_howto_type howto_table[] = { HOWTO (R_VAX_JMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -234,7 +234,7 @@ static reloc_howto_type howto_table[] = { HOWTO (R_VAX_RELATIVE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -249,7 +249,7 @@ static reloc_howto_type howto_table[] = { /* GNU extension to record C++ vtable hierarchy */ HOWTO (R_VAX_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -264,7 +264,7 @@ static reloc_howto_type howto_table[] = { /* GNU extension to record C++ vtable member usage */ HOWTO (R_VAX_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-visium.c b/bfd/elf32-visium.c index e189647..097f21b 100644 --- a/bfd/elf32-visium.c +++ b/bfd/elf32-visium.c @@ -34,7 +34,7 @@ static reloc_howto_type visium_elf_howto_table[] = { /* This reloc does nothing. */ HOWTO (R_VISIUM_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -49,7 +49,7 @@ static reloc_howto_type visium_elf_howto_table[] = { /* A 8 bit absolute relocation. */ HOWTO (R_VISIUM_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -64,7 +64,7 @@ static reloc_howto_type visium_elf_howto_table[] = { /* A 16 bit absolute relocation. */ HOWTO (R_VISIUM_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -79,7 +79,7 @@ static reloc_howto_type visium_elf_howto_table[] = { /* A 32 bit absolute relocation. */ HOWTO (R_VISIUM_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -95,7 +95,7 @@ static reloc_howto_type visium_elf_howto_table[] = { /* A 8 bit PC relative relocation. */ HOWTO (R_VISIUM_8_PCREL, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -110,7 +110,7 @@ static reloc_howto_type visium_elf_howto_table[] = { /* A 16 bit PC relative relocation. */ HOWTO (R_VISIUM_16_PCREL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -125,7 +125,7 @@ static reloc_howto_type visium_elf_howto_table[] = { /* A 32-bit PC relative relocation. */ HOWTO (R_VISIUM_32_PCREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -141,7 +141,7 @@ static reloc_howto_type visium_elf_howto_table[] = { and always in the second half of the instruction. */ HOWTO (R_VISIUM_PC16, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -156,7 +156,7 @@ static reloc_howto_type visium_elf_howto_table[] = { /* The high 16 bits of symbol value. */ HOWTO (R_VISIUM_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -171,7 +171,7 @@ static reloc_howto_type visium_elf_howto_table[] = { /* The low 16 bits of symbol value. */ HOWTO (R_VISIUM_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -186,7 +186,7 @@ static reloc_howto_type visium_elf_howto_table[] = { /* A 16 bit immediate value. */ HOWTO (R_VISIUM_IM16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -201,7 +201,7 @@ static reloc_howto_type visium_elf_howto_table[] = { /* The high 16 bits of symbol value, pc relative. */ HOWTO (R_VISIUM_HI16_PCREL, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -216,7 +216,7 @@ static reloc_howto_type visium_elf_howto_table[] = { /* The low 16 bits of symbol value, pc relative. */ HOWTO (R_VISIUM_LO16_PCREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -231,7 +231,7 @@ static reloc_howto_type visium_elf_howto_table[] = { /* A 16 bit immediate value, pc relative. */ HOWTO (R_VISIUM_IM16_PCREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -249,7 +249,7 @@ static reloc_howto_type visium_elf_howto_table[] = { static reloc_howto_type visium_elf_vtinherit_howto = HOWTO (R_VISIUM_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -265,7 +265,7 @@ static reloc_howto_type visium_elf_vtinherit_howto = static reloc_howto_type visium_elf_vtentry_howto = HOWTO (R_VISIUM_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-wasm32.c b/bfd/elf32-wasm32.c index 999ab58..b1f0258 100644 --- a/bfd/elf32-wasm32.c +++ b/bfd/elf32-wasm32.c @@ -29,7 +29,7 @@ static reloc_howto_type elf32_wasm32_howto_table[] = { HOWTO (R_WASM32_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -44,7 +44,7 @@ static reloc_howto_type elf32_wasm32_howto_table[] = /* 32 bit absolute */ HOWTO (R_WASM32_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-xc16x.c b/bfd/elf32-xc16x.c index abe214f..99cba14 100644 --- a/bfd/elf32-xc16x.c +++ b/bfd/elf32-xc16x.c @@ -32,7 +32,7 @@ static reloc_howto_type xc16x_elf_howto_table [] = /* This reloc does nothing. */ HOWTO (R_XC16X_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -47,7 +47,7 @@ static reloc_howto_type xc16x_elf_howto_table [] = /* An 8 bit absolute relocation. */ HOWTO (R_XC16X_ABS_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 8, /* bitpos */ @@ -62,7 +62,7 @@ static reloc_howto_type xc16x_elf_howto_table [] = /* A 16 bit absolute relocation. */ HOWTO (R_XC16X_ABS_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -76,7 +76,7 @@ static reloc_howto_type xc16x_elf_howto_table [] = HOWTO (R_XC16X_ABS_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -92,7 +92,7 @@ static reloc_howto_type xc16x_elf_howto_table [] = /* A PC relative 8 bit relocation. */ HOWTO (R_XC16X_8_PCREL, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 8, /* bitpos */ @@ -107,7 +107,7 @@ static reloc_howto_type xc16x_elf_howto_table [] = /* Relocation regarding page number. */ HOWTO (R_XC16X_PAG, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -123,7 +123,7 @@ static reloc_howto_type xc16x_elf_howto_table [] = /* Relocation regarding page number. */ HOWTO (R_XC16X_POF, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -139,7 +139,7 @@ static reloc_howto_type xc16x_elf_howto_table [] = /* Relocation regarding segment number. */ HOWTO (R_XC16X_SEG, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -154,7 +154,7 @@ static reloc_howto_type xc16x_elf_howto_table [] = /* Relocation regarding segment offset. */ HOWTO (R_XC16X_SOF, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-xgate.c b/bfd/elf32-xgate.c index 26c5448..be5228a 100644 --- a/bfd/elf32-xgate.c +++ b/bfd/elf32-xgate.c @@ -42,7 +42,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* This reloc does nothing. */ HOWTO (R_XGATE_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -57,7 +57,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A 8 bit absolute relocation. */ HOWTO (R_XGATE_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -72,7 +72,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A 8 bit PC-rel relocation. */ HOWTO (R_XGATE_PCREL_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -87,7 +87,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A 16 bit absolute relocation. */ HOWTO (R_XGATE_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -103,7 +103,7 @@ static reloc_howto_type elf_xgate_howto_table[] = code relocation. It's used by gas for -gstabs generation. */ HOWTO (R_XGATE_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -118,7 +118,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A 16 bit PC-rel relocation. */ HOWTO (R_XGATE_PCREL_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -133,7 +133,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_XGATE_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -148,7 +148,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_XGATE_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -163,7 +163,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A 24 bit relocation. */ HOWTO (R_XGATE_24, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -178,7 +178,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A 16-bit low relocation. */ HOWTO (R_XGATE_LO16, /* type */ 8, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -193,7 +193,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A page relocation. */ HOWTO (R_XGATE_GPAGE, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -208,7 +208,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A 9 bit absolute relocation. */ HOWTO (R_XGATE_PCREL_9, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 9, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -223,7 +223,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A 8 bit absolute relocation (upper address). */ HOWTO (R_XGATE_PCREL_10, /* type */ 8, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -238,7 +238,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A 8 bit absolute relocation. */ HOWTO (R_XGATE_IMM8_LO, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -253,7 +253,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A 16 bit absolute relocation (upper address). */ HOWTO (R_XGATE_IMM8_HI, /* type */ 8, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -268,7 +268,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A 3 bit absolute relocation. */ HOWTO (R_XGATE_IMM3, /* type */ 8, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -283,7 +283,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A 4 bit absolute relocation. */ HOWTO (R_XGATE_IMM4, /* type */ 8, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -298,7 +298,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* A 5 bit absolute relocation. */ HOWTO (R_XGATE_IMM5, /* type */ 8, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -313,7 +313,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* Mark beginning of a jump instruction (any form). */ HOWTO (R_XGATE_RL_JUMP, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -328,7 +328,7 @@ static reloc_howto_type elf_xgate_howto_table[] = /* Mark beginning of Gcc relaxation group instruction. */ HOWTO (R_XGATE_RL_GROUP, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-xstormy16.c b/bfd/elf32-xstormy16.c index a2c8d85..65e65cd 100644 --- a/bfd/elf32-xstormy16.c +++ b/bfd/elf32-xstormy16.c @@ -73,7 +73,7 @@ static reloc_howto_type xstormy16_elf_howto_table [] = /* This reloc does nothing. */ HOWTO (R_XSTORMY16_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -88,7 +88,7 @@ static reloc_howto_type xstormy16_elf_howto_table [] = /* A 32 bit absolute relocation. */ HOWTO (R_XSTORMY16_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -103,7 +103,7 @@ static reloc_howto_type xstormy16_elf_howto_table [] = /* A 16 bit absolute relocation. */ HOWTO (R_XSTORMY16_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -118,7 +118,7 @@ static reloc_howto_type xstormy16_elf_howto_table [] = /* An 8 bit absolute relocation. */ HOWTO (R_XSTORMY16_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -133,7 +133,7 @@ static reloc_howto_type xstormy16_elf_howto_table [] = /* A 32 bit pc-relative relocation. */ HOWTO (R_XSTORMY16_PC32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -148,7 +148,7 @@ static reloc_howto_type xstormy16_elf_howto_table [] = /* A 16 bit pc-relative relocation. */ HOWTO (R_XSTORMY16_PC16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -163,7 +163,7 @@ static reloc_howto_type xstormy16_elf_howto_table [] = /* An 8 bit pc-relative relocation. */ HOWTO (R_XSTORMY16_PC8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -178,7 +178,7 @@ static reloc_howto_type xstormy16_elf_howto_table [] = /* A 12-bit pc-relative relocation suitable for the branch instructions. */ HOWTO (R_XSTORMY16_REL_12, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 11, /* bitsize */ true, /* pc_relative */ 1, /* bitpos */ @@ -193,7 +193,7 @@ static reloc_howto_type xstormy16_elf_howto_table [] = /* A 24-bit absolute relocation suitable for the jump instructions. */ HOWTO (R_XSTORMY16_24, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -208,7 +208,7 @@ static reloc_howto_type xstormy16_elf_howto_table [] = /* A 16 bit absolute relocation to a function pointer. */ HOWTO (R_XSTORMY16_FPTR16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -223,7 +223,7 @@ static reloc_howto_type xstormy16_elf_howto_table [] = /* Low order 16 bit value of a high memory address. */ HOWTO (R_XSTORMY16_LO16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -238,7 +238,7 @@ static reloc_howto_type xstormy16_elf_howto_table [] = /* High order 16 bit value of a high memory address. */ HOWTO (R_XSTORMY16_HI16, /* type */ 16, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -253,7 +253,7 @@ static reloc_howto_type xstormy16_elf_howto_table [] = /* A 12 bit absolute relocation. */ HOWTO (R_XSTORMY16_12, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -271,7 +271,7 @@ static reloc_howto_type xstormy16_elf_howto_table2 [] = /* GNU extension to record C++ vtable hierarchy */ HOWTO (R_XSTORMY16_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -286,7 +286,7 @@ static reloc_howto_type xstormy16_elf_howto_table2 [] = /* GNU extension to record C++ vtable member usage */ HOWTO (R_XSTORMY16_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c index f1839e6..d7bc489 100644 --- a/bfd/elf32-xtensa.c +++ b/bfd/elf32-xtensa.c @@ -191,10 +191,10 @@ int elf32xtensa_abi = XTHAL_ABI_UNDEFINED; static reloc_howto_type elf_howto_table[] = { - HOWTO (R_XTENSA_NONE, 0, 3, 0, false, 0, complain_overflow_dont, + HOWTO (R_XTENSA_NONE, 0, 0, 0, false, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_NONE", false, 0, 0, false), - HOWTO (R_XTENSA_32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO (R_XTENSA_32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_xtensa_reloc, "R_XTENSA_32", true, 0xffffffff, 0xffffffff, false), @@ -203,161 +203,161 @@ static reloc_howto_type elf_howto_table[] = special: 1 means to substitute a pointer to the runtime linker's dynamic resolver function; 2 means to substitute the link map for the shared object. */ - HOWTO (R_XTENSA_RTLD, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO (R_XTENSA_RTLD, 0, 4, 32, false, 0, complain_overflow_dont, NULL, "R_XTENSA_RTLD", false, 0, 0, false), - HOWTO (R_XTENSA_GLOB_DAT, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO (R_XTENSA_GLOB_DAT, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_XTENSA_GLOB_DAT", false, 0, 0xffffffff, false), - HOWTO (R_XTENSA_JMP_SLOT, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO (R_XTENSA_JMP_SLOT, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_XTENSA_JMP_SLOT", false, 0, 0xffffffff, false), - HOWTO (R_XTENSA_RELATIVE, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO (R_XTENSA_RELATIVE, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_XTENSA_RELATIVE", false, 0, 0xffffffff, false), - HOWTO (R_XTENSA_PLT, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO (R_XTENSA_PLT, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_xtensa_reloc, "R_XTENSA_PLT", false, 0, 0xffffffff, false), EMPTY_HOWTO (7), /* Old relocations for backward compatibility. */ - HOWTO (R_XTENSA_OP0, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_OP0, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_OP0", false, 0, 0, true), - HOWTO (R_XTENSA_OP1, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_OP1, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_OP1", false, 0, 0, true), - HOWTO (R_XTENSA_OP2, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_OP2, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_OP2", false, 0, 0, true), /* Assembly auto-expansion. */ - HOWTO (R_XTENSA_ASM_EXPAND, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_ASM_EXPAND, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_ASM_EXPAND", false, 0, 0, true), /* Relax assembly auto-expansion. */ - HOWTO (R_XTENSA_ASM_SIMPLIFY, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_ASM_SIMPLIFY, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_ASM_SIMPLIFY", false, 0, 0, true), EMPTY_HOWTO (13), - HOWTO (R_XTENSA_32_PCREL, 0, 2, 32, true, 0, complain_overflow_bitfield, + HOWTO (R_XTENSA_32_PCREL, 0, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_xtensa_reloc, "R_XTENSA_32_PCREL", false, 0, 0xffffffff, true), /* GNU extension to record C++ vtable hierarchy. */ - HOWTO (R_XTENSA_GNU_VTINHERIT, 0, 2, 0, false, 0, complain_overflow_dont, + HOWTO (R_XTENSA_GNU_VTINHERIT, 0, 4, 0, false, 0, complain_overflow_dont, NULL, "R_XTENSA_GNU_VTINHERIT", false, 0, 0, false), /* GNU extension to record C++ vtable member usage. */ - HOWTO (R_XTENSA_GNU_VTENTRY, 0, 2, 0, false, 0, complain_overflow_dont, + HOWTO (R_XTENSA_GNU_VTENTRY, 0, 4, 0, false, 0, complain_overflow_dont, _bfd_elf_rel_vtable_reloc_fn, "R_XTENSA_GNU_VTENTRY", false, 0, 0, false), /* Relocations for supporting difference of symbols. */ - HOWTO (R_XTENSA_DIFF8, 0, 0, 8, false, 0, complain_overflow_signed, + HOWTO (R_XTENSA_DIFF8, 0, 1, 8, false, 0, complain_overflow_signed, bfd_elf_xtensa_reloc, "R_XTENSA_DIFF8", false, 0, 0xff, false), - HOWTO (R_XTENSA_DIFF16, 0, 1, 16, false, 0, complain_overflow_signed, + HOWTO (R_XTENSA_DIFF16, 0, 2, 16, false, 0, complain_overflow_signed, bfd_elf_xtensa_reloc, "R_XTENSA_DIFF16", false, 0, 0xffff, false), - HOWTO (R_XTENSA_DIFF32, 0, 2, 32, false, 0, complain_overflow_signed, + HOWTO (R_XTENSA_DIFF32, 0, 4, 32, false, 0, complain_overflow_signed, bfd_elf_xtensa_reloc, "R_XTENSA_DIFF32", false, 0, 0xffffffff, false), /* General immediate operand relocations. */ - HOWTO (R_XTENSA_SLOT0_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT0_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT0_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT1_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT1_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT1_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT2_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT2_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT2_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT3_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT3_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT3_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT4_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT4_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT4_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT5_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT5_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT5_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT6_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT6_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT6_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT7_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT7_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT7_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT8_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT8_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT8_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT9_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT9_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT9_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT10_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT10_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT10_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT11_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT11_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT11_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT12_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT12_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT12_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT13_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT13_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT13_OP", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT14_OP, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT14_OP, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT14_OP", false, 0, 0, true), /* "Alternate" relocations. The meaning of these is opcode-specific. */ - HOWTO (R_XTENSA_SLOT0_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT0_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT0_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT1_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT1_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT1_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT2_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT2_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT2_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT3_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT3_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT3_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT4_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT4_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT4_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT5_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT5_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT5_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT6_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT6_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT6_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT7_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT7_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT7_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT8_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT8_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT8_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT9_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT9_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT9_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT10_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT10_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT10_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT11_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT11_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT11_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT12_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT12_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT12_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT13_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT13_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT13_ALT", false, 0, 0, true), - HOWTO (R_XTENSA_SLOT14_ALT, 0, 0, 0, true, 0, complain_overflow_dont, + HOWTO (R_XTENSA_SLOT14_ALT, 0, 1, 0, true, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_SLOT14_ALT", false, 0, 0, true), /* TLS relocations. */ - HOWTO (R_XTENSA_TLSDESC_FN, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO (R_XTENSA_TLSDESC_FN, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_TLSDESC_FN", false, 0, 0xffffffff, false), - HOWTO (R_XTENSA_TLSDESC_ARG, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO (R_XTENSA_TLSDESC_ARG, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_TLSDESC_ARG", false, 0, 0xffffffff, false), - HOWTO (R_XTENSA_TLS_DTPOFF, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO (R_XTENSA_TLS_DTPOFF, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_TLS_DTPOFF", false, 0, 0xffffffff, false), - HOWTO (R_XTENSA_TLS_TPOFF, 0, 2, 32, false, 0, complain_overflow_dont, + HOWTO (R_XTENSA_TLS_TPOFF, 0, 4, 32, false, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_TLS_TPOFF", false, 0, 0xffffffff, false), - HOWTO (R_XTENSA_TLS_FUNC, 0, 0, 0, false, 0, complain_overflow_dont, + HOWTO (R_XTENSA_TLS_FUNC, 0, 1, 0, false, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_TLS_FUNC", false, 0, 0, false), - HOWTO (R_XTENSA_TLS_ARG, 0, 0, 0, false, 0, complain_overflow_dont, + HOWTO (R_XTENSA_TLS_ARG, 0, 1, 0, false, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_TLS_ARG", false, 0, 0, false), - HOWTO (R_XTENSA_TLS_CALL, 0, 0, 0, false, 0, complain_overflow_dont, + HOWTO (R_XTENSA_TLS_CALL, 0, 1, 0, false, 0, complain_overflow_dont, bfd_elf_xtensa_reloc, "R_XTENSA_TLS_CALL", false, 0, 0, false), - HOWTO (R_XTENSA_PDIFF8, 0, 0, 8, false, 0, complain_overflow_bitfield, + HOWTO (R_XTENSA_PDIFF8, 0, 1, 8, false, 0, complain_overflow_bitfield, bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF8", false, 0, 0xff, false), - HOWTO (R_XTENSA_PDIFF16, 0, 1, 16, false, 0, complain_overflow_bitfield, + HOWTO (R_XTENSA_PDIFF16, 0, 2, 16, false, 0, complain_overflow_bitfield, bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF16", false, 0, 0xffff, false), - HOWTO (R_XTENSA_PDIFF32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO (R_XTENSA_PDIFF32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF32", false, 0, 0xffffffff, false), - HOWTO (R_XTENSA_NDIFF8, 0, 0, 8, false, 0, complain_overflow_bitfield, + HOWTO (R_XTENSA_NDIFF8, 0, 1, 8, false, 0, complain_overflow_bitfield, bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF8", false, 0, 0xff, false), - HOWTO (R_XTENSA_NDIFF16, 0, 1, 16, false, 0, complain_overflow_bitfield, + HOWTO (R_XTENSA_NDIFF16, 0, 2, 16, false, 0, complain_overflow_bitfield, bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF16", false, 0, 0xffff, false), - HOWTO (R_XTENSA_NDIFF32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO (R_XTENSA_NDIFF32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF32", false, 0, 0xffffffff, false), }; diff --git a/bfd/elf32-z80.c b/bfd/elf32-z80.c index e4aff7d..3a28bc9 100644 --- a/bfd/elf32-z80.c +++ b/bfd/elf32-z80.c @@ -50,7 +50,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_NONE, R_Z80_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -66,7 +66,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_8, R_Z80_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -82,7 +82,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_DISP8, R_Z80_8_DIS, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -98,7 +98,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_8_PCREL, R_Z80_8_PCREL, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -114,7 +114,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_16, R_Z80_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -130,7 +130,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_24, R_Z80_24, /* type */ 0, /* rightshift */ - 5, /* size (0 = byte, 1 = short, 2 = long) */ + 3, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -145,7 +145,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_32, R_Z80_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -161,7 +161,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_BYTE0, R_Z80_BYTE0, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -177,7 +177,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_BYTE1, R_Z80_BYTE1, /* type */ 8, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -193,7 +193,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_BYTE2, R_Z80_BYTE2, /* type */ 16, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -209,7 +209,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_BYTE3, R_Z80_BYTE3, /* type */ 24, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -225,7 +225,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_WORD0, R_Z80_WORD0, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -241,7 +241,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_WORD1, R_Z80_WORD1, /* type */ 16, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -257,7 +257,7 @@ bfd_howto_type elf_z80_howto_table[] = BFD_HOWTO (BFD_RELOC_Z80_16_BE, R_Z80_16_BE, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index f850db9..ab98e9f 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -482,13 +482,13 @@ elf64_alpha_reloc_gpdisp (bfd *abfd, arelent *reloc_entry, #define SKIP_HOWTO(N) \ - HOWTO(N, 0, 0, 0, 0, 0, complain_overflow_dont, elf64_alpha_reloc_bad, 0, 0, 0, 0, 0) + HOWTO(N, 0, 1, 0, 0, 0, complain_overflow_dont, elf64_alpha_reloc_bad, 0, 0, 0, 0, 0) static reloc_howto_type elf64_alpha_howto_table[] = { HOWTO (R_ALPHA_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -503,7 +503,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A 32 bit reference to a symbol. */ HOWTO (R_ALPHA_REFLONG, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -518,7 +518,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A 64 bit reference to a symbol. */ HOWTO (R_ALPHA_REFQUAD, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -535,7 +535,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = added in. */ HOWTO (R_ALPHA_GPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -550,7 +550,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* Used for an instruction that refers to memory off the GP register. */ HOWTO (R_ALPHA_LITERAL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -571,7 +571,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = This does not actually do any relocation. */ HOWTO (R_ALPHA_LITUSE, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -601,7 +601,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = in the GPDISP_HI16 reloc. */ HOWTO (R_ALPHA_GPDISP, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -616,7 +616,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A 21 bit branch. */ HOWTO (R_ALPHA_BRADDR, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -631,7 +631,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A hint for a jump to a register. */ HOWTO (R_ALPHA_HINT, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 14, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -646,7 +646,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* 16 bit PC relative offset. */ HOWTO (R_ALPHA_SREL16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -661,7 +661,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* 32 bit PC relative offset. */ HOWTO (R_ALPHA_SREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -676,7 +676,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A 64 bit PC relative offset. */ HOWTO (R_ALPHA_SREL64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -698,7 +698,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* The high 16 bits of the displacement from GP to the target. */ HOWTO (R_ALPHA_GPRELHIGH, 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -713,7 +713,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* The low 16 bits of the displacement from GP to the target. */ HOWTO (R_ALPHA_GPRELLOW, 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -728,7 +728,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A 16-bit displacement from the GP to the target. */ HOWTO (R_ALPHA_GPREL16, 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -754,7 +754,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = because .dynbss is an ugly thing. */ HOWTO (R_ALPHA_COPY, 0, - 0, + 1, 0, false, 0, @@ -769,7 +769,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A dynamic relocation for a .got entry. */ HOWTO (R_ALPHA_GLOB_DAT, 0, - 0, + 1, 0, false, 0, @@ -784,7 +784,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A dynamic relocation for a .plt entry. */ HOWTO (R_ALPHA_JMP_SLOT, 0, - 0, + 1, 0, false, 0, @@ -799,7 +799,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A dynamic relocation to add the base of the DSO to a 64-bit field. */ HOWTO (R_ALPHA_RELATIVE, 0, - 0, + 1, 0, false, 0, @@ -814,7 +814,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A 21 bit branch that adjusts for gp loads. */ HOWTO (R_ALPHA_BRSGP, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -829,7 +829,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* Creates a tls_index for the symbol in the got. */ HOWTO (R_ALPHA_TLSGD, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -844,7 +844,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* Creates a tls_index for the (current) module in the got. */ HOWTO (R_ALPHA_TLSLDM, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -859,7 +859,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A dynamic relocation for a DTP module entry. */ HOWTO (R_ALPHA_DTPMOD64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -875,7 +875,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = from DTP to the target. */ HOWTO (R_ALPHA_GOTDTPREL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -890,7 +890,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A dynamic relocation for a displacement from DTP to the target. */ HOWTO (R_ALPHA_DTPREL64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -905,7 +905,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* The high 16 bits of the displacement from DTP to the target. */ HOWTO (R_ALPHA_DTPRELHI, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -920,7 +920,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* The low 16 bits of the displacement from DTP to the target. */ HOWTO (R_ALPHA_DTPRELLO, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -935,7 +935,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A 16-bit displacement from DTP to the target. */ HOWTO (R_ALPHA_DTPREL16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -951,7 +951,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = from TP to the target. */ HOWTO (R_ALPHA_GOTTPREL, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -966,7 +966,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A dynamic relocation for a displacement from TP to the target. */ HOWTO (R_ALPHA_TPREL64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -981,7 +981,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* The high 16 bits of the displacement from TP to the target. */ HOWTO (R_ALPHA_TPRELHI, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -996,7 +996,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* The low 16 bits of the displacement from TP to the target. */ HOWTO (R_ALPHA_TPRELLO, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1011,7 +1011,7 @@ static reloc_howto_type elf64_alpha_howto_table[] = /* A 16-bit displacement from TP to the target. */ HOWTO (R_ALPHA_TPREL16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf64-bpf.c b/bfd/elf64-bpf.c index 6cec7ac..e7c2754 100644 --- a/bfd/elf64-bpf.c +++ b/bfd/elf64-bpf.c @@ -40,7 +40,7 @@ static reloc_howto_type bpf_elf_howto_table [] = /* This reloc does nothing. */ HOWTO (R_BPF_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -55,7 +55,7 @@ static reloc_howto_type bpf_elf_howto_table [] = /* 64-immediate in LDDW instruction. */ HOWTO (R_BPF_INSN_64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 32, /* bitpos */ @@ -70,7 +70,7 @@ static reloc_howto_type bpf_elf_howto_table [] = /* 32-immediate in many instructions. */ HOWTO (R_BPF_INSN_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 32, /* bitpos */ @@ -85,7 +85,7 @@ static reloc_howto_type bpf_elf_howto_table [] = /* 16-bit offsets in instructions. */ HOWTO (R_BPF_INSN_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 16, /* bitpos */ @@ -100,7 +100,7 @@ static reloc_howto_type bpf_elf_howto_table [] = /* 16-bit PC-relative address in jump instructions. */ HOWTO (R_BPF_INSN_DISP16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 16, /* bitpos */ @@ -114,7 +114,7 @@ static reloc_howto_type bpf_elf_howto_table [] = HOWTO (R_BPF_DATA_8_PCREL, 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -128,7 +128,7 @@ static reloc_howto_type bpf_elf_howto_table [] = HOWTO (R_BPF_DATA_16_PCREL, 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -142,7 +142,7 @@ static reloc_howto_type bpf_elf_howto_table [] = HOWTO (R_BPF_DATA_32_PCREL, 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -156,7 +156,7 @@ static reloc_howto_type bpf_elf_howto_table [] = HOWTO (R_BPF_DATA_8, 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -170,7 +170,7 @@ static reloc_howto_type bpf_elf_howto_table [] = HOWTO (R_BPF_DATA_16, 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -185,7 +185,7 @@ static reloc_howto_type bpf_elf_howto_table [] = /* 32-bit PC-relative address in call instructions. */ HOWTO (R_BPF_INSN_DISP32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 32, /* bitpos */ @@ -200,7 +200,7 @@ static reloc_howto_type bpf_elf_howto_table [] = /* 32-bit data. */ HOWTO (R_BPF_DATA_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -215,7 +215,7 @@ static reloc_howto_type bpf_elf_howto_table [] = /* 64-bit data. */ HOWTO (R_BPF_DATA_64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -229,7 +229,7 @@ static reloc_howto_type bpf_elf_howto_table [] = HOWTO (R_BPF_DATA_64_PCREL, 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf64-gen.c b/bfd/elf64-gen.c index 7e92c87..ef5c842 100644 --- a/bfd/elf64-gen.c +++ b/bfd/elf64-gen.c @@ -29,7 +29,7 @@ static reloc_howto_type dummy = HOWTO (0, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c index 7f6f7ef..91b0dce 100644 --- a/bfd/elf64-mips.c +++ b/bfd/elf64-mips.c @@ -135,7 +135,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* No relocation. */ HOWTO (R_MIPS_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -150,7 +150,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* 16 bit relocation. */ HOWTO (R_MIPS_16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -165,7 +165,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* 32 bit relocation. */ HOWTO (R_MIPS_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -180,7 +180,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* 32 bit symbol relative relocation. */ HOWTO (R_MIPS_REL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -195,7 +195,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* 26 bit jump address. */ HOWTO (R_MIPS_26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -216,7 +216,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* High 16 bits of symbol value. */ HOWTO (R_MIPS_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -231,7 +231,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* Low 16 bits of symbol value. */ HOWTO (R_MIPS_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -246,7 +246,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* GP relative reference. */ HOWTO (R_MIPS_GPREL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -261,7 +261,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* Reference to literal section. */ HOWTO (R_MIPS_LITERAL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -276,7 +276,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* Reference to global offset table. */ HOWTO (R_MIPS_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -293,7 +293,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = We do the right thing here. */ HOWTO (R_MIPS_PC16, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -308,7 +308,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* 16 bit call through global offset table. */ HOWTO (R_MIPS_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -323,7 +323,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* 32 bit GP relative reference. */ HOWTO (R_MIPS_GPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -342,7 +342,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* A 5 bit shift field. */ HOWTO (R_MIPS_SHIFT5, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 5, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -357,7 +357,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* A 6 bit shift field. */ HOWTO (R_MIPS_SHIFT6, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 6, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -372,7 +372,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* 64 bit relocation. */ HOWTO (R_MIPS_64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -387,7 +387,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* Displacement in the global offset table. */ HOWTO (R_MIPS_GOT_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -402,7 +402,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* Displacement to page pointer in the global offset table. */ HOWTO (R_MIPS_GOT_PAGE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -417,7 +417,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* Offset from page pointer in the global offset table. */ HOWTO (R_MIPS_GOT_OFST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -432,7 +432,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_GOT_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -447,7 +447,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_GOT_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -462,7 +462,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* 64 bit subtraction. */ HOWTO (R_MIPS_SUB, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -478,7 +478,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* FIXME: Not handled correctly. */ HOWTO (R_MIPS_INSERT_A, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -495,7 +495,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* FIXME: Not handled correctly. */ HOWTO (R_MIPS_INSERT_B, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -511,7 +511,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* FIXME: Not handled correctly. */ HOWTO (R_MIPS_DELETE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -535,7 +535,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_CALL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -550,7 +550,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_CALL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -565,7 +565,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* Section displacement, used by an associated event location section. */ HOWTO (R_MIPS_SCN_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -579,7 +579,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = HOWTO (R_MIPS_REL16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -599,7 +599,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = It must be used for multigot GOT's (and only there). */ HOWTO (R_MIPS_RELGOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -615,7 +615,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = relocation is required for correctness. */ HOWTO (R_MIPS_JALR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -633,7 +633,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = HOWTO (R_MIPS_TLS_DTPMOD64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -647,7 +647,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = HOWTO (R_MIPS_TLS_DTPREL64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -662,7 +662,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* TLS general dynamic variable reference. */ HOWTO (R_MIPS_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -677,7 +677,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* TLS local dynamic variable reference. */ HOWTO (R_MIPS_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -692,7 +692,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* TLS local dynamic offset. */ HOWTO (R_MIPS_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -707,7 +707,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* TLS local dynamic offset. */ HOWTO (R_MIPS_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -722,7 +722,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -739,7 +739,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = HOWTO (R_MIPS_TLS_TPREL64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -754,7 +754,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -769,7 +769,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -784,7 +784,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = /* 32 bit relocation with no addend. */ HOWTO (R_MIPS_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -807,7 +807,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = HOWTO (R_MIPS_PC21_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -821,7 +821,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = HOWTO (R_MIPS_PC26_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -835,7 +835,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = HOWTO (R_MIPS_PC18_S3, /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 18, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -849,7 +849,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = HOWTO (R_MIPS_PC19_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -863,7 +863,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = HOWTO (R_MIPS_PCHI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -877,7 +877,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = HOWTO (R_MIPS_PCLO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -898,7 +898,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* No relocation. */ HOWTO (R_MIPS_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -913,7 +913,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* 16 bit relocation. */ HOWTO (R_MIPS_16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -928,7 +928,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* 32 bit relocation. */ HOWTO (R_MIPS_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -943,7 +943,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* 32 bit symbol relative relocation. */ HOWTO (R_MIPS_REL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -958,7 +958,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* 26 bit jump address. */ HOWTO (R_MIPS_26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -976,7 +976,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* High 16 bits of symbol value. */ HOWTO (R_MIPS_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -991,7 +991,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* Low 16 bits of symbol value. */ HOWTO (R_MIPS_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1006,7 +1006,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* GP relative reference. */ HOWTO (R_MIPS_GPREL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1021,7 +1021,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* Reference to literal section. */ HOWTO (R_MIPS_LITERAL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1036,7 +1036,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* Reference to global offset table. */ HOWTO (R_MIPS_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1053,7 +1053,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = We do the right thing here. */ HOWTO (R_MIPS_PC16, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1068,7 +1068,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* 16 bit call through global offset table. */ HOWTO (R_MIPS_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1083,7 +1083,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* 32 bit GP relative reference. */ HOWTO (R_MIPS_GPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1102,7 +1102,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* A 5 bit shift field. */ HOWTO (R_MIPS_SHIFT5, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 5, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -1117,7 +1117,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* A 6 bit shift field. */ HOWTO (R_MIPS_SHIFT6, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 6, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -1132,7 +1132,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* 64 bit relocation. */ HOWTO (R_MIPS_64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1147,7 +1147,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* Displacement in the global offset table. */ HOWTO (R_MIPS_GOT_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1162,7 +1162,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* Displacement to page pointer in the global offset table. */ HOWTO (R_MIPS_GOT_PAGE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1177,7 +1177,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* Offset from page pointer in the global offset table. */ HOWTO (R_MIPS_GOT_OFST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1192,7 +1192,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_GOT_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1207,7 +1207,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_GOT_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1222,7 +1222,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* 64 bit subtraction. */ HOWTO (R_MIPS_SUB, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1238,7 +1238,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* FIXME: Not handled correctly. */ HOWTO (R_MIPS_INSERT_A, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1255,7 +1255,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* FIXME: Not handled correctly. */ HOWTO (R_MIPS_INSERT_B, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1271,7 +1271,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* FIXME: Not handled correctly. */ HOWTO (R_MIPS_DELETE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1286,7 +1286,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* Get the higher value of a 64 bit addend. */ HOWTO (R_MIPS_HIGHER, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1301,7 +1301,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* Get the highest value of a 64 bit addend. */ HOWTO (R_MIPS_HIGHEST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1316,7 +1316,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_CALL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1331,7 +1331,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_CALL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1346,7 +1346,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* Section displacement, used by an associated event location section. */ HOWTO (R_MIPS_SCN_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1360,7 +1360,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = HOWTO (R_MIPS_REL16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1380,7 +1380,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = It must be used for multigot GOT's (and only there). */ HOWTO (R_MIPS_RELGOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1396,7 +1396,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = relocation is required for correctness. */ HOWTO (R_MIPS_JALR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1414,7 +1414,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = HOWTO (R_MIPS_TLS_DTPMOD64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1428,7 +1428,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = HOWTO (R_MIPS_TLS_DTPREL64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1443,7 +1443,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* TLS general dynamic variable reference. */ HOWTO (R_MIPS_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1458,7 +1458,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* TLS local dynamic variable reference. */ HOWTO (R_MIPS_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1473,7 +1473,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* TLS local dynamic offset. */ HOWTO (R_MIPS_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1488,7 +1488,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* TLS local dynamic offset. */ HOWTO (R_MIPS_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1503,7 +1503,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1520,7 +1520,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = HOWTO (R_MIPS_TLS_TPREL64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1535,7 +1535,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1550,7 +1550,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1565,7 +1565,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = /* 32 bit relocation with no addend. */ HOWTO (R_MIPS_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1588,7 +1588,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = HOWTO (R_MIPS_PC21_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1602,7 +1602,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = HOWTO (R_MIPS_PC26_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1616,7 +1616,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = HOWTO (R_MIPS_PC18_S3, /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 18, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1630,7 +1630,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = HOWTO (R_MIPS_PC19_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1644,7 +1644,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = HOWTO (R_MIPS_PCHI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1658,7 +1658,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = HOWTO (R_MIPS_PCLO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1677,7 +1677,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* The reloc used for the mips16 jump instruction. */ HOWTO (R_MIPS16_26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1695,7 +1695,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* The reloc used for the mips16 gprel instruction. */ HOWTO (R_MIPS16_GPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1710,7 +1710,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* A MIPS16 reference to the global offset table. */ HOWTO (R_MIPS16_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1725,7 +1725,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* A MIPS16 call through the global offset table. */ HOWTO (R_MIPS16_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1740,7 +1740,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* MIPS16 high 16 bits of symbol value. */ HOWTO (R_MIPS16_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1755,7 +1755,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* MIPS16 low 16 bits of symbol value. */ HOWTO (R_MIPS16_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1770,7 +1770,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* MIPS16 TLS general dynamic variable reference. */ HOWTO (R_MIPS16_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1785,7 +1785,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* MIPS16 TLS local dynamic variable reference. */ HOWTO (R_MIPS16_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1800,7 +1800,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* MIPS16 TLS local dynamic offset. */ HOWTO (R_MIPS16_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1815,7 +1815,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* MIPS16 TLS local dynamic offset. */ HOWTO (R_MIPS16_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1830,7 +1830,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1845,7 +1845,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1860,7 +1860,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1875,7 +1875,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = /* MIPS16 16-bit PC-relative branch offset. */ HOWTO (R_MIPS16_PC16_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1893,7 +1893,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* The reloc used for the mips16 jump instruction. */ HOWTO (R_MIPS16_26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1911,7 +1911,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* The reloc used for the mips16 gprel instruction. */ HOWTO (R_MIPS16_GPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1926,7 +1926,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* A MIPS16 reference to the global offset table. */ HOWTO (R_MIPS16_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1941,7 +1941,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* A MIPS16 call through the global offset table. */ HOWTO (R_MIPS16_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1956,7 +1956,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* MIPS16 high 16 bits of symbol value. */ HOWTO (R_MIPS16_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1971,7 +1971,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* MIPS16 low 16 bits of symbol value. */ HOWTO (R_MIPS16_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1986,7 +1986,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* MIPS16 TLS general dynamic variable reference. */ HOWTO (R_MIPS16_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2001,7 +2001,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* MIPS16 TLS local dynamic variable reference. */ HOWTO (R_MIPS16_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2016,7 +2016,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* MIPS16 TLS local dynamic offset. */ HOWTO (R_MIPS16_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2031,7 +2031,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* MIPS16 TLS local dynamic offset. */ HOWTO (R_MIPS16_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2046,7 +2046,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2061,7 +2061,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2076,7 +2076,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2091,7 +2091,7 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] = /* MIPS16 16-bit PC-relative branch offset. */ HOWTO (R_MIPS16_PC16_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2113,7 +2113,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* 26 bit jump address. */ HOWTO (R_MICROMIPS_26_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2131,7 +2131,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* High 16 bits of symbol value. */ HOWTO (R_MICROMIPS_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2146,7 +2146,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* Low 16 bits of symbol value. */ HOWTO (R_MICROMIPS_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2161,7 +2161,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* GP relative reference. */ HOWTO (R_MICROMIPS_GPREL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2176,7 +2176,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* Reference to literal section. */ HOWTO (R_MICROMIPS_LITERAL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2191,7 +2191,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* Reference to global offset table. */ HOWTO (R_MICROMIPS_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2206,7 +2206,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* This is for microMIPS branches. */ HOWTO (R_MICROMIPS_PC7_S1, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2220,7 +2220,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = HOWTO (R_MICROMIPS_PC10_S1, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2234,7 +2234,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = HOWTO (R_MICROMIPS_PC16_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2249,7 +2249,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* 16 bit call through global offset table. */ HOWTO (R_MICROMIPS_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2267,7 +2267,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* Displacement in the global offset table. */ HOWTO (R_MICROMIPS_GOT_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2282,7 +2282,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* Displacement to page pointer in the global offset table. */ HOWTO (R_MICROMIPS_GOT_PAGE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2297,7 +2297,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* Offset from page pointer in the global offset table. */ HOWTO (R_MICROMIPS_GOT_OFST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2312,7 +2312,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_GOT_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2327,7 +2327,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_GOT_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2342,7 +2342,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* 64 bit subtraction. Used in the N32 ABI. */ HOWTO (R_MICROMIPS_SUB, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2364,7 +2364,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_CALL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2379,7 +2379,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_CALL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2394,7 +2394,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* Section displacement. */ HOWTO (R_MICROMIPS_SCN_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2410,7 +2410,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = relocation is required for correctness. */ HOWTO (R_MICROMIPS_JALR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2426,7 +2426,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = must be zero. This is used for relaxation. */ HOWTO (R_MICROMIPS_HI0_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2446,7 +2446,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* TLS general dynamic variable reference. */ HOWTO (R_MICROMIPS_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2461,7 +2461,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* TLS local dynamic variable reference. */ HOWTO (R_MICROMIPS_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2476,7 +2476,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* TLS local dynamic offset. */ HOWTO (R_MICROMIPS_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2491,7 +2491,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* TLS local dynamic offset. */ HOWTO (R_MICROMIPS_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2506,7 +2506,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2524,7 +2524,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2539,7 +2539,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2556,7 +2556,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = /* GP- and PC-relative relocations. */ HOWTO (R_MICROMIPS_GPREL7_S2, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2570,7 +2570,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = HOWTO (R_MICROMIPS_PC23_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 23, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2592,7 +2592,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* 26 bit jump address. */ HOWTO (R_MICROMIPS_26_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2610,7 +2610,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* High 16 bits of symbol value. */ HOWTO (R_MICROMIPS_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2625,7 +2625,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* Low 16 bits of symbol value. */ HOWTO (R_MICROMIPS_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2640,7 +2640,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* GP relative reference. */ HOWTO (R_MICROMIPS_GPREL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2655,7 +2655,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* Reference to literal section. */ HOWTO (R_MICROMIPS_LITERAL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2670,7 +2670,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* Reference to global offset table. */ HOWTO (R_MICROMIPS_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2685,7 +2685,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* This is for microMIPS branches. */ HOWTO (R_MICROMIPS_PC7_S1, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2699,7 +2699,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = HOWTO (R_MICROMIPS_PC10_S1, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2713,7 +2713,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = HOWTO (R_MICROMIPS_PC16_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2728,7 +2728,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* 16 bit call through global offset table. */ HOWTO (R_MICROMIPS_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2746,7 +2746,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* Displacement in the global offset table. */ HOWTO (R_MICROMIPS_GOT_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2761,7 +2761,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* Displacement to page pointer in the global offset table. */ HOWTO (R_MICROMIPS_GOT_PAGE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2776,7 +2776,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* Offset from page pointer in the global offset table. */ HOWTO (R_MICROMIPS_GOT_OFST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2791,7 +2791,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_GOT_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2806,7 +2806,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_GOT_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2821,7 +2821,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* 64 bit subtraction. Used in the N32 ABI. */ HOWTO (R_MICROMIPS_SUB, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2836,7 +2836,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* Get the higher value of a 64 bit addend. */ HOWTO (R_MICROMIPS_HIGHER, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2851,7 +2851,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* Get the highest value of a 64 bit addend. */ HOWTO (R_MICROMIPS_HIGHEST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2866,7 +2866,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_CALL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2881,7 +2881,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_CALL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2896,7 +2896,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* Section displacement. */ HOWTO (R_MICROMIPS_SCN_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2912,7 +2912,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = relocation is required for correctness. */ HOWTO (R_MICROMIPS_JALR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2928,7 +2928,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = must be zero. This is used for relaxation. */ HOWTO (R_MICROMIPS_HI0_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2948,7 +2948,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* TLS general dynamic variable reference. */ HOWTO (R_MICROMIPS_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2963,7 +2963,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* TLS local dynamic variable reference. */ HOWTO (R_MICROMIPS_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2978,7 +2978,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* TLS local dynamic offset. */ HOWTO (R_MICROMIPS_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2993,7 +2993,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* TLS local dynamic offset. */ HOWTO (R_MICROMIPS_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3008,7 +3008,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3026,7 +3026,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3041,7 +3041,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3058,7 +3058,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = /* GP- and PC-relative relocations. */ HOWTO (R_MICROMIPS_GPREL7_S2, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3072,7 +3072,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = HOWTO (R_MICROMIPS_PC23_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 23, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -3089,7 +3089,7 @@ static reloc_howto_type micromips_elf64_howto_table_rela[] = static reloc_howto_type elf_mips_gnu_vtinherit_howto = HOWTO (R_MIPS_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3105,7 +3105,7 @@ static reloc_howto_type elf_mips_gnu_vtinherit_howto = static reloc_howto_type elf_mips_gnu_vtentry_howto = HOWTO (R_MIPS_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3121,7 +3121,7 @@ static reloc_howto_type elf_mips_gnu_vtentry_howto = static reloc_howto_type elf_mips_gnu_rel16_s2 = HOWTO (R_MIPS_GNU_REL16_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -3137,7 +3137,7 @@ static reloc_howto_type elf_mips_gnu_rel16_s2 = static reloc_howto_type elf_mips_gnu_rela16_s2 = HOWTO (R_MIPS_GNU_REL16_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -3153,7 +3153,7 @@ static reloc_howto_type elf_mips_gnu_rela16_s2 = static reloc_howto_type elf_mips_gnu_pcrel32 = HOWTO (R_MIPS_PC32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -3170,7 +3170,7 @@ static reloc_howto_type elf_mips_gnu_pcrel32 = static reloc_howto_type elf_mips_copy_howto = HOWTO (R_MIPS_COPY, /* type */ 0, /* rightshift */ - 0, /* this one is variable size */ + 1, /* this one is variable size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3186,7 +3186,7 @@ static reloc_howto_type elf_mips_copy_howto = static reloc_howto_type elf_mips_jump_slot_howto = HOWTO (R_MIPS_JUMP_SLOT, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3202,7 +3202,7 @@ static reloc_howto_type elf_mips_jump_slot_howto = static reloc_howto_type elf_mips_eh_howto = HOWTO (R_MIPS_EH, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf64-mmix.c b/bfd/elf64-mmix.c index 86cf2cb..e89d59d 100644 --- a/bfd/elf64-mmix.c +++ b/bfd/elf64-mmix.c @@ -192,7 +192,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* This reloc does nothing. */ HOWTO (R_MMIX_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -207,7 +207,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* An 8 bit absolute relocation. */ HOWTO (R_MMIX_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -222,7 +222,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* An 16 bit absolute relocation. */ HOWTO (R_MMIX_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -237,7 +237,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* An 24 bit absolute relocation. */ HOWTO (R_MMIX_24, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -252,7 +252,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* A 32 bit absolute relocation. */ HOWTO (R_MMIX_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -267,7 +267,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* 64 bit relocation. */ HOWTO (R_MMIX_64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -282,7 +282,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* An 8 bit PC-relative relocation. */ HOWTO (R_MMIX_PC_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -297,7 +297,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* An 16 bit PC-relative relocation. */ HOWTO (R_MMIX_PC_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -312,7 +312,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* An 24 bit PC-relative relocation. */ HOWTO (R_MMIX_PC_24, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 24, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -327,7 +327,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* A 32 bit absolute PC-relative relocation. */ HOWTO (R_MMIX_PC_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -342,7 +342,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* 64 bit PC-relative relocation. */ HOWTO (R_MMIX_PC_64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -357,7 +357,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* GNU extension to record C++ vtable hierarchy. */ HOWTO (R_MMIX_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -372,7 +372,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* GNU extension to record C++ vtable member usage. */ HOWTO (R_MMIX_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -390,7 +390,7 @@ static reloc_howto_type elf_mmix_howto_table[] = significant bits are set. The howto members reflect a simple GETA. */ HOWTO (R_MMIX_GETA, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -404,7 +404,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_GETA_1, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -418,7 +418,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_GETA_2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -432,7 +432,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_GETA_3, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -450,7 +450,7 @@ static reloc_howto_type elf_mmix_howto_table[] = reflect a simple branch. */ HOWTO (R_MMIX_CBRANCH, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -464,7 +464,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_CBRANCH_J, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -478,7 +478,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_CBRANCH_1, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -492,7 +492,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_CBRANCH_2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -506,7 +506,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_CBRANCH_3, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -526,7 +526,7 @@ static reloc_howto_type elf_mmix_howto_table[] = PUSHJ. */ HOWTO (R_MMIX_PUSHJ, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -540,7 +540,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_PUSHJ_1, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -554,7 +554,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_PUSHJ_2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -568,7 +568,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_PUSHJ_3, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -586,7 +586,7 @@ static reloc_howto_type elf_mmix_howto_table[] = memory segments. The howto members reflect a trivial JMP. */ HOWTO (R_MMIX_JMP, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 27, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -600,7 +600,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_JMP_1, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 27, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -614,7 +614,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_JMP_2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 27, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -628,7 +628,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_JMP_3, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 27, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -645,7 +645,7 @@ static reloc_howto_type elf_mmix_howto_table[] = GETA/PUSHJ/branches. */ HOWTO (R_MMIX_ADDR19, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -660,7 +660,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* For JMP. */ HOWTO (R_MMIX_ADDR27, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 27, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -676,7 +676,7 @@ static reloc_howto_type elf_mmix_howto_table[] = instruction (offset -3) needs adjusting. */ HOWTO (R_MMIX_REG_OR_BYTE, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -691,7 +691,7 @@ static reloc_howto_type elf_mmix_howto_table[] = /* A general register. */ HOWTO (R_MMIX_REG, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -708,7 +708,7 @@ static reloc_howto_type elf_mmix_howto_table[] = the bitmasks correspond to what we store in the image. */ HOWTO (R_MMIX_BASE_PLUS_OFFSET, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -727,7 +727,7 @@ static reloc_howto_type elf_mmix_howto_table[] = section to discard *after* relocation. */ HOWTO (R_MMIX_LOCAL, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -741,7 +741,7 @@ static reloc_howto_type elf_mmix_howto_table[] = HOWTO (R_MMIX_PUSHJ_STUBBABLE, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elf64-nfp.c b/bfd/elf64-nfp.c index 167f979..d012806 100644 --- a/bfd/elf64-nfp.c +++ b/bfd/elf64-nfp.c @@ -40,125 +40,38 @@ elf64_nfp_reloc (bfd * abfd ATTRIBUTE_UNUSED, names. Most of these are mainly used by the NFP toolchain to resolve things before the final ELF file is created. */ +#define NFP_HOWTO(type) \ + HOWTO (type, 0, 0, 0, false, 0, complain_overflow_dont, elf64_nfp_reloc, \ + #type, false, 0, 0, false) static reloc_howto_type elf_nfp_howto_table[] = { - HOWTO (R_NFP_NOTYPE, /* Type. */ - 0, /* Rightshift. */ - 3, /* Size. */ - 0, /* Bitsize. */ - false, /* PC_relative. */ - 0, /* Bitpos. */ - complain_overflow_dont,/* Complain_on_overflow. */ - elf64_nfp_reloc, /* Special_function. */ - "R_NFP_NOTYPE", /* Name. */ - false, /* Partial_inplace. */ - 0, /* Src_mask. */ - 0, /* Dst_mask. */ - false), /* PCrel_offset. */ - HOWTO (R_NFP_W32LE, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_W32LE", - false, 0, 0, false), - HOWTO (R_NFP_SRC8_A, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_SRC8_A", - false, 0, 0, false), - HOWTO (R_NFP_SRC8_B, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_SRC8_B", - false, 0, 0, false), - HOWTO (R_NFP_IMMED8_I, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_IMMED8_I", - false, 0, 0, false), - HOWTO (R_NFP_SC, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_SC", - false, 0, 0, false), - HOWTO (R_NFP_IMMED_LO16_I_A, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_IMMED_LO16_I_A", - false, 0, 0, false), - HOWTO (R_NFP_IMMED_LO16_I_B, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_IMMED_LO16_I_B", - false, 0, 0, false), - HOWTO (R_NFP_SRC7_B, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_SRC7_B", - false, 0, 0, false), - HOWTO (R_NFP_SRC7_A, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_SRC7_A", - false, 0, 0, false), - HOWTO (R_NFP_SRC8_I_B, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_SRC8_I_B", - false, 0, 0, false), - HOWTO (R_NFP_SRC8_I_A, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_SRC8_I_A", - false, 0, 0, false), - HOWTO (R_NFP_IMMED_HI16_I_A, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_IMMED_HI16_I_A", - false, 0, 0, false), - HOWTO (R_NFP_IMMED_HI16_I_B, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_IMMED_HI16_I_B", - false, 0, 0, false), - HOWTO (R_NFP_W64LE, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_W64LE", - false, 0, 0, false), - HOWTO (R_NFP_SH_INFO, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_SH_INFO", - false, 0, 0, false), - HOWTO (R_NFP_W32BE, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_W32BE", - false, 0, 0, false), - HOWTO (R_NFP_W64BE, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_W64BE", - false, 0, 0, false), - HOWTO (R_NFP_W32_29_24, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_W32_29_24", - false, 0, 0, false), - HOWTO (R_NFP_W32LE_AND, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_W32LE_AND", - false, 0, 0, false), - HOWTO (R_NFP_W32BE_AND, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_W32BE_AND", - false, 0, 0, false), - HOWTO (R_NFP_W32LE_OR, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_W32LE_OR", - false, 0, 0, false), - HOWTO (R_NFP_W32BE_OR, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_W32BE_OR", - false, 0, 0, false), - HOWTO (R_NFP_W64LE_AND, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_W64LE_AND", - false, 0, 0, false), - HOWTO (R_NFP_W64BE_AND, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_W64BE_AND", - false, 0, 0, false), - HOWTO (R_NFP_W64LE_OR, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_W64LE_OR", - false, 0, 0, false), - HOWTO (R_NFP_W64BE_OR, 0, 3, 0, false, 0, - complain_overflow_dont, elf64_nfp_reloc, - "R_NFP_W64BE_OR", - false, 0, 0, false) + NFP_HOWTO (R_NFP_NOTYPE), + NFP_HOWTO (R_NFP_W32LE), + NFP_HOWTO (R_NFP_SRC8_A), + NFP_HOWTO (R_NFP_SRC8_B), + NFP_HOWTO (R_NFP_IMMED8_I), + NFP_HOWTO (R_NFP_SC), + NFP_HOWTO (R_NFP_IMMED_LO16_I_A), + NFP_HOWTO (R_NFP_IMMED_LO16_I_B), + NFP_HOWTO (R_NFP_SRC7_B), + NFP_HOWTO (R_NFP_SRC7_A), + NFP_HOWTO (R_NFP_SRC8_I_B), + NFP_HOWTO (R_NFP_SRC8_I_A), + NFP_HOWTO (R_NFP_IMMED_HI16_I_A), + NFP_HOWTO (R_NFP_IMMED_HI16_I_B), + NFP_HOWTO (R_NFP_W64LE), + NFP_HOWTO (R_NFP_SH_INFO), + NFP_HOWTO (R_NFP_W32BE), + NFP_HOWTO (R_NFP_W64BE), + NFP_HOWTO (R_NFP_W32_29_24), + NFP_HOWTO (R_NFP_W32LE_AND), + NFP_HOWTO (R_NFP_W32BE_AND), + NFP_HOWTO (R_NFP_W32LE_OR), + NFP_HOWTO (R_NFP_W32BE_OR), + NFP_HOWTO (R_NFP_W64LE_AND), + NFP_HOWTO (R_NFP_W64BE_AND), + NFP_HOWTO (R_NFP_W64LE_OR), + NFP_HOWTO (R_NFP_W64BE_OR) }; static bool diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 29607bd..335beb7 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -316,98 +316,98 @@ static reloc_howto_type *ppc64_elf_howto_table[(int) R_PPC64_max]; static reloc_howto_type ppc64_elf_howto_raw[] = { /* This reloc does nothing. */ - HOW (R_PPC64_NONE, 3, 0, 0, 0, false, dont, + HOW (R_PPC64_NONE, 0, 0, 0, 0, false, dont, bfd_elf_generic_reloc), /* A standard 32 bit relocation. */ - HOW (R_PPC64_ADDR32, 2, 32, 0xffffffff, 0, false, bitfield, + HOW (R_PPC64_ADDR32, 4, 32, 0xffffffff, 0, false, bitfield, bfd_elf_generic_reloc), /* An absolute 26 bit branch; the lower two bits must be zero. FIXME: we don't check that, we just clear them. */ - HOW (R_PPC64_ADDR24, 2, 26, 0x03fffffc, 0, false, bitfield, + HOW (R_PPC64_ADDR24, 4, 26, 0x03fffffc, 0, false, bitfield, bfd_elf_generic_reloc), /* A standard 16 bit relocation. */ - HOW (R_PPC64_ADDR16, 1, 16, 0xffff, 0, false, bitfield, + HOW (R_PPC64_ADDR16, 2, 16, 0xffff, 0, false, bitfield, bfd_elf_generic_reloc), /* A 16 bit relocation without overflow. */ - HOW (R_PPC64_ADDR16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC64_ADDR16_LO, 2, 16, 0xffff, 0, false, dont, bfd_elf_generic_reloc), /* Bits 16-31 of an address. */ - HOW (R_PPC64_ADDR16_HI, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_ADDR16_HI, 2, 16, 0xffff, 16, false, signed, bfd_elf_generic_reloc), /* Bits 16-31 of an address, plus 1 if the contents of the low 16 bits, treated as a signed number, is negative. */ - HOW (R_PPC64_ADDR16_HA, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_ADDR16_HA, 2, 16, 0xffff, 16, false, signed, ppc64_elf_ha_reloc), /* An absolute 16 bit branch; the lower two bits must be zero. FIXME: we don't check that, we just clear them. */ - HOW (R_PPC64_ADDR14, 2, 16, 0x0000fffc, 0, false, signed, + HOW (R_PPC64_ADDR14, 4, 16, 0x0000fffc, 0, false, signed, ppc64_elf_branch_reloc), /* An absolute 16 bit branch, for which bit 10 should be set to indicate that the branch is expected to be taken. The lower two bits must be zero. */ - HOW (R_PPC64_ADDR14_BRTAKEN, 2, 16, 0x0000fffc, 0, false, signed, + HOW (R_PPC64_ADDR14_BRTAKEN, 4, 16, 0x0000fffc, 0, false, signed, ppc64_elf_brtaken_reloc), /* An absolute 16 bit branch, for which bit 10 should be set to indicate that the branch is not expected to be taken. The lower two bits must be zero. */ - HOW (R_PPC64_ADDR14_BRNTAKEN, 2, 16, 0x0000fffc, 0, false, signed, + HOW (R_PPC64_ADDR14_BRNTAKEN, 4, 16, 0x0000fffc, 0, false, signed, ppc64_elf_brtaken_reloc), /* A relative 26 bit branch; the lower two bits must be zero. */ - HOW (R_PPC64_REL24, 2, 26, 0x03fffffc, 0, true, signed, + HOW (R_PPC64_REL24, 4, 26, 0x03fffffc, 0, true, signed, ppc64_elf_branch_reloc), /* A variant of R_PPC64_REL24, used when r2 is not the toc pointer. */ - HOW (R_PPC64_REL24_NOTOC, 2, 26, 0x03fffffc, 0, true, signed, + HOW (R_PPC64_REL24_NOTOC, 4, 26, 0x03fffffc, 0, true, signed, ppc64_elf_branch_reloc), /* Another variant, when p10 insns can't be used on stubs. */ - HOW (R_PPC64_REL24_P9NOTOC, 2, 26, 0x03fffffc, 0, true, signed, + HOW (R_PPC64_REL24_P9NOTOC, 4, 26, 0x03fffffc, 0, true, signed, ppc64_elf_branch_reloc), /* A relative 16 bit branch; the lower two bits must be zero. */ - HOW (R_PPC64_REL14, 2, 16, 0x0000fffc, 0, true, signed, + HOW (R_PPC64_REL14, 4, 16, 0x0000fffc, 0, true, signed, ppc64_elf_branch_reloc), /* A relative 16 bit branch. Bit 10 should be set to indicate that the branch is expected to be taken. The lower two bits must be zero. */ - HOW (R_PPC64_REL14_BRTAKEN, 2, 16, 0x0000fffc, 0, true, signed, + HOW (R_PPC64_REL14_BRTAKEN, 4, 16, 0x0000fffc, 0, true, signed, ppc64_elf_brtaken_reloc), /* A relative 16 bit branch. Bit 10 should be set to indicate that the branch is not expected to be taken. The lower two bits must be zero. */ - HOW (R_PPC64_REL14_BRNTAKEN, 2, 16, 0x0000fffc, 0, true, signed, + HOW (R_PPC64_REL14_BRNTAKEN, 4, 16, 0x0000fffc, 0, true, signed, ppc64_elf_brtaken_reloc), /* Like R_PPC64_ADDR16, but referring to the GOT table entry for the symbol. */ - HOW (R_PPC64_GOT16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC64_GOT16, 2, 16, 0xffff, 0, false, signed, ppc64_elf_unhandled_reloc), /* Like R_PPC64_ADDR16_LO, but referring to the GOT table entry for the symbol. */ - HOW (R_PPC64_GOT16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC64_GOT16_LO, 2, 16, 0xffff, 0, false, dont, ppc64_elf_unhandled_reloc), /* Like R_PPC64_ADDR16_HI, but referring to the GOT table entry for the symbol. */ - HOW (R_PPC64_GOT16_HI, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_GOT16_HI, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Like R_PPC64_ADDR16_HA, but referring to the GOT table entry for the symbol. */ - HOW (R_PPC64_GOT16_HA, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_GOT16_HA, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* This is used only by the dynamic linker. The symbol should exist @@ -415,148 +415,148 @@ static reloc_howto_type ppc64_elf_howto_raw[] = dynamic linker copies the data addressed by the symbol from the shared library into the object, because the object being run has to have the data at some particular address. */ - HOW (R_PPC64_COPY, 0, 0, 0, 0, false, dont, + HOW (R_PPC64_COPY, 1, 0, 0, 0, false, dont, ppc64_elf_unhandled_reloc), /* Like R_PPC64_ADDR64, but used when setting global offset table entries. */ - HOW (R_PPC64_GLOB_DAT, 4, 64, 0xffffffffffffffffULL, 0, false, dont, + HOW (R_PPC64_GLOB_DAT, 8, 64, 0xffffffffffffffffULL, 0, false, dont, ppc64_elf_unhandled_reloc), /* Created by the link editor. Marks a procedure linkage table entry for a symbol. */ - HOW (R_PPC64_JMP_SLOT, 0, 0, 0, 0, false, dont, + HOW (R_PPC64_JMP_SLOT, 1, 0, 0, 0, false, dont, ppc64_elf_unhandled_reloc), /* Used only by the dynamic linker. When the object is run, this doubleword64 is set to the load address of the object, plus the addend. */ - HOW (R_PPC64_RELATIVE, 4, 64, 0xffffffffffffffffULL, 0, false, dont, + HOW (R_PPC64_RELATIVE, 8, 64, 0xffffffffffffffffULL, 0, false, dont, bfd_elf_generic_reloc), /* Like R_PPC64_ADDR32, but may be unaligned. */ - HOW (R_PPC64_UADDR32, 2, 32, 0xffffffff, 0, false, bitfield, + HOW (R_PPC64_UADDR32, 4, 32, 0xffffffff, 0, false, bitfield, bfd_elf_generic_reloc), /* Like R_PPC64_ADDR16, but may be unaligned. */ - HOW (R_PPC64_UADDR16, 1, 16, 0xffff, 0, false, bitfield, + HOW (R_PPC64_UADDR16, 2, 16, 0xffff, 0, false, bitfield, bfd_elf_generic_reloc), /* 32-bit PC relative. */ - HOW (R_PPC64_REL32, 2, 32, 0xffffffff, 0, true, signed, + HOW (R_PPC64_REL32, 4, 32, 0xffffffff, 0, true, signed, bfd_elf_generic_reloc), /* 32-bit relocation to the symbol's procedure linkage table. */ - HOW (R_PPC64_PLT32, 2, 32, 0xffffffff, 0, false, bitfield, + HOW (R_PPC64_PLT32, 4, 32, 0xffffffff, 0, false, bitfield, ppc64_elf_unhandled_reloc), /* 32-bit PC relative relocation to the symbol's procedure linkage table. FIXME: R_PPC64_PLTREL32 not supported. */ - HOW (R_PPC64_PLTREL32, 2, 32, 0xffffffff, 0, true, signed, + HOW (R_PPC64_PLTREL32, 4, 32, 0xffffffff, 0, true, signed, ppc64_elf_unhandled_reloc), /* Like R_PPC64_ADDR16_LO, but referring to the PLT table entry for the symbol. */ - HOW (R_PPC64_PLT16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC64_PLT16_LO, 2, 16, 0xffff, 0, false, dont, ppc64_elf_unhandled_reloc), /* Like R_PPC64_ADDR16_HI, but referring to the PLT table entry for the symbol. */ - HOW (R_PPC64_PLT16_HI, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_PLT16_HI, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Like R_PPC64_ADDR16_HA, but referring to the PLT table entry for the symbol. */ - HOW (R_PPC64_PLT16_HA, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_PLT16_HA, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* 16-bit section relative relocation. */ - HOW (R_PPC64_SECTOFF, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC64_SECTOFF, 2, 16, 0xffff, 0, false, signed, ppc64_elf_sectoff_reloc), /* Like R_PPC64_SECTOFF, but no overflow warning. */ - HOW (R_PPC64_SECTOFF_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC64_SECTOFF_LO, 2, 16, 0xffff, 0, false, dont, ppc64_elf_sectoff_reloc), /* 16-bit upper half section relative relocation. */ - HOW (R_PPC64_SECTOFF_HI, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_SECTOFF_HI, 2, 16, 0xffff, 16, false, signed, ppc64_elf_sectoff_reloc), /* 16-bit upper half adjusted section relative relocation. */ - HOW (R_PPC64_SECTOFF_HA, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_SECTOFF_HA, 2, 16, 0xffff, 16, false, signed, ppc64_elf_sectoff_ha_reloc), /* Like R_PPC64_REL24 without touching the two least significant bits. */ - HOW (R_PPC64_REL30, 2, 30, 0xfffffffc, 2, true, dont, + HOW (R_PPC64_REL30, 4, 30, 0xfffffffc, 2, true, dont, bfd_elf_generic_reloc), /* Relocs in the 64-bit PowerPC ELF ABI, not in the 32-bit ABI. */ /* A standard 64-bit relocation. */ - HOW (R_PPC64_ADDR64, 4, 64, 0xffffffffffffffffULL, 0, false, dont, + HOW (R_PPC64_ADDR64, 8, 64, 0xffffffffffffffffULL, 0, false, dont, bfd_elf_generic_reloc), /* The bits 32-47 of an address. */ - HOW (R_PPC64_ADDR16_HIGHER, 1, 16, 0xffff, 32, false, dont, + HOW (R_PPC64_ADDR16_HIGHER, 2, 16, 0xffff, 32, false, dont, bfd_elf_generic_reloc), /* The bits 32-47 of an address, plus 1 if the contents of the low 16 bits, treated as a signed number, is negative. */ - HOW (R_PPC64_ADDR16_HIGHERA, 1, 16, 0xffff, 32, false, dont, + HOW (R_PPC64_ADDR16_HIGHERA, 2, 16, 0xffff, 32, false, dont, ppc64_elf_ha_reloc), /* The bits 48-63 of an address. */ - HOW (R_PPC64_ADDR16_HIGHEST, 1, 16, 0xffff, 48, false, dont, + HOW (R_PPC64_ADDR16_HIGHEST, 2, 16, 0xffff, 48, false, dont, bfd_elf_generic_reloc), /* The bits 48-63 of an address, plus 1 if the contents of the low 16 bits, treated as a signed number, is negative. */ - HOW (R_PPC64_ADDR16_HIGHESTA, 1, 16, 0xffff, 48, false, dont, + HOW (R_PPC64_ADDR16_HIGHESTA, 2, 16, 0xffff, 48, false, dont, ppc64_elf_ha_reloc), /* Like ADDR64, but may be unaligned. */ - HOW (R_PPC64_UADDR64, 4, 64, 0xffffffffffffffffULL, 0, false, dont, + HOW (R_PPC64_UADDR64, 8, 64, 0xffffffffffffffffULL, 0, false, dont, bfd_elf_generic_reloc), /* 64-bit relative relocation. */ - HOW (R_PPC64_REL64, 4, 64, 0xffffffffffffffffULL, 0, true, dont, + HOW (R_PPC64_REL64, 8, 64, 0xffffffffffffffffULL, 0, true, dont, bfd_elf_generic_reloc), /* 64-bit relocation to the symbol's procedure linkage table. */ - HOW (R_PPC64_PLT64, 4, 64, 0xffffffffffffffffULL, 0, false, dont, + HOW (R_PPC64_PLT64, 8, 64, 0xffffffffffffffffULL, 0, false, dont, ppc64_elf_unhandled_reloc), /* 64-bit PC relative relocation to the symbol's procedure linkage table. */ /* FIXME: R_PPC64_PLTREL64 not supported. */ - HOW (R_PPC64_PLTREL64, 4, 64, 0xffffffffffffffffULL, 0, true, dont, + HOW (R_PPC64_PLTREL64, 8, 64, 0xffffffffffffffffULL, 0, true, dont, ppc64_elf_unhandled_reloc), /* 16 bit TOC-relative relocation. */ /* R_PPC64_TOC16 47 half16* S + A - .TOC. */ - HOW (R_PPC64_TOC16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC64_TOC16, 2, 16, 0xffff, 0, false, signed, ppc64_elf_toc_reloc), /* 16 bit TOC-relative relocation without overflow. */ /* R_PPC64_TOC16_LO 48 half16 #lo (S + A - .TOC.) */ - HOW (R_PPC64_TOC16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC64_TOC16_LO, 2, 16, 0xffff, 0, false, dont, ppc64_elf_toc_reloc), /* 16 bit TOC-relative relocation, high 16 bits. */ /* R_PPC64_TOC16_HI 49 half16 #hi (S + A - .TOC.) */ - HOW (R_PPC64_TOC16_HI, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_TOC16_HI, 2, 16, 0xffff, 16, false, signed, ppc64_elf_toc_reloc), /* 16 bit TOC-relative relocation, high 16 bits, plus 1 if the contents of the low 16 bits, treated as a signed number, is negative. */ /* R_PPC64_TOC16_HA 50 half16 #ha (S + A - .TOC.) */ - HOW (R_PPC64_TOC16_HA, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_TOC16_HA, 2, 16, 0xffff, 16, false, signed, ppc64_elf_toc_ha_reloc), /* 64-bit relocation; insert value of TOC base (.TOC.). */ /* R_PPC64_TOC 51 doubleword64 .TOC. */ - HOW (R_PPC64_TOC, 4, 64, 0xffffffffffffffffULL, 0, false, dont, + HOW (R_PPC64_TOC, 8, 64, 0xffffffffffffffffULL, 0, false, dont, ppc64_elf_toc64_reloc), /* Like R_PPC64_GOT16, but also informs the link editor that the @@ -568,428 +568,428 @@ static reloc_howto_type ppc64_elf_howto_raw[] = The link editor may also skip all of this and just (c) emit a R_PPC64_GLOB_DAT to tie the symbol to the GOT entry. */ /* FIXME: R_PPC64_PLTGOT16 not implemented. */ - HOW (R_PPC64_PLTGOT16, 1, 16, 0xffff, 0, false,signed, + HOW (R_PPC64_PLTGOT16, 2, 16, 0xffff, 0, false,signed, ppc64_elf_unhandled_reloc), /* Like R_PPC64_PLTGOT16, but without overflow. */ /* FIXME: R_PPC64_PLTGOT16_LO not implemented. */ - HOW (R_PPC64_PLTGOT16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC64_PLTGOT16_LO, 2, 16, 0xffff, 0, false, dont, ppc64_elf_unhandled_reloc), /* Like R_PPC64_PLT_GOT16, but using bits 16-31 of the address. */ /* FIXME: R_PPC64_PLTGOT16_HI not implemented. */ - HOW (R_PPC64_PLTGOT16_HI, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_PLTGOT16_HI, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Like R_PPC64_PLT_GOT16, but using bits 16-31 of the address, plus 1 if the contents of the low 16 bits, treated as a signed number, is negative. */ /* FIXME: R_PPC64_PLTGOT16_HA not implemented. */ - HOW (R_PPC64_PLTGOT16_HA, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_PLTGOT16_HA, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Like R_PPC64_ADDR16, but for instructions with a DS field. */ - HOW (R_PPC64_ADDR16_DS, 1, 16, 0xfffc, 0, false, signed, + HOW (R_PPC64_ADDR16_DS, 2, 16, 0xfffc, 0, false, signed, bfd_elf_generic_reloc), /* Like R_PPC64_ADDR16_LO, but for instructions with a DS field. */ - HOW (R_PPC64_ADDR16_LO_DS, 1, 16, 0xfffc, 0, false, dont, + HOW (R_PPC64_ADDR16_LO_DS, 2, 16, 0xfffc, 0, false, dont, bfd_elf_generic_reloc), /* Like R_PPC64_GOT16, but for instructions with a DS field. */ - HOW (R_PPC64_GOT16_DS, 1, 16, 0xfffc, 0, false, signed, + HOW (R_PPC64_GOT16_DS, 2, 16, 0xfffc, 0, false, signed, ppc64_elf_unhandled_reloc), /* Like R_PPC64_GOT16_LO, but for instructions with a DS field. */ - HOW (R_PPC64_GOT16_LO_DS, 1, 16, 0xfffc, 0, false, dont, + HOW (R_PPC64_GOT16_LO_DS, 2, 16, 0xfffc, 0, false, dont, ppc64_elf_unhandled_reloc), /* Like R_PPC64_PLT16_LO, but for instructions with a DS field. */ - HOW (R_PPC64_PLT16_LO_DS, 1, 16, 0xfffc, 0, false, dont, + HOW (R_PPC64_PLT16_LO_DS, 2, 16, 0xfffc, 0, false, dont, ppc64_elf_unhandled_reloc), /* Like R_PPC64_SECTOFF, but for instructions with a DS field. */ - HOW (R_PPC64_SECTOFF_DS, 1, 16, 0xfffc, 0, false, signed, + HOW (R_PPC64_SECTOFF_DS, 2, 16, 0xfffc, 0, false, signed, ppc64_elf_sectoff_reloc), /* Like R_PPC64_SECTOFF_LO, but for instructions with a DS field. */ - HOW (R_PPC64_SECTOFF_LO_DS, 1, 16, 0xfffc, 0, false, dont, + HOW (R_PPC64_SECTOFF_LO_DS, 2, 16, 0xfffc, 0, false, dont, ppc64_elf_sectoff_reloc), /* Like R_PPC64_TOC16, but for instructions with a DS field. */ - HOW (R_PPC64_TOC16_DS, 1, 16, 0xfffc, 0, false, signed, + HOW (R_PPC64_TOC16_DS, 2, 16, 0xfffc, 0, false, signed, ppc64_elf_toc_reloc), /* Like R_PPC64_TOC16_LO, but for instructions with a DS field. */ - HOW (R_PPC64_TOC16_LO_DS, 1, 16, 0xfffc, 0, false, dont, + HOW (R_PPC64_TOC16_LO_DS, 2, 16, 0xfffc, 0, false, dont, ppc64_elf_toc_reloc), /* Like R_PPC64_PLTGOT16, but for instructions with a DS field. */ /* FIXME: R_PPC64_PLTGOT16_DS not implemented. */ - HOW (R_PPC64_PLTGOT16_DS, 1, 16, 0xfffc, 0, false, signed, + HOW (R_PPC64_PLTGOT16_DS, 2, 16, 0xfffc, 0, false, signed, ppc64_elf_unhandled_reloc), /* Like R_PPC64_PLTGOT16_LO, but for instructions with a DS field. */ /* FIXME: R_PPC64_PLTGOT16_LO not implemented. */ - HOW (R_PPC64_PLTGOT16_LO_DS, 1, 16, 0xfffc, 0, false, dont, + HOW (R_PPC64_PLTGOT16_LO_DS, 2, 16, 0xfffc, 0, false, dont, ppc64_elf_unhandled_reloc), /* Marker relocs for TLS. */ - HOW (R_PPC64_TLS, 2, 32, 0, 0, false, dont, + HOW (R_PPC64_TLS, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_TLSGD, 2, 32, 0, 0, false, dont, + HOW (R_PPC64_TLSGD, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_TLSLD, 2, 32, 0, 0, false, dont, + HOW (R_PPC64_TLSLD, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), /* Marker reloc for optimizing r2 save in prologue rather than on each plt call stub. */ - HOW (R_PPC64_TOCSAVE, 2, 32, 0, 0, false, dont, + HOW (R_PPC64_TOCSAVE, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), /* Marker relocs on inline plt call instructions. */ - HOW (R_PPC64_PLTSEQ, 2, 32, 0, 0, false, dont, + HOW (R_PPC64_PLTSEQ, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_PLTCALL, 2, 32, 0, 0, false, dont, + HOW (R_PPC64_PLTCALL, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), /* Computes the load module index of the load module that contains the definition of its TLS sym. */ - HOW (R_PPC64_DTPMOD64, 4, 64, 0xffffffffffffffffULL, 0, false, dont, + HOW (R_PPC64_DTPMOD64, 8, 64, 0xffffffffffffffffULL, 0, false, dont, ppc64_elf_unhandled_reloc), /* Computes a dtv-relative displacement, the difference between the value of sym+add and the base address of the thread-local storage block that contains the definition of sym, minus 0x8000. */ - HOW (R_PPC64_DTPREL64, 4, 64, 0xffffffffffffffffULL, 0, false, dont, + HOW (R_PPC64_DTPREL64, 8, 64, 0xffffffffffffffffULL, 0, false, dont, ppc64_elf_unhandled_reloc), /* A 16 bit dtprel reloc. */ - HOW (R_PPC64_DTPREL16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC64_DTPREL16, 2, 16, 0xffff, 0, false, signed, ppc64_elf_unhandled_reloc), /* Like DTPREL16, but no overflow. */ - HOW (R_PPC64_DTPREL16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC64_DTPREL16_LO, 2, 16, 0xffff, 0, false, dont, ppc64_elf_unhandled_reloc), /* Like DTPREL16_LO, but next higher group of 16 bits. */ - HOW (R_PPC64_DTPREL16_HI, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_DTPREL16_HI, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Like DTPREL16_HI, but adjust for low 16 bits. */ - HOW (R_PPC64_DTPREL16_HA, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_DTPREL16_HA, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Like DTPREL16_HI, but next higher group of 16 bits. */ - HOW (R_PPC64_DTPREL16_HIGHER, 1, 16, 0xffff, 32, false, dont, + HOW (R_PPC64_DTPREL16_HIGHER, 2, 16, 0xffff, 32, false, dont, ppc64_elf_unhandled_reloc), /* Like DTPREL16_HIGHER, but adjust for low 16 bits. */ - HOW (R_PPC64_DTPREL16_HIGHERA, 1, 16, 0xffff, 32, false, dont, + HOW (R_PPC64_DTPREL16_HIGHERA, 2, 16, 0xffff, 32, false, dont, ppc64_elf_unhandled_reloc), /* Like DTPREL16_HIGHER, but next higher group of 16 bits. */ - HOW (R_PPC64_DTPREL16_HIGHEST, 1, 16, 0xffff, 48, false, dont, + HOW (R_PPC64_DTPREL16_HIGHEST, 2, 16, 0xffff, 48, false, dont, ppc64_elf_unhandled_reloc), /* Like DTPREL16_HIGHEST, but adjust for low 16 bits. */ - HOW (R_PPC64_DTPREL16_HIGHESTA, 1, 16, 0xffff, 48, false, dont, + HOW (R_PPC64_DTPREL16_HIGHESTA, 2, 16, 0xffff, 48, false, dont, ppc64_elf_unhandled_reloc), /* Like DTPREL16, but for insns with a DS field. */ - HOW (R_PPC64_DTPREL16_DS, 1, 16, 0xfffc, 0, false, signed, + HOW (R_PPC64_DTPREL16_DS, 2, 16, 0xfffc, 0, false, signed, ppc64_elf_unhandled_reloc), /* Like DTPREL16_DS, but no overflow. */ - HOW (R_PPC64_DTPREL16_LO_DS, 1, 16, 0xfffc, 0, false, dont, + HOW (R_PPC64_DTPREL16_LO_DS, 2, 16, 0xfffc, 0, false, dont, ppc64_elf_unhandled_reloc), /* Computes a tp-relative displacement, the difference between the value of sym+add and the value of the thread pointer (r13). */ - HOW (R_PPC64_TPREL64, 4, 64, 0xffffffffffffffffULL, 0, false, dont, + HOW (R_PPC64_TPREL64, 8, 64, 0xffffffffffffffffULL, 0, false, dont, ppc64_elf_unhandled_reloc), /* A 16 bit tprel reloc. */ - HOW (R_PPC64_TPREL16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC64_TPREL16, 2, 16, 0xffff, 0, false, signed, ppc64_elf_unhandled_reloc), /* Like TPREL16, but no overflow. */ - HOW (R_PPC64_TPREL16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC64_TPREL16_LO, 2, 16, 0xffff, 0, false, dont, ppc64_elf_unhandled_reloc), /* Like TPREL16_LO, but next higher group of 16 bits. */ - HOW (R_PPC64_TPREL16_HI, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_TPREL16_HI, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Like TPREL16_HI, but adjust for low 16 bits. */ - HOW (R_PPC64_TPREL16_HA, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_TPREL16_HA, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Like TPREL16_HI, but next higher group of 16 bits. */ - HOW (R_PPC64_TPREL16_HIGHER, 1, 16, 0xffff, 32, false, dont, + HOW (R_PPC64_TPREL16_HIGHER, 2, 16, 0xffff, 32, false, dont, ppc64_elf_unhandled_reloc), /* Like TPREL16_HIGHER, but adjust for low 16 bits. */ - HOW (R_PPC64_TPREL16_HIGHERA, 1, 16, 0xffff, 32, false, dont, + HOW (R_PPC64_TPREL16_HIGHERA, 2, 16, 0xffff, 32, false, dont, ppc64_elf_unhandled_reloc), /* Like TPREL16_HIGHER, but next higher group of 16 bits. */ - HOW (R_PPC64_TPREL16_HIGHEST, 1, 16, 0xffff, 48, false, dont, + HOW (R_PPC64_TPREL16_HIGHEST, 2, 16, 0xffff, 48, false, dont, ppc64_elf_unhandled_reloc), /* Like TPREL16_HIGHEST, but adjust for low 16 bits. */ - HOW (R_PPC64_TPREL16_HIGHESTA, 1, 16, 0xffff, 48, false, dont, + HOW (R_PPC64_TPREL16_HIGHESTA, 2, 16, 0xffff, 48, false, dont, ppc64_elf_unhandled_reloc), /* Like TPREL16, but for insns with a DS field. */ - HOW (R_PPC64_TPREL16_DS, 1, 16, 0xfffc, 0, false, signed, + HOW (R_PPC64_TPREL16_DS, 2, 16, 0xfffc, 0, false, signed, ppc64_elf_unhandled_reloc), /* Like TPREL16_DS, but no overflow. */ - HOW (R_PPC64_TPREL16_LO_DS, 1, 16, 0xfffc, 0, false, dont, + HOW (R_PPC64_TPREL16_LO_DS, 2, 16, 0xfffc, 0, false, dont, ppc64_elf_unhandled_reloc), /* Allocates two contiguous entries in the GOT to hold a tls_index structure, with values (sym+add)@dtpmod and (sym+add)@dtprel, and computes the offset to the first entry relative to the TOC base (r2). */ - HOW (R_PPC64_GOT_TLSGD16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC64_GOT_TLSGD16, 2, 16, 0xffff, 0, false, signed, ppc64_elf_unhandled_reloc), /* Like GOT_TLSGD16, but no overflow. */ - HOW (R_PPC64_GOT_TLSGD16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC64_GOT_TLSGD16_LO, 2, 16, 0xffff, 0, false, dont, ppc64_elf_unhandled_reloc), /* Like GOT_TLSGD16_LO, but next higher group of 16 bits. */ - HOW (R_PPC64_GOT_TLSGD16_HI, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_GOT_TLSGD16_HI, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Like GOT_TLSGD16_HI, but adjust for low 16 bits. */ - HOW (R_PPC64_GOT_TLSGD16_HA, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_GOT_TLSGD16_HA, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Allocates two contiguous entries in the GOT to hold a tls_index structure, with values (sym+add)@dtpmod and zero, and computes the offset to the first entry relative to the TOC base (r2). */ - HOW (R_PPC64_GOT_TLSLD16, 1, 16, 0xffff, 0, false, signed, + HOW (R_PPC64_GOT_TLSLD16, 2, 16, 0xffff, 0, false, signed, ppc64_elf_unhandled_reloc), /* Like GOT_TLSLD16, but no overflow. */ - HOW (R_PPC64_GOT_TLSLD16_LO, 1, 16, 0xffff, 0, false, dont, + HOW (R_PPC64_GOT_TLSLD16_LO, 2, 16, 0xffff, 0, false, dont, ppc64_elf_unhandled_reloc), /* Like GOT_TLSLD16_LO, but next higher group of 16 bits. */ - HOW (R_PPC64_GOT_TLSLD16_HI, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_GOT_TLSLD16_HI, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Like GOT_TLSLD16_HI, but adjust for low 16 bits. */ - HOW (R_PPC64_GOT_TLSLD16_HA, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_GOT_TLSLD16_HA, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Allocates an entry in the GOT with value (sym+add)@dtprel, and computes the offset to the entry relative to the TOC base (r2). */ - HOW (R_PPC64_GOT_DTPREL16_DS, 1, 16, 0xfffc, 0, false, signed, + HOW (R_PPC64_GOT_DTPREL16_DS, 2, 16, 0xfffc, 0, false, signed, ppc64_elf_unhandled_reloc), /* Like GOT_DTPREL16_DS, but no overflow. */ - HOW (R_PPC64_GOT_DTPREL16_LO_DS, 1, 16, 0xfffc, 0, false, dont, + HOW (R_PPC64_GOT_DTPREL16_LO_DS, 2, 16, 0xfffc, 0, false, dont, ppc64_elf_unhandled_reloc), /* Like GOT_DTPREL16_LO_DS, but next higher group of 16 bits. */ - HOW (R_PPC64_GOT_DTPREL16_HI, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_GOT_DTPREL16_HI, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Like GOT_DTPREL16_HI, but adjust for low 16 bits. */ - HOW (R_PPC64_GOT_DTPREL16_HA, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_GOT_DTPREL16_HA, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Allocates an entry in the GOT with value (sym+add)@tprel, and computes the offset to the entry relative to the TOC base (r2). */ - HOW (R_PPC64_GOT_TPREL16_DS, 1, 16, 0xfffc, 0, false, signed, + HOW (R_PPC64_GOT_TPREL16_DS, 2, 16, 0xfffc, 0, false, signed, ppc64_elf_unhandled_reloc), /* Like GOT_TPREL16_DS, but no overflow. */ - HOW (R_PPC64_GOT_TPREL16_LO_DS, 1, 16, 0xfffc, 0, false, dont, + HOW (R_PPC64_GOT_TPREL16_LO_DS, 2, 16, 0xfffc, 0, false, dont, ppc64_elf_unhandled_reloc), /* Like GOT_TPREL16_LO_DS, but next higher group of 16 bits. */ - HOW (R_PPC64_GOT_TPREL16_HI, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_GOT_TPREL16_HI, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), /* Like GOT_TPREL16_HI, but adjust for low 16 bits. */ - HOW (R_PPC64_GOT_TPREL16_HA, 1, 16, 0xffff, 16, false, signed, + HOW (R_PPC64_GOT_TPREL16_HA, 2, 16, 0xffff, 16, false, signed, ppc64_elf_unhandled_reloc), - HOW (R_PPC64_JMP_IREL, 0, 0, 0, 0, false, dont, + HOW (R_PPC64_JMP_IREL, 1, 0, 0, 0, false, dont, ppc64_elf_unhandled_reloc), - HOW (R_PPC64_IRELATIVE, 4, 64, 0xffffffffffffffffULL, 0, false, dont, + HOW (R_PPC64_IRELATIVE, 8, 64, 0xffffffffffffffffULL, 0, false, dont, bfd_elf_generic_reloc), /* A 16 bit relative relocation. */ - HOW (R_PPC64_REL16, 1, 16, 0xffff, 0, true, signed, + HOW (R_PPC64_REL16, 2, 16, 0xffff, 0, true, signed, bfd_elf_generic_reloc), /* A 16 bit relative relocation without overflow. */ - HOW (R_PPC64_REL16_LO, 1, 16, 0xffff, 0, true, dont, + HOW (R_PPC64_REL16_LO, 2, 16, 0xffff, 0, true, dont, bfd_elf_generic_reloc), /* The high order 16 bits of a relative address. */ - HOW (R_PPC64_REL16_HI, 1, 16, 0xffff, 16, true, signed, + HOW (R_PPC64_REL16_HI, 2, 16, 0xffff, 16, true, signed, bfd_elf_generic_reloc), /* The high order 16 bits of a relative address, plus 1 if the contents of the low 16 bits, treated as a signed number, is negative. */ - HOW (R_PPC64_REL16_HA, 1, 16, 0xffff, 16, true, signed, + HOW (R_PPC64_REL16_HA, 2, 16, 0xffff, 16, true, signed, ppc64_elf_ha_reloc), - HOW (R_PPC64_REL16_HIGH, 1, 16, 0xffff, 16, true, dont, + HOW (R_PPC64_REL16_HIGH, 2, 16, 0xffff, 16, true, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_REL16_HIGHA, 1, 16, 0xffff, 16, true, dont, + HOW (R_PPC64_REL16_HIGHA, 2, 16, 0xffff, 16, true, dont, ppc64_elf_ha_reloc), - HOW (R_PPC64_REL16_HIGHER, 1, 16, 0xffff, 32, true, dont, + HOW (R_PPC64_REL16_HIGHER, 2, 16, 0xffff, 32, true, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_REL16_HIGHERA, 1, 16, 0xffff, 32, true, dont, + HOW (R_PPC64_REL16_HIGHERA, 2, 16, 0xffff, 32, true, dont, ppc64_elf_ha_reloc), - HOW (R_PPC64_REL16_HIGHEST, 1, 16, 0xffff, 48, true, dont, + HOW (R_PPC64_REL16_HIGHEST, 2, 16, 0xffff, 48, true, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_REL16_HIGHESTA, 1, 16, 0xffff, 48, true, dont, + HOW (R_PPC64_REL16_HIGHESTA, 2, 16, 0xffff, 48, true, dont, ppc64_elf_ha_reloc), /* Like R_PPC64_REL16_HA but for split field in addpcis. */ - HOW (R_PPC64_REL16DX_HA, 2, 16, 0x1fffc1, 16, true, signed, + HOW (R_PPC64_REL16DX_HA, 4, 16, 0x1fffc1, 16, true, signed, ppc64_elf_ha_reloc), /* A split-field reloc for addpcis, non-relative (gas internal use only). */ - HOW (R_PPC64_16DX_HA, 2, 16, 0x1fffc1, 16, false, signed, + HOW (R_PPC64_16DX_HA, 4, 16, 0x1fffc1, 16, false, signed, ppc64_elf_ha_reloc), /* Like R_PPC64_ADDR16_HI, but no overflow. */ - HOW (R_PPC64_ADDR16_HIGH, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC64_ADDR16_HIGH, 2, 16, 0xffff, 16, false, dont, bfd_elf_generic_reloc), /* Like R_PPC64_ADDR16_HA, but no overflow. */ - HOW (R_PPC64_ADDR16_HIGHA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC64_ADDR16_HIGHA, 2, 16, 0xffff, 16, false, dont, ppc64_elf_ha_reloc), /* Like R_PPC64_DTPREL16_HI, but no overflow. */ - HOW (R_PPC64_DTPREL16_HIGH, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC64_DTPREL16_HIGH, 2, 16, 0xffff, 16, false, dont, ppc64_elf_unhandled_reloc), /* Like R_PPC64_DTPREL16_HA, but no overflow. */ - HOW (R_PPC64_DTPREL16_HIGHA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC64_DTPREL16_HIGHA, 2, 16, 0xffff, 16, false, dont, ppc64_elf_unhandled_reloc), /* Like R_PPC64_TPREL16_HI, but no overflow. */ - HOW (R_PPC64_TPREL16_HIGH, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC64_TPREL16_HIGH, 2, 16, 0xffff, 16, false, dont, ppc64_elf_unhandled_reloc), /* Like R_PPC64_TPREL16_HA, but no overflow. */ - HOW (R_PPC64_TPREL16_HIGHA, 1, 16, 0xffff, 16, false, dont, + HOW (R_PPC64_TPREL16_HIGHA, 2, 16, 0xffff, 16, false, dont, ppc64_elf_unhandled_reloc), /* Marker reloc on ELFv2 large-model function entry. */ - HOW (R_PPC64_ENTRY, 2, 32, 0, 0, false, dont, + HOW (R_PPC64_ENTRY, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), /* Like ADDR64, but use local entry point of function. */ - HOW (R_PPC64_ADDR64_LOCAL, 4, 64, 0xffffffffffffffffULL, 0, false, dont, + HOW (R_PPC64_ADDR64_LOCAL, 8, 64, 0xffffffffffffffffULL, 0, false, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_PLTSEQ_NOTOC, 2, 32, 0, 0, false, dont, + HOW (R_PPC64_PLTSEQ_NOTOC, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_PLTCALL_NOTOC, 2, 32, 0, 0, false, dont, + HOW (R_PPC64_PLTCALL_NOTOC, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_PCREL_OPT, 2, 32, 0, 0, false, dont, + HOW (R_PPC64_PCREL_OPT, 4, 32, 0, 0, false, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_D34, 4, 34, 0x3ffff0000ffffULL, 0, false, signed, + HOW (R_PPC64_D34, 8, 34, 0x3ffff0000ffffULL, 0, false, signed, ppc64_elf_prefix_reloc), - HOW (R_PPC64_D34_LO, 4, 34, 0x3ffff0000ffffULL, 0, false, dont, + HOW (R_PPC64_D34_LO, 8, 34, 0x3ffff0000ffffULL, 0, false, dont, ppc64_elf_prefix_reloc), - HOW (R_PPC64_D34_HI30, 4, 34, 0x3ffff0000ffffULL, 34, false, dont, + HOW (R_PPC64_D34_HI30, 8, 34, 0x3ffff0000ffffULL, 34, false, dont, ppc64_elf_prefix_reloc), - HOW (R_PPC64_D34_HA30, 4, 34, 0x3ffff0000ffffULL, 34, false, dont, + HOW (R_PPC64_D34_HA30, 8, 34, 0x3ffff0000ffffULL, 34, false, dont, ppc64_elf_prefix_reloc), - HOW (R_PPC64_PCREL34, 4, 34, 0x3ffff0000ffffULL, 0, true, signed, + HOW (R_PPC64_PCREL34, 8, 34, 0x3ffff0000ffffULL, 0, true, signed, ppc64_elf_prefix_reloc), - HOW (R_PPC64_GOT_PCREL34, 4, 34, 0x3ffff0000ffffULL, 0, true, signed, + HOW (R_PPC64_GOT_PCREL34, 8, 34, 0x3ffff0000ffffULL, 0, true, signed, ppc64_elf_unhandled_reloc), - HOW (R_PPC64_PLT_PCREL34, 4, 34, 0x3ffff0000ffffULL, 0, true, signed, + HOW (R_PPC64_PLT_PCREL34, 8, 34, 0x3ffff0000ffffULL, 0, true, signed, ppc64_elf_unhandled_reloc), - HOW (R_PPC64_PLT_PCREL34_NOTOC, 4, 34, 0x3ffff0000ffffULL, 0, true, signed, + HOW (R_PPC64_PLT_PCREL34_NOTOC, 8, 34, 0x3ffff0000ffffULL, 0, true, signed, ppc64_elf_unhandled_reloc), - HOW (R_PPC64_TPREL34, 4, 34, 0x3ffff0000ffffULL, 0, false, signed, + HOW (R_PPC64_TPREL34, 8, 34, 0x3ffff0000ffffULL, 0, false, signed, ppc64_elf_unhandled_reloc), - HOW (R_PPC64_DTPREL34, 4, 34, 0x3ffff0000ffffULL, 0, false, signed, + HOW (R_PPC64_DTPREL34, 8, 34, 0x3ffff0000ffffULL, 0, false, signed, ppc64_elf_unhandled_reloc), - HOW (R_PPC64_GOT_TLSGD_PCREL34, 4, 34, 0x3ffff0000ffffULL, 0, true, signed, + HOW (R_PPC64_GOT_TLSGD_PCREL34, 8, 34, 0x3ffff0000ffffULL, 0, true, signed, ppc64_elf_unhandled_reloc), - HOW (R_PPC64_GOT_TLSLD_PCREL34, 4, 34, 0x3ffff0000ffffULL, 0, true, signed, + HOW (R_PPC64_GOT_TLSLD_PCREL34, 8, 34, 0x3ffff0000ffffULL, 0, true, signed, ppc64_elf_unhandled_reloc), - HOW (R_PPC64_GOT_TPREL_PCREL34, 4, 34, 0x3ffff0000ffffULL, 0, true, signed, + HOW (R_PPC64_GOT_TPREL_PCREL34, 8, 34, 0x3ffff0000ffffULL, 0, true, signed, ppc64_elf_unhandled_reloc), - HOW (R_PPC64_GOT_DTPREL_PCREL34, 4, 34, 0x3ffff0000ffffULL, 0, true, signed, + HOW (R_PPC64_GOT_DTPREL_PCREL34, 8, 34, 0x3ffff0000ffffULL, 0, true, signed, ppc64_elf_unhandled_reloc), - HOW (R_PPC64_ADDR16_HIGHER34, 1, 16, 0xffff, 34, false, dont, + HOW (R_PPC64_ADDR16_HIGHER34, 2, 16, 0xffff, 34, false, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_ADDR16_HIGHERA34, 1, 16, 0xffff, 34, false, dont, + HOW (R_PPC64_ADDR16_HIGHERA34, 2, 16, 0xffff, 34, false, dont, ppc64_elf_ha_reloc), - HOW (R_PPC64_ADDR16_HIGHEST34, 1, 16, 0xffff, 50, false, dont, + HOW (R_PPC64_ADDR16_HIGHEST34, 2, 16, 0xffff, 50, false, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_ADDR16_HIGHESTA34, 1, 16, 0xffff, 50, false, dont, + HOW (R_PPC64_ADDR16_HIGHESTA34, 2, 16, 0xffff, 50, false, dont, ppc64_elf_ha_reloc), - HOW (R_PPC64_REL16_HIGHER34, 1, 16, 0xffff, 34, true, dont, + HOW (R_PPC64_REL16_HIGHER34, 2, 16, 0xffff, 34, true, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_REL16_HIGHERA34, 1, 16, 0xffff, 34, true, dont, + HOW (R_PPC64_REL16_HIGHERA34, 2, 16, 0xffff, 34, true, dont, ppc64_elf_ha_reloc), - HOW (R_PPC64_REL16_HIGHEST34, 1, 16, 0xffff, 50, true, dont, + HOW (R_PPC64_REL16_HIGHEST34, 2, 16, 0xffff, 50, true, dont, bfd_elf_generic_reloc), - HOW (R_PPC64_REL16_HIGHESTA34, 1, 16, 0xffff, 50, true, dont, + HOW (R_PPC64_REL16_HIGHESTA34, 2, 16, 0xffff, 50, true, dont, ppc64_elf_ha_reloc), - HOW (R_PPC64_D28, 4, 28, 0xfff0000ffffULL, 0, false, signed, + HOW (R_PPC64_D28, 8, 28, 0xfff0000ffffULL, 0, false, signed, ppc64_elf_prefix_reloc), - HOW (R_PPC64_PCREL28, 4, 28, 0xfff0000ffffULL, 0, true, signed, + HOW (R_PPC64_PCREL28, 8, 28, 0xfff0000ffffULL, 0, true, signed, ppc64_elf_prefix_reloc), /* GNU extension to record C++ vtable hierarchy. */ - HOW (R_PPC64_GNU_VTINHERIT, 0, 0, 0, 0, false, dont, + HOW (R_PPC64_GNU_VTINHERIT, 1, 0, 0, 0, false, dont, NULL), /* GNU extension to record C++ vtable member usage. */ - HOW (R_PPC64_GNU_VTENTRY, 0, 0, 0, 0, false, dont, + HOW (R_PPC64_GNU_VTENTRY, 1, 0, 0, 0, false, dont, NULL), }; diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index 0b851f7..0b9b0b8 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, diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index eac5e83..6154a70 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -43,130 +43,130 @@ special_function, name, partial_inplace, src_mask, dst_mask, pcrel_offset. */ static reloc_howto_type x86_64_elf_howto_table[] = { - HOWTO(R_X86_64_NONE, 0, 3, 0, false, 0, complain_overflow_dont, + HOWTO(R_X86_64_NONE, 0, 0, 0, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_NONE", false, 0, 0x00000000, false), - HOWTO(R_X86_64_64, 0, 4, 64, false, 0, complain_overflow_dont, + HOWTO(R_X86_64_64, 0, 8, 64, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_64", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_PC32, 0, 2, 32, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_PC32, 0, 4, 32, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_PC32", false, 0, 0xffffffff, true), - HOWTO(R_X86_64_GOT32, 0, 2, 32, false, 0, complain_overflow_signed, + HOWTO(R_X86_64_GOT32, 0, 4, 32, false, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_GOT32", false, 0, 0xffffffff, false), - HOWTO(R_X86_64_PLT32, 0, 2, 32, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_PLT32, 0, 4, 32, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_PLT32", false, 0, 0xffffffff, true), - HOWTO(R_X86_64_COPY, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_X86_64_COPY, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_X86_64_COPY", false, 0, 0xffffffff, false), - HOWTO(R_X86_64_GLOB_DAT, 0, 4, 64, false, 0, complain_overflow_dont, + HOWTO(R_X86_64_GLOB_DAT, 0, 8, 64, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_GLOB_DAT", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_JUMP_SLOT, 0, 4, 64, false, 0, complain_overflow_dont, + HOWTO(R_X86_64_JUMP_SLOT, 0, 8, 64, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_JUMP_SLOT", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_RELATIVE, 0, 4, 64, false, 0, complain_overflow_dont, + HOWTO(R_X86_64_RELATIVE, 0, 8, 64, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_RELATIVE", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_GOTPCREL, 0, 2, 32, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_GOTPCREL, 0, 4, 32, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_GOTPCREL", false, 0, 0xffffffff, true), - HOWTO(R_X86_64_32, 0, 2, 32, false, 0, complain_overflow_unsigned, + HOWTO(R_X86_64_32, 0, 4, 32, false, 0, complain_overflow_unsigned, bfd_elf_generic_reloc, "R_X86_64_32", false, 0, 0xffffffff, false), - HOWTO(R_X86_64_32S, 0, 2, 32, false, 0, complain_overflow_signed, + HOWTO(R_X86_64_32S, 0, 4, 32, false, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_32S", false, 0, 0xffffffff, false), - HOWTO(R_X86_64_16, 0, 1, 16, false, 0, complain_overflow_bitfield, + HOWTO(R_X86_64_16, 0, 2, 16, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_X86_64_16", false, 0, 0xffff, false), - HOWTO(R_X86_64_PC16, 0, 1, 16, true, 0, complain_overflow_bitfield, + HOWTO(R_X86_64_PC16, 0, 2, 16, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_X86_64_PC16", false, 0, 0xffff, true), - HOWTO(R_X86_64_8, 0, 0, 8, false, 0, complain_overflow_bitfield, + HOWTO(R_X86_64_8, 0, 1, 8, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_X86_64_8", false, 0, 0xff, false), - HOWTO(R_X86_64_PC8, 0, 0, 8, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_PC8, 0, 1, 8, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_PC8", false, 0, 0xff, true), - HOWTO(R_X86_64_DTPMOD64, 0, 4, 64, false, 0, complain_overflow_dont, + HOWTO(R_X86_64_DTPMOD64, 0, 8, 64, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_DTPMOD64", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_DTPOFF64, 0, 4, 64, false, 0, complain_overflow_dont, + HOWTO(R_X86_64_DTPOFF64, 0, 8, 64, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_DTPOFF64", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_TPOFF64, 0, 4, 64, false, 0, complain_overflow_dont, + HOWTO(R_X86_64_TPOFF64, 0, 8, 64, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_TPOFF64", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_TLSGD, 0, 2, 32, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_TLSGD, 0, 4, 32, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_TLSGD", false, 0, 0xffffffff, true), - HOWTO(R_X86_64_TLSLD, 0, 2, 32, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_TLSLD, 0, 4, 32, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_TLSLD", false, 0, 0xffffffff, true), - HOWTO(R_X86_64_DTPOFF32, 0, 2, 32, false, 0, complain_overflow_signed, + HOWTO(R_X86_64_DTPOFF32, 0, 4, 32, false, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_DTPOFF32", false, 0, 0xffffffff, false), - HOWTO(R_X86_64_GOTTPOFF, 0, 2, 32, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_GOTTPOFF, 0, 4, 32, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_GOTTPOFF", false, 0, 0xffffffff, true), - HOWTO(R_X86_64_TPOFF32, 0, 2, 32, false, 0, complain_overflow_signed, + HOWTO(R_X86_64_TPOFF32, 0, 4, 32, false, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_TPOFF32", false, 0, 0xffffffff, false), - HOWTO(R_X86_64_PC64, 0, 4, 64, true, 0, complain_overflow_dont, + HOWTO(R_X86_64_PC64, 0, 8, 64, true, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_PC64", false, 0, MINUS_ONE, true), - HOWTO(R_X86_64_GOTOFF64, 0, 4, 64, false, 0, complain_overflow_dont, + HOWTO(R_X86_64_GOTOFF64, 0, 8, 64, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_GOTOFF64", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_GOTPC32, 0, 2, 32, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_GOTPC32, 0, 4, 32, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_GOTPC32", false, 0, 0xffffffff, true), - HOWTO(R_X86_64_GOT64, 0, 4, 64, false, 0, complain_overflow_signed, + HOWTO(R_X86_64_GOT64, 0, 8, 64, false, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_GOT64", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_GOTPCREL64, 0, 4, 64, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_GOTPCREL64, 0, 8, 64, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_GOTPCREL64", false, 0, MINUS_ONE, true), - HOWTO(R_X86_64_GOTPC64, 0, 4, 64, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_GOTPC64, 0, 8, 64, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_GOTPC64", false, 0, MINUS_ONE, true), - HOWTO(R_X86_64_GOTPLT64, 0, 4, 64, false, 0, complain_overflow_signed, + HOWTO(R_X86_64_GOTPLT64, 0, 8, 64, false, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_GOTPLT64", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_PLTOFF64, 0, 4, 64, false, 0, complain_overflow_signed, + HOWTO(R_X86_64_PLTOFF64, 0, 8, 64, false, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_PLTOFF64", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_SIZE32, 0, 2, 32, false, 0, complain_overflow_unsigned, + HOWTO(R_X86_64_SIZE32, 0, 4, 32, false, 0, complain_overflow_unsigned, bfd_elf_generic_reloc, "R_X86_64_SIZE32", false, 0, 0xffffffff, false), - HOWTO(R_X86_64_SIZE64, 0, 4, 64, false, 0, complain_overflow_dont, + HOWTO(R_X86_64_SIZE64, 0, 8, 64, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_SIZE64", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_GOTPC32_TLSDESC, 0, 2, 32, true, 0, + HOWTO(R_X86_64_GOTPC32_TLSDESC, 0, 4, 32, true, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_X86_64_GOTPC32_TLSDESC", false, 0, 0xffffffff, true), - HOWTO(R_X86_64_TLSDESC_CALL, 0, 3, 0, false, 0, + HOWTO(R_X86_64_TLSDESC_CALL, 0, 0, 0, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_TLSDESC_CALL", false, 0, 0, false), - HOWTO(R_X86_64_TLSDESC, 0, 4, 64, false, 0, + HOWTO(R_X86_64_TLSDESC, 0, 8, 64, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_TLSDESC", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_IRELATIVE, 0, 4, 64, false, 0, complain_overflow_dont, + HOWTO(R_X86_64_IRELATIVE, 0, 8, 64, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_IRELATIVE", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_RELATIVE64, 0, 4, 64, false, 0, complain_overflow_dont, + HOWTO(R_X86_64_RELATIVE64, 0, 8, 64, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_X86_64_RELATIVE64", false, 0, MINUS_ONE, false), - HOWTO(R_X86_64_PC32_BND, 0, 2, 32, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_PC32_BND, 0, 4, 32, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_PC32_BND", false, 0, 0xffffffff, true), - HOWTO(R_X86_64_PLT32_BND, 0, 2, 32, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_PLT32_BND, 0, 4, 32, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_PLT32_BND", false, 0, 0xffffffff, true), - HOWTO(R_X86_64_GOTPCRELX, 0, 2, 32, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_GOTPCRELX, 0, 4, 32, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_GOTPCRELX", false, 0, 0xffffffff, true), - HOWTO(R_X86_64_REX_GOTPCRELX, 0, 2, 32, true, 0, complain_overflow_signed, + HOWTO(R_X86_64_REX_GOTPCRELX, 0, 4, 32, true, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_REX_GOTPCRELX", false, 0, 0xffffffff, true), @@ -178,16 +178,16 @@ static reloc_howto_type x86_64_elf_howto_table[] = #define R_X86_64_vt_offset (R_X86_64_GNU_VTINHERIT - R_X86_64_standard) /* GNU extension to record C++ vtable hierarchy. */ - HOWTO (R_X86_64_GNU_VTINHERIT, 0, 4, 0, false, 0, complain_overflow_dont, + HOWTO (R_X86_64_GNU_VTINHERIT, 0, 8, 0, false, 0, complain_overflow_dont, NULL, "R_X86_64_GNU_VTINHERIT", false, 0, 0, false), /* GNU extension to record C++ vtable member usage. */ - HOWTO (R_X86_64_GNU_VTENTRY, 0, 4, 0, false, 0, complain_overflow_dont, + HOWTO (R_X86_64_GNU_VTENTRY, 0, 8, 0, false, 0, complain_overflow_dont, _bfd_elf_rel_vtable_reloc_fn, "R_X86_64_GNU_VTENTRY", false, 0, 0, false), /* Use complain_overflow_bitfield on R_X86_64_32 for x32. */ - HOWTO(R_X86_64_32, 0, 2, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_X86_64_32, 0, 4, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_X86_64_32", false, 0, 0xffffffff, false) }; diff --git a/bfd/elfn32-mips.c b/bfd/elfn32-mips.c index d3414a6..1199a6f 100644 --- a/bfd/elfn32-mips.c +++ b/bfd/elfn32-mips.c @@ -112,7 +112,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* No relocation. */ HOWTO (R_MIPS_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -127,7 +127,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 16 bit relocation. */ HOWTO (R_MIPS_16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -142,7 +142,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 32 bit relocation. */ HOWTO (R_MIPS_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -157,7 +157,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 32 bit symbol relative relocation. */ HOWTO (R_MIPS_REL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -172,7 +172,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 26 bit jump address. */ HOWTO (R_MIPS_26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -193,7 +193,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* High 16 bits of symbol value. */ HOWTO (R_MIPS_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -208,7 +208,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Low 16 bits of symbol value. */ HOWTO (R_MIPS_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -223,7 +223,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* GP relative reference. */ HOWTO (R_MIPS_GPREL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -238,7 +238,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Reference to literal section. */ HOWTO (R_MIPS_LITERAL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -253,7 +253,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Reference to global offset table. */ HOWTO (R_MIPS_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -270,7 +270,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = We do the right thing here. */ HOWTO (R_MIPS_PC16, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -285,7 +285,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 16 bit call through global offset table. */ HOWTO (R_MIPS_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -300,7 +300,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 32 bit GP relative reference. */ HOWTO (R_MIPS_GPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -321,7 +321,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* A 5 bit shift field. */ HOWTO (R_MIPS_SHIFT5, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 5, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -336,7 +336,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* A 6 bit shift field. */ HOWTO (R_MIPS_SHIFT6, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 6, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -351,7 +351,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* A 64 bit relocation. */ HOWTO (R_MIPS_64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -366,7 +366,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Displacement in the global offset table. */ HOWTO (R_MIPS_GOT_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -381,7 +381,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Displacement to page pointer in the global offset table. */ HOWTO (R_MIPS_GOT_PAGE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -396,7 +396,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Offset from page pointer in the global offset table. */ HOWTO (R_MIPS_GOT_OFST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -411,7 +411,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_GOT_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -426,7 +426,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_GOT_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -441,7 +441,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 64 bit subtraction. */ HOWTO (R_MIPS_SUB, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -457,7 +457,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* FIXME: Not handled correctly. */ HOWTO (R_MIPS_INSERT_A, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -474,7 +474,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* FIXME: Not handled correctly. */ HOWTO (R_MIPS_INSERT_B, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -490,7 +490,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* FIXME: Not handled correctly. */ HOWTO (R_MIPS_DELETE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -514,7 +514,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_CALL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -529,7 +529,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_CALL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -544,7 +544,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* Section displacement. */ HOWTO (R_MIPS_SCN_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -558,7 +558,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_REL16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -578,7 +578,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = It must be used for multigot GOT's (and only there). */ HOWTO (R_MIPS_RELGOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -594,7 +594,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = relocation is required for correctness. */ HOWTO (R_MIPS_JALR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -609,7 +609,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS GD/LD dynamic relocations. */ HOWTO (R_MIPS_TLS_DTPMOD32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -623,7 +623,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_TLS_DTPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -641,7 +641,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS general dynamic variable reference. */ HOWTO (R_MIPS_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -656,7 +656,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS local dynamic variable reference. */ HOWTO (R_MIPS_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -671,7 +671,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS local dynamic offset. */ HOWTO (R_MIPS_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -686,7 +686,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS local dynamic offset. */ HOWTO (R_MIPS_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -701,7 +701,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -716,7 +716,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS IE dynamic relocations. */ HOWTO (R_MIPS_TLS_TPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -733,7 +733,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -748,7 +748,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -763,7 +763,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = /* 32 bit relocation with no addend. */ HOWTO (R_MIPS_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -786,7 +786,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_PC21_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -800,7 +800,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_PC26_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -814,7 +814,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_PC18_S3, /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 18, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -828,7 +828,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_PC19_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -842,7 +842,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_PCHI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -856,7 +856,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = HOWTO (R_MIPS_PCLO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -877,7 +877,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* No relocation. */ HOWTO (R_MIPS_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -892,7 +892,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* 16 bit relocation. */ HOWTO (R_MIPS_16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -907,7 +907,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* 32 bit relocation. */ HOWTO (R_MIPS_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -922,7 +922,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* 32 bit symbol relative relocation. */ HOWTO (R_MIPS_REL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -937,7 +937,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* 26 bit jump address. */ HOWTO (R_MIPS_26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -955,7 +955,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* High 16 bits of symbol value. */ HOWTO (R_MIPS_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -970,7 +970,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* Low 16 bits of symbol value. */ HOWTO (R_MIPS_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -985,7 +985,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* GP relative reference. */ HOWTO (R_MIPS_GPREL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1000,7 +1000,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* Reference to literal section. */ HOWTO (R_MIPS_LITERAL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1015,7 +1015,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* Reference to global offset table. */ HOWTO (R_MIPS_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1032,7 +1032,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = We do the right thing here. */ HOWTO (R_MIPS_PC16, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1047,7 +1047,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* 16 bit call through global offset table. */ HOWTO (R_MIPS_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1062,7 +1062,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* 32 bit GP relative reference. */ HOWTO (R_MIPS_GPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1081,7 +1081,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* A 5 bit shift field. */ HOWTO (R_MIPS_SHIFT5, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 5, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -1096,7 +1096,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* A 6 bit shift field. */ HOWTO (R_MIPS_SHIFT6, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 6, /* bitsize */ false, /* pc_relative */ 6, /* bitpos */ @@ -1111,7 +1111,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* 64 bit relocation. */ HOWTO (R_MIPS_64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1126,7 +1126,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* Displacement in the global offset table. */ HOWTO (R_MIPS_GOT_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1141,7 +1141,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* Displacement to page pointer in the global offset table. */ HOWTO (R_MIPS_GOT_PAGE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1156,7 +1156,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* Offset from page pointer in the global offset table. */ HOWTO (R_MIPS_GOT_OFST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1171,7 +1171,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_GOT_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1186,7 +1186,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_GOT_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1201,7 +1201,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* 64 bit subtraction. */ HOWTO (R_MIPS_SUB, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1217,7 +1217,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* FIXME: Not handled correctly. */ HOWTO (R_MIPS_INSERT_A, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1234,7 +1234,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* FIXME: Not handled correctly. */ HOWTO (R_MIPS_INSERT_B, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1250,7 +1250,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* FIXME: Not handled correctly. */ HOWTO (R_MIPS_DELETE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1265,7 +1265,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* Get the higher value of a 64 bit addend. */ HOWTO (R_MIPS_HIGHER, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1280,7 +1280,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* Get the highest value of a 64 bit addend. */ HOWTO (R_MIPS_HIGHEST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1295,7 +1295,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_CALL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1310,7 +1310,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_CALL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1325,7 +1325,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* Section displacement, used by an associated event location section. */ HOWTO (R_MIPS_SCN_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1340,7 +1340,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* 16 bit relocation. */ HOWTO (R_MIPS_REL16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1360,7 +1360,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = It must be used for multigot GOT's (and only there). */ HOWTO (R_MIPS_RELGOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1376,7 +1376,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = relocation is required for correctness. */ HOWTO (R_MIPS_JALR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1391,7 +1391,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* TLS GD/LD dynamic relocations. */ HOWTO (R_MIPS_TLS_DTPMOD32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1405,7 +1405,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = HOWTO (R_MIPS_TLS_DTPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1423,7 +1423,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* TLS general dynamic variable reference. */ HOWTO (R_MIPS_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1438,7 +1438,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* TLS local dynamic variable reference. */ HOWTO (R_MIPS_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1453,7 +1453,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* TLS local dynamic offset. */ HOWTO (R_MIPS_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1468,7 +1468,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* TLS local dynamic offset. */ HOWTO (R_MIPS_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1483,7 +1483,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1498,7 +1498,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* TLS IE dynamic relocations. */ HOWTO (R_MIPS_TLS_TPREL32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1515,7 +1515,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1530,7 +1530,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* TLS thread pointer offset. */ HOWTO (R_MIPS_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1545,7 +1545,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = /* 32 bit relocation with no addend. */ HOWTO (R_MIPS_GLOB_DAT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1568,7 +1568,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = HOWTO (R_MIPS_PC21_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1582,7 +1582,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = HOWTO (R_MIPS_PC26_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1596,7 +1596,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = HOWTO (R_MIPS_PC18_S3, /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 18, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1610,7 +1610,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = HOWTO (R_MIPS_PC19_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1624,7 +1624,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = HOWTO (R_MIPS_PCHI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1638,7 +1638,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = HOWTO (R_MIPS_PCLO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1657,7 +1657,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* The reloc used for the mips16 jump instruction. */ HOWTO (R_MIPS16_26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1675,7 +1675,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* The reloc used for the mips16 gprel instruction. */ HOWTO (R_MIPS16_GPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1690,7 +1690,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* A MIPS16 reference to the global offset table. */ HOWTO (R_MIPS16_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1705,7 +1705,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* A MIPS16 call through the global offset table. */ HOWTO (R_MIPS16_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1720,7 +1720,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 high 16 bits of symbol value. */ HOWTO (R_MIPS16_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1735,7 +1735,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 low 16 bits of symbol value. */ HOWTO (R_MIPS16_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1750,7 +1750,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS general dynamic variable reference. */ HOWTO (R_MIPS16_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1765,7 +1765,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS local dynamic variable reference. */ HOWTO (R_MIPS16_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1780,7 +1780,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS local dynamic offset. */ HOWTO (R_MIPS16_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1795,7 +1795,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS local dynamic offset. */ HOWTO (R_MIPS16_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1810,7 +1810,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1825,7 +1825,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1840,7 +1840,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1855,7 +1855,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* MIPS16 16-bit PC-relative branch offset. */ HOWTO (R_MIPS16_PC16_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1873,7 +1873,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* The reloc used for the mips16 jump instruction. */ HOWTO (R_MIPS16_26, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1891,7 +1891,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* The reloc used for the mips16 gprel instruction. */ HOWTO (R_MIPS16_GPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1906,7 +1906,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* A MIPS16 reference to the global offset table. */ HOWTO (R_MIPS16_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1921,7 +1921,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* A MIPS16 call through the global offset table. */ HOWTO (R_MIPS16_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1936,7 +1936,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* MIPS16 high 16 bits of symbol value. */ HOWTO (R_MIPS16_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1951,7 +1951,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* MIPS16 low 16 bits of symbol value. */ HOWTO (R_MIPS16_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1966,7 +1966,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* MIPS16 TLS general dynamic variable reference. */ HOWTO (R_MIPS16_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1981,7 +1981,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* MIPS16 TLS local dynamic variable reference. */ HOWTO (R_MIPS16_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1996,7 +1996,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* MIPS16 TLS local dynamic offset. */ HOWTO (R_MIPS16_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2011,7 +2011,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* MIPS16 TLS local dynamic offset. */ HOWTO (R_MIPS16_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2026,7 +2026,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2041,7 +2041,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2056,7 +2056,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* MIPS16 TLS thread pointer offset. */ HOWTO (R_MIPS16_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2071,7 +2071,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* MIPS16 16-bit PC-relative branch offset. */ HOWTO (R_MIPS16_PC16_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2093,7 +2093,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* 26 bit jump address. */ HOWTO (R_MICROMIPS_26_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2111,7 +2111,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* High 16 bits of symbol value. */ HOWTO (R_MICROMIPS_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2126,7 +2126,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Low 16 bits of symbol value. */ HOWTO (R_MICROMIPS_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2141,7 +2141,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* GP relative reference. */ HOWTO (R_MICROMIPS_GPREL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2156,7 +2156,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Reference to literal section. */ HOWTO (R_MICROMIPS_LITERAL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2171,7 +2171,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Reference to global offset table. */ HOWTO (R_MICROMIPS_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2186,7 +2186,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* This is for microMIPS branches. */ HOWTO (R_MICROMIPS_PC7_S1, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2200,7 +2200,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = HOWTO (R_MICROMIPS_PC10_S1, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2214,7 +2214,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = HOWTO (R_MICROMIPS_PC16_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2229,7 +2229,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* 16 bit call through global offset table. */ HOWTO (R_MICROMIPS_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2247,7 +2247,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Displacement in the global offset table. */ HOWTO (R_MICROMIPS_GOT_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2262,7 +2262,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Displacement to page pointer in the global offset table. */ HOWTO (R_MICROMIPS_GOT_PAGE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2277,7 +2277,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Offset from page pointer in the global offset table. */ HOWTO (R_MICROMIPS_GOT_OFST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2292,7 +2292,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_GOT_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2307,7 +2307,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_GOT_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2322,7 +2322,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* 64 bit subtraction. Used in the N32 ABI. */ HOWTO (R_MICROMIPS_SUB, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2344,7 +2344,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_CALL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2359,7 +2359,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_CALL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2374,7 +2374,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* Section displacement. */ HOWTO (R_MICROMIPS_SCN_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2390,7 +2390,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = relocation is required for correctness. */ HOWTO (R_MICROMIPS_JALR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2406,7 +2406,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = must be zero. This is used for relaxation. */ HOWTO (R_MICROMIPS_HI0_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2426,7 +2426,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS general dynamic variable reference. */ HOWTO (R_MICROMIPS_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2441,7 +2441,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS local dynamic variable reference. */ HOWTO (R_MICROMIPS_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2456,7 +2456,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS local dynamic offset. */ HOWTO (R_MICROMIPS_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2471,7 +2471,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS local dynamic offset. */ HOWTO (R_MICROMIPS_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2486,7 +2486,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2504,7 +2504,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2519,7 +2519,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2536,7 +2536,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = /* GP- and PC-relative relocations. */ HOWTO (R_MICROMIPS_GPREL7_S2, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2550,7 +2550,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = HOWTO (R_MICROMIPS_PC23_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 23, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2572,7 +2572,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* 26 bit jump address. */ HOWTO (R_MICROMIPS_26_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2590,7 +2590,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* High 16 bits of symbol value. */ HOWTO (R_MICROMIPS_HI16, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2605,7 +2605,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* Low 16 bits of symbol value. */ HOWTO (R_MICROMIPS_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2620,7 +2620,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* GP relative reference. */ HOWTO (R_MICROMIPS_GPREL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2635,7 +2635,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* Reference to literal section. */ HOWTO (R_MICROMIPS_LITERAL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2650,7 +2650,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* Reference to global offset table. */ HOWTO (R_MICROMIPS_GOT16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2665,7 +2665,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* This is for microMIPS branches. */ HOWTO (R_MICROMIPS_PC7_S1, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2679,7 +2679,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = HOWTO (R_MICROMIPS_PC10_S1, /* type */ 1, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 10, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2693,7 +2693,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = HOWTO (R_MICROMIPS_PC16_S1, /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -2708,7 +2708,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* 16 bit call through global offset table. */ HOWTO (R_MICROMIPS_CALL16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2726,7 +2726,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* Displacement in the global offset table. */ HOWTO (R_MICROMIPS_GOT_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2741,7 +2741,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* Displacement to page pointer in the global offset table. */ HOWTO (R_MICROMIPS_GOT_PAGE, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2756,7 +2756,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* Offset from page pointer in the global offset table. */ HOWTO (R_MICROMIPS_GOT_OFST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2771,7 +2771,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_GOT_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2786,7 +2786,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_GOT_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2801,7 +2801,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* 64 bit subtraction. Used in the N32 ABI. */ HOWTO (R_MICROMIPS_SUB, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2816,7 +2816,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* Get the higher value of a 64 bit addend. */ HOWTO (R_MICROMIPS_HIGHER, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2831,7 +2831,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* Get the highest value of a 64 bit addend. */ HOWTO (R_MICROMIPS_HIGHEST, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2846,7 +2846,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* High 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_CALL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2861,7 +2861,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MICROMIPS_CALL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2876,7 +2876,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* Section displacement. */ HOWTO (R_MICROMIPS_SCN_DISP, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2892,7 +2892,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = relocation is required for correctness. */ HOWTO (R_MICROMIPS_JALR, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2908,7 +2908,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = must be zero. This is used for relaxation. */ HOWTO (R_MICROMIPS_HI0_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2928,7 +2928,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* TLS general dynamic variable reference. */ HOWTO (R_MICROMIPS_TLS_GD, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2943,7 +2943,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* TLS local dynamic variable reference. */ HOWTO (R_MICROMIPS_TLS_LDM, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2958,7 +2958,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* TLS local dynamic offset. */ HOWTO (R_MICROMIPS_TLS_DTPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2973,7 +2973,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* TLS local dynamic offset. */ HOWTO (R_MICROMIPS_TLS_DTPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2988,7 +2988,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_GOTTPREL, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3006,7 +3006,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_TPREL_HI16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3021,7 +3021,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* TLS thread pointer offset. */ HOWTO (R_MICROMIPS_TLS_TPREL_LO16, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3038,7 +3038,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = /* GP- and PC-relative relocations. */ HOWTO (R_MICROMIPS_GPREL7_S2, /* type */ 2, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 7, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3052,7 +3052,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = HOWTO (R_MICROMIPS_PC23_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 23, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -3069,7 +3069,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = static reloc_howto_type elf_mips_gnu_vtinherit_howto = HOWTO (R_MIPS_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3085,7 +3085,7 @@ static reloc_howto_type elf_mips_gnu_vtinherit_howto = static reloc_howto_type elf_mips_gnu_vtentry_howto = HOWTO (R_MIPS_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3101,7 +3101,7 @@ static reloc_howto_type elf_mips_gnu_vtentry_howto = static reloc_howto_type elf_mips_gnu_rel16_s2 = HOWTO (R_MIPS_GNU_REL16_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -3117,7 +3117,7 @@ static reloc_howto_type elf_mips_gnu_rel16_s2 = static reloc_howto_type elf_mips_gnu_rela16_s2 = HOWTO (R_MIPS_GNU_REL16_S2, /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -3133,7 +3133,7 @@ static reloc_howto_type elf_mips_gnu_rela16_s2 = static reloc_howto_type elf_mips_gnu_pcrel32 = HOWTO (R_MIPS_PC32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -3150,7 +3150,7 @@ static reloc_howto_type elf_mips_gnu_pcrel32 = static reloc_howto_type elf_mips_copy_howto = HOWTO (R_MIPS_COPY, /* type */ 0, /* rightshift */ - 0, /* this one is variable size */ + 1, /* this one is variable size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3166,7 +3166,7 @@ static reloc_howto_type elf_mips_copy_howto = static reloc_howto_type elf_mips_jump_slot_howto = HOWTO (R_MIPS_JUMP_SLOT, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -3182,7 +3182,7 @@ static reloc_howto_type elf_mips_jump_slot_howto = static reloc_howto_type elf_mips_eh_howto = HOWTO (R_MIPS_EH, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index 4926bab9..ca24a6b 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -442,7 +442,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Deprecated, but retained for backwards compatibility. */ HOWTO64 (R_AARCH64_NULL, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -455,7 +455,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = false), /* pcrel_offset */ HOWTO (R_AARCH64_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -470,7 +470,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* .xword: (S+A) */ HOWTO64 (AARCH64_R (ABS64), /* type */ 0, /* rightshift */ - 4, /* size (4 = long long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -485,7 +485,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* .word: (S+A) */ HOWTO (AARCH64_R (ABS32), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -500,7 +500,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* .half: (S+A) */ HOWTO (AARCH64_R (ABS16), /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -515,7 +515,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* .xword: (S+A-P) */ HOWTO64 (AARCH64_R (PREL64), /* type */ 0, /* rightshift */ - 4, /* size (4 = long long) */ + 8, /* size */ 64, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -530,7 +530,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* .word: (S+A-P) */ HOWTO (AARCH64_R (PREL32), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -545,7 +545,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* .half: (S+A-P) */ HOWTO (AARCH64_R (PREL16), /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -563,7 +563,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOVZ: ((S+A) >> 0) & 0xffff */ HOWTO (AARCH64_R (MOVW_UABS_G0), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -578,7 +578,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOVK: ((S+A) >> 0) & 0xffff [no overflow check] */ HOWTO (AARCH64_R (MOVW_UABS_G0_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -593,7 +593,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOVZ: ((S+A) >> 16) & 0xffff */ HOWTO (AARCH64_R (MOVW_UABS_G1), /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -608,7 +608,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOVK: ((S+A) >> 16) & 0xffff [no overflow check] */ HOWTO64 (AARCH64_R (MOVW_UABS_G1_NC), /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -623,7 +623,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOVZ: ((S+A) >> 32) & 0xffff */ HOWTO64 (AARCH64_R (MOVW_UABS_G2), /* type */ 32, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -638,7 +638,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOVK: ((S+A) >> 32) & 0xffff [no overflow check] */ HOWTO64 (AARCH64_R (MOVW_UABS_G2_NC), /* type */ 32, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -653,7 +653,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOVZ: ((S+A) >> 48) & 0xffff */ HOWTO64 (AARCH64_R (MOVW_UABS_G3), /* type */ 48, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -672,7 +672,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOV[ZN]: ((S+A) >> 0) & 0xffff */ HOWTO (AARCH64_R (MOVW_SABS_G0), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 17, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -687,7 +687,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOV[ZN]: ((S+A) >> 16) & 0xffff */ HOWTO64 (AARCH64_R (MOVW_SABS_G1), /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 17, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -702,7 +702,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOV[ZN]: ((S+A) >> 32) & 0xffff */ HOWTO64 (AARCH64_R (MOVW_SABS_G2), /* type */ 32, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 17, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -720,7 +720,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOV[NZ]: ((S+A-P) >> 0) & 0xffff */ HOWTO (AARCH64_R (MOVW_PREL_G0), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 17, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -735,7 +735,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOVK: ((S+A-P) >> 0) & 0xffff [no overflow check] */ HOWTO (AARCH64_R (MOVW_PREL_G0_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -750,7 +750,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOV[NZ]: ((S+A-P) >> 16) & 0xffff */ HOWTO (AARCH64_R (MOVW_PREL_G1), /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 17, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -765,7 +765,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOVK: ((S+A-P) >> 16) & 0xffff [no overflow check] */ HOWTO64 (AARCH64_R (MOVW_PREL_G1_NC), /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -780,7 +780,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOV[NZ]: ((S+A-P) >> 32) & 0xffff */ HOWTO64 (AARCH64_R (MOVW_PREL_G2), /* type */ 32, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 17, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -795,7 +795,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOVK: ((S+A-P) >> 32) & 0xffff [no overflow check] */ HOWTO64 (AARCH64_R (MOVW_PREL_G2_NC), /* type */ 32, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -810,7 +810,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOV[NZ]: ((S+A-P) >> 48) & 0xffff */ HOWTO64 (AARCH64_R (MOVW_PREL_G3), /* type */ 48, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -828,7 +828,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD-lit: ((S+A-P) >> 2) & 0x7ffff */ HOWTO (AARCH64_R (LD_PREL_LO19), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -843,7 +843,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* ADR: (S+A-P) & 0x1fffff */ HOWTO (AARCH64_R (ADR_PREL_LO21), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -858,7 +858,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* ADRP: ((PG(S+A)-PG(P)) >> 12) & 0x1fffff */ HOWTO (AARCH64_R (ADR_PREL_PG_HI21), /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -873,7 +873,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* ADRP: ((PG(S+A)-PG(P)) >> 12) & 0x1fffff [no overflow check] */ HOWTO64 (AARCH64_R (ADR_PREL_PG_HI21_NC), /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -888,7 +888,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* ADD: (S+A) & 0xfff [no overflow check] */ HOWTO (AARCH64_R (ADD_ABS_LO12_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -903,7 +903,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD/ST8: (S+A) & 0xfff */ HOWTO (AARCH64_R (LDST8_ABS_LO12_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -920,7 +920,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* TBZ/NZ: ((S+A-P) >> 2) & 0x3fff */ HOWTO (AARCH64_R (TSTBR14), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 14, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -935,7 +935,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* B.cond: ((S+A-P) >> 2) & 0x7ffff */ HOWTO (AARCH64_R (CONDBR19), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -950,7 +950,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* B: ((S+A-P) >> 2) & 0x3ffffff */ HOWTO (AARCH64_R (JUMP26), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -965,7 +965,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* BL: ((S+A-P) >> 2) & 0x3ffffff */ HOWTO (AARCH64_R (CALL26), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 26, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -980,7 +980,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD/ST16: (S+A) & 0xffe */ HOWTO (AARCH64_R (LDST16_ABS_LO12_NC), /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -995,7 +995,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD/ST32: (S+A) & 0xffc */ HOWTO (AARCH64_R (LDST32_ABS_LO12_NC), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1010,7 +1010,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD/ST64: (S+A) & 0xff8 */ HOWTO (AARCH64_R (LDST64_ABS_LO12_NC), /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1025,7 +1025,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD/ST128: (S+A) & 0xff0 */ HOWTO (AARCH64_R (LDST128_ABS_LO12_NC), /* type */ 4, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1041,7 +1041,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = 0x1FFFFC of G(S)-P */ HOWTO (AARCH64_R (GOT_LD_PREL19), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte,1 = short,2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1057,7 +1057,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = (G(S) - P) using an ADRP instruction. */ HOWTO (AARCH64_R (ADR_GOT_PAGE), /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1072,7 +1072,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD64: GOT offset G(S) & 0xff8 */ HOWTO64 (AARCH64_R (LD64_GOT_LO12_NC), /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1087,7 +1087,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD32: GOT offset G(S) & 0xffc */ HOWTO32 (AARCH64_R (LD32_GOT_LO12_NC), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1102,7 +1102,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Lower 16 bits of GOT offset for the symbol. */ HOWTO64 (AARCH64_R (MOVW_GOTOFF_G0_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1117,7 +1117,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Higher 16 bits of GOT offset for the symbol. */ HOWTO64 (AARCH64_R (MOVW_GOTOFF_G1), /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1132,7 +1132,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD64: GOT offset for the symbol. */ HOWTO64 (AARCH64_R (LD64_GOTOFF_LO15), /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1148,7 +1148,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = (G(S) - PAGE (_GLOBAL_OFFSET_TABLE_)) & 0x5ffc. */ HOWTO32 (AARCH64_R (LD32_GOTPAGE_LO14), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1164,7 +1164,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = (G(S) - PAGE (_GLOBAL_OFFSET_TABLE_)) & 0x7ff8. */ HOWTO64 (AARCH64_R (LD64_GOTPAGE_LO15), /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1180,7 +1180,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = (G(S) - P) using an ADRP instruction. */ HOWTO (AARCH64_R (TLSGD_ADR_PAGE21), /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1194,7 +1194,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSGD_ADR_PREL21), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1209,7 +1209,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* ADD: GOT offset G(S) & 0xff8 [no overflow check] */ HOWTO (AARCH64_R (TLSGD_ADD_LO12_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1224,7 +1224,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Lower 16 bits of GOT offset to tls_index. */ HOWTO64 (AARCH64_R (TLSGD_MOVW_G0_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1239,7 +1239,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Higher 16 bits of GOT offset to tls_index. */ HOWTO64 (AARCH64_R (TLSGD_MOVW_G1), /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1253,7 +1253,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSIE_ADR_GOTTPREL_PAGE21), /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1267,7 +1267,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO64 (AARCH64_R (TLSIE_LD64_GOTTPREL_LO12_NC), /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1281,7 +1281,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO32 (AARCH64_R (TLSIE_LD32_GOTTPREL_LO12_NC), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1295,7 +1295,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSIE_LD_GOTTPREL_PREL19), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1309,7 +1309,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO64 (AARCH64_R (TLSIE_MOVW_GOTTPREL_G0_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1323,7 +1323,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO64 (AARCH64_R (TLSIE_MOVW_GOTTPREL_G1), /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1338,7 +1338,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* ADD: bit[23:12] of byte offset to module TLS base address. */ HOWTO (AARCH64_R (TLSLD_ADD_DTPREL_HI12), /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1353,7 +1353,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Unsigned 12 bit byte offset to module TLS base address. */ HOWTO (AARCH64_R (TLSLD_ADD_DTPREL_LO12), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1368,7 +1368,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* No overflow check version of BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12. */ HOWTO (AARCH64_R (TLSLD_ADD_DTPREL_LO12_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1383,7 +1383,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* ADD: GOT offset G(S) & 0xff8 [no overflow check] */ HOWTO (AARCH64_R (TLSLD_ADD_LO12_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1399,7 +1399,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = (G(S) - P) using an ADRP instruction. */ HOWTO (AARCH64_R (TLSLD_ADR_PAGE21), /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1413,7 +1413,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSLD_ADR_PREL21), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1428,7 +1428,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD/ST16: bit[11:1] of byte offset to module TLS base address. */ HOWTO64 (AARCH64_R (TLSLD_LDST16_DTPREL_LO12), /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 11, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1443,7 +1443,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Same as BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12, but no overflow check. */ HOWTO64 (AARCH64_R (TLSLD_LDST16_DTPREL_LO12_NC), /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 11, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1458,7 +1458,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD/ST32: bit[11:2] of byte offset to module TLS base address. */ HOWTO64 (AARCH64_R (TLSLD_LDST32_DTPREL_LO12), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1473,7 +1473,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Same as BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12, but no overflow check. */ HOWTO64 (AARCH64_R (TLSLD_LDST32_DTPREL_LO12_NC), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1488,7 +1488,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD/ST64: bit[11:3] of byte offset to module TLS base address. */ HOWTO64 (AARCH64_R (TLSLD_LDST64_DTPREL_LO12), /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 9, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1503,7 +1503,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Same as BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12, but no overflow check. */ HOWTO64 (AARCH64_R (TLSLD_LDST64_DTPREL_LO12_NC), /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 9, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1518,7 +1518,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD/ST8: bit[11:0] of byte offset to module TLS base address. */ HOWTO64 (AARCH64_R (TLSLD_LDST8_DTPREL_LO12), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1533,7 +1533,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Same as BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12, but no overflow check. */ HOWTO64 (AARCH64_R (TLSLD_LDST8_DTPREL_LO12_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1548,7 +1548,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOVZ: bit[15:0] of byte offset to module TLS base address. */ HOWTO (AARCH64_R (TLSLD_MOVW_DTPREL_G0), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1563,7 +1563,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* No overflow check version of BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0. */ HOWTO (AARCH64_R (TLSLD_MOVW_DTPREL_G0_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1578,7 +1578,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOVZ: bit[31:16] of byte offset to module TLS base address. */ HOWTO (AARCH64_R (TLSLD_MOVW_DTPREL_G1), /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1593,7 +1593,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* No overflow check version of BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1. */ HOWTO64 (AARCH64_R (TLSLD_MOVW_DTPREL_G1_NC), /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1608,7 +1608,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* MOVZ: bit[47:32] of byte offset to module TLS base address. */ HOWTO64 (AARCH64_R (TLSLD_MOVW_DTPREL_G2), /* type */ 32, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1622,7 +1622,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO64 (AARCH64_R (TLSLE_MOVW_TPREL_G2), /* type */ 32, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1636,7 +1636,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSLE_MOVW_TPREL_G1), /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1650,7 +1650,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO64 (AARCH64_R (TLSLE_MOVW_TPREL_G1_NC), /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1664,7 +1664,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSLE_MOVW_TPREL_G0), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1678,7 +1678,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSLE_MOVW_TPREL_G0_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1692,7 +1692,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSLE_ADD_TPREL_HI12), /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1706,7 +1706,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSLE_ADD_TPREL_LO12), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1720,7 +1720,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSLE_ADD_TPREL_LO12_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1735,7 +1735,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD/ST16: bit[11:1] of byte offset to module TLS base address. */ HOWTO (AARCH64_R (TLSLE_LDST16_TPREL_LO12), /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 11, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1750,7 +1750,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Same as BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12, but no overflow check. */ HOWTO (AARCH64_R (TLSLE_LDST16_TPREL_LO12_NC), /* type */ 1, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 11, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1765,7 +1765,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD/ST32: bit[11:2] of byte offset to module TLS base address. */ HOWTO (AARCH64_R (TLSLE_LDST32_TPREL_LO12), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1780,7 +1780,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Same as BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12, but no overflow check. */ HOWTO (AARCH64_R (TLSLE_LDST32_TPREL_LO12_NC), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 10, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1795,7 +1795,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD/ST64: bit[11:3] of byte offset to module TLS base address. */ HOWTO (AARCH64_R (TLSLE_LDST64_TPREL_LO12), /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 9, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1810,7 +1810,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Same as BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12, but no overflow check. */ HOWTO (AARCH64_R (TLSLE_LDST64_TPREL_LO12_NC), /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 9, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1825,7 +1825,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD/ST8: bit[11:0] of byte offset to module TLS base address. */ HOWTO (AARCH64_R (TLSLE_LDST8_TPREL_LO12), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1840,7 +1840,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* Same as BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12, but no overflow check. */ HOWTO (AARCH64_R (TLSLE_LDST8_TPREL_LO12_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 10, /* bitpos */ @@ -1854,7 +1854,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSDESC_LD_PREL19), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 19, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1868,7 +1868,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSDESC_ADR_PREL21), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1884,7 +1884,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = (G(S) - P) using an ADRP instruction. */ HOWTO (AARCH64_R (TLSDESC_ADR_PAGE21), /* type */ 12, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 21, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -1899,7 +1899,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD64: GOT offset G(S) & 0xff8. */ HOWTO64 (AARCH64_R (TLSDESC_LD64_LO12), /* type */ 3, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1914,7 +1914,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* LD32: GOT offset G(S) & 0xffc. */ HOWTO32 (AARCH64_R (TLSDESC_LD32_LO12_NC), /* type */ 2, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1929,7 +1929,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = /* ADD: GOT offset G(S) & 0xfff. */ HOWTO (AARCH64_R (TLSDESC_ADD_LO12), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1943,7 +1943,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO64 (AARCH64_R (TLSDESC_OFF_G1), /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1957,7 +1957,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO64 (AARCH64_R (TLSDESC_OFF_G0_NC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1971,7 +1971,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO64 (AARCH64_R (TLSDESC_LDR), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1985,7 +1985,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO64 (AARCH64_R (TLSDESC_ADD), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 12, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -1999,7 +1999,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSDESC_CALL), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2013,7 +2013,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (COPY), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2027,7 +2027,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (GLOB_DAT), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2041,7 +2041,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (JUMP_SLOT), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2055,7 +2055,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (RELATIVE), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2069,7 +2069,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLS_DTPMOD), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2087,7 +2087,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLS_DTPREL), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2105,7 +2105,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLS_TPREL), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2123,7 +2123,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (TLSDESC), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2137,7 +2137,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = HOWTO (AARCH64_R (IRELATIVE), /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -2155,7 +2155,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = static reloc_howto_type elfNN_aarch64_howto_none = HOWTO (R_AARCH64_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index a108324..a26db4e 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -90,102 +90,102 @@ ia64_elf_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc, TYPE field. */ static reloc_howto_type ia64_howto_table[] = { - IA64_HOWTO (R_IA64_NONE, "NONE", 3, false, true), - - IA64_HOWTO (R_IA64_IMM14, "IMM14", 0, false, true), - IA64_HOWTO (R_IA64_IMM22, "IMM22", 0, false, true), - IA64_HOWTO (R_IA64_IMM64, "IMM64", 0, false, true), - IA64_HOWTO (R_IA64_DIR32MSB, "DIR32MSB", 2, false, true), - IA64_HOWTO (R_IA64_DIR32LSB, "DIR32LSB", 2, false, true), - IA64_HOWTO (R_IA64_DIR64MSB, "DIR64MSB", 4, false, true), - IA64_HOWTO (R_IA64_DIR64LSB, "DIR64LSB", 4, false, true), - - IA64_HOWTO (R_IA64_GPREL22, "GPREL22", 0, false, true), - IA64_HOWTO (R_IA64_GPREL64I, "GPREL64I", 0, false, true), - IA64_HOWTO (R_IA64_GPREL32MSB, "GPREL32MSB", 2, false, true), - IA64_HOWTO (R_IA64_GPREL32LSB, "GPREL32LSB", 2, false, true), - IA64_HOWTO (R_IA64_GPREL64MSB, "GPREL64MSB", 4, false, true), - IA64_HOWTO (R_IA64_GPREL64LSB, "GPREL64LSB", 4, false, true), - - IA64_HOWTO (R_IA64_LTOFF22, "LTOFF22", 0, false, true), - IA64_HOWTO (R_IA64_LTOFF64I, "LTOFF64I", 0, false, true), - - IA64_HOWTO (R_IA64_PLTOFF22, "PLTOFF22", 0, false, true), - IA64_HOWTO (R_IA64_PLTOFF64I, "PLTOFF64I", 0, false, true), - IA64_HOWTO (R_IA64_PLTOFF64MSB, "PLTOFF64MSB", 4, false, true), - IA64_HOWTO (R_IA64_PLTOFF64LSB, "PLTOFF64LSB", 4, false, true), - - IA64_HOWTO (R_IA64_FPTR64I, "FPTR64I", 0, false, true), - IA64_HOWTO (R_IA64_FPTR32MSB, "FPTR32MSB", 2, false, true), - IA64_HOWTO (R_IA64_FPTR32LSB, "FPTR32LSB", 2, false, true), - IA64_HOWTO (R_IA64_FPTR64MSB, "FPTR64MSB", 4, false, true), - IA64_HOWTO (R_IA64_FPTR64LSB, "FPTR64LSB", 4, false, true), - - IA64_HOWTO (R_IA64_PCREL60B, "PCREL60B", 0, true, true), - IA64_HOWTO (R_IA64_PCREL21B, "PCREL21B", 0, true, true), - IA64_HOWTO (R_IA64_PCREL21M, "PCREL21M", 0, true, true), - IA64_HOWTO (R_IA64_PCREL21F, "PCREL21F", 0, true, true), - IA64_HOWTO (R_IA64_PCREL32MSB, "PCREL32MSB", 2, true, true), - IA64_HOWTO (R_IA64_PCREL32LSB, "PCREL32LSB", 2, true, true), - IA64_HOWTO (R_IA64_PCREL64MSB, "PCREL64MSB", 4, true, true), - IA64_HOWTO (R_IA64_PCREL64LSB, "PCREL64LSB", 4, true, true), - - IA64_HOWTO (R_IA64_LTOFF_FPTR22, "LTOFF_FPTR22", 0, false, true), - IA64_HOWTO (R_IA64_LTOFF_FPTR64I, "LTOFF_FPTR64I", 0, false, true), - IA64_HOWTO (R_IA64_LTOFF_FPTR32MSB, "LTOFF_FPTR32MSB", 2, false, true), - IA64_HOWTO (R_IA64_LTOFF_FPTR32LSB, "LTOFF_FPTR32LSB", 2, false, true), - IA64_HOWTO (R_IA64_LTOFF_FPTR64MSB, "LTOFF_FPTR64MSB", 4, false, true), - IA64_HOWTO (R_IA64_LTOFF_FPTR64LSB, "LTOFF_FPTR64LSB", 4, false, true), - - IA64_HOWTO (R_IA64_SEGREL32MSB, "SEGREL32MSB", 2, false, true), - IA64_HOWTO (R_IA64_SEGREL32LSB, "SEGREL32LSB", 2, false, true), - IA64_HOWTO (R_IA64_SEGREL64MSB, "SEGREL64MSB", 4, false, true), - IA64_HOWTO (R_IA64_SEGREL64LSB, "SEGREL64LSB", 4, false, true), - - IA64_HOWTO (R_IA64_SECREL32MSB, "SECREL32MSB", 2, false, true), - IA64_HOWTO (R_IA64_SECREL32LSB, "SECREL32LSB", 2, false, true), - IA64_HOWTO (R_IA64_SECREL64MSB, "SECREL64MSB", 4, false, true), - IA64_HOWTO (R_IA64_SECREL64LSB, "SECREL64LSB", 4, false, true), - - IA64_HOWTO (R_IA64_REL32MSB, "REL32MSB", 2, false, true), - IA64_HOWTO (R_IA64_REL32LSB, "REL32LSB", 2, false, true), - IA64_HOWTO (R_IA64_REL64MSB, "REL64MSB", 4, false, true), - IA64_HOWTO (R_IA64_REL64LSB, "REL64LSB", 4, false, true), - - IA64_HOWTO (R_IA64_LTV32MSB, "LTV32MSB", 2, false, true), - IA64_HOWTO (R_IA64_LTV32LSB, "LTV32LSB", 2, false, true), - IA64_HOWTO (R_IA64_LTV64MSB, "LTV64MSB", 4, false, true), - IA64_HOWTO (R_IA64_LTV64LSB, "LTV64LSB", 4, false, true), - - IA64_HOWTO (R_IA64_PCREL21BI, "PCREL21BI", 0, true, true), - IA64_HOWTO (R_IA64_PCREL22, "PCREL22", 0, true, true), - IA64_HOWTO (R_IA64_PCREL64I, "PCREL64I", 0, true, true), - - IA64_HOWTO (R_IA64_IPLTMSB, "IPLTMSB", 4, false, true), - IA64_HOWTO (R_IA64_IPLTLSB, "IPLTLSB", 4, false, true), - IA64_HOWTO (R_IA64_COPY, "COPY", 4, false, true), - IA64_HOWTO (R_IA64_LTOFF22X, "LTOFF22X", 0, false, true), - IA64_HOWTO (R_IA64_LDXMOV, "LDXMOV", 0, false, true), - - IA64_HOWTO (R_IA64_TPREL14, "TPREL14", 0, false, false), - IA64_HOWTO (R_IA64_TPREL22, "TPREL22", 0, false, false), - IA64_HOWTO (R_IA64_TPREL64I, "TPREL64I", 0, false, false), - IA64_HOWTO (R_IA64_TPREL64MSB, "TPREL64MSB", 4, false, false), - IA64_HOWTO (R_IA64_TPREL64LSB, "TPREL64LSB", 4, false, false), - IA64_HOWTO (R_IA64_LTOFF_TPREL22, "LTOFF_TPREL22", 0, false, false), - - IA64_HOWTO (R_IA64_DTPMOD64MSB, "DTPMOD64MSB", 4, false, false), - IA64_HOWTO (R_IA64_DTPMOD64LSB, "DTPMOD64LSB", 4, false, false), - IA64_HOWTO (R_IA64_LTOFF_DTPMOD22, "LTOFF_DTPMOD22", 0, false, false), - - IA64_HOWTO (R_IA64_DTPREL14, "DTPREL14", 0, false, false), - IA64_HOWTO (R_IA64_DTPREL22, "DTPREL22", 0, false, false), - IA64_HOWTO (R_IA64_DTPREL64I, "DTPREL64I", 0, false, false), - IA64_HOWTO (R_IA64_DTPREL32MSB, "DTPREL32MSB", 2, false, false), - IA64_HOWTO (R_IA64_DTPREL32LSB, "DTPREL32LSB", 2, false, false), - IA64_HOWTO (R_IA64_DTPREL64MSB, "DTPREL64MSB", 4, false, false), - IA64_HOWTO (R_IA64_DTPREL64LSB, "DTPREL64LSB", 4, false, false), - IA64_HOWTO (R_IA64_LTOFF_DTPREL22, "LTOFF_DTPREL22", 0, false, false), + IA64_HOWTO (R_IA64_NONE, "NONE", 0, false, true), + + IA64_HOWTO (R_IA64_IMM14, "IMM14", 1, false, true), + IA64_HOWTO (R_IA64_IMM22, "IMM22", 1, false, true), + IA64_HOWTO (R_IA64_IMM64, "IMM64", 1, false, true), + IA64_HOWTO (R_IA64_DIR32MSB, "DIR32MSB", 4, false, true), + IA64_HOWTO (R_IA64_DIR32LSB, "DIR32LSB", 4, false, true), + IA64_HOWTO (R_IA64_DIR64MSB, "DIR64MSB", 8, false, true), + IA64_HOWTO (R_IA64_DIR64LSB, "DIR64LSB", 8, false, true), + + IA64_HOWTO (R_IA64_GPREL22, "GPREL22", 1, false, true), + IA64_HOWTO (R_IA64_GPREL64I, "GPREL64I", 1, false, true), + IA64_HOWTO (R_IA64_GPREL32MSB, "GPREL32MSB", 4, false, true), + IA64_HOWTO (R_IA64_GPREL32LSB, "GPREL32LSB", 4, false, true), + IA64_HOWTO (R_IA64_GPREL64MSB, "GPREL64MSB", 8, false, true), + IA64_HOWTO (R_IA64_GPREL64LSB, "GPREL64LSB", 8, false, true), + + IA64_HOWTO (R_IA64_LTOFF22, "LTOFF22", 1, false, true), + IA64_HOWTO (R_IA64_LTOFF64I, "LTOFF64I", 1, false, true), + + IA64_HOWTO (R_IA64_PLTOFF22, "PLTOFF22", 1, false, true), + IA64_HOWTO (R_IA64_PLTOFF64I, "PLTOFF64I", 1, false, true), + IA64_HOWTO (R_IA64_PLTOFF64MSB, "PLTOFF64MSB", 8, false, true), + IA64_HOWTO (R_IA64_PLTOFF64LSB, "PLTOFF64LSB", 8, false, true), + + IA64_HOWTO (R_IA64_FPTR64I, "FPTR64I", 1, false, true), + IA64_HOWTO (R_IA64_FPTR32MSB, "FPTR32MSB", 4, false, true), + IA64_HOWTO (R_IA64_FPTR32LSB, "FPTR32LSB", 4, false, true), + IA64_HOWTO (R_IA64_FPTR64MSB, "FPTR64MSB", 8, false, true), + IA64_HOWTO (R_IA64_FPTR64LSB, "FPTR64LSB", 8, false, true), + + IA64_HOWTO (R_IA64_PCREL60B, "PCREL60B", 1, true, true), + IA64_HOWTO (R_IA64_PCREL21B, "PCREL21B", 1, true, true), + IA64_HOWTO (R_IA64_PCREL21M, "PCREL21M", 1, true, true), + IA64_HOWTO (R_IA64_PCREL21F, "PCREL21F", 1, true, true), + IA64_HOWTO (R_IA64_PCREL32MSB, "PCREL32MSB", 4, true, true), + IA64_HOWTO (R_IA64_PCREL32LSB, "PCREL32LSB", 4, true, true), + IA64_HOWTO (R_IA64_PCREL64MSB, "PCREL64MSB", 8, true, true), + IA64_HOWTO (R_IA64_PCREL64LSB, "PCREL64LSB", 8, true, true), + + IA64_HOWTO (R_IA64_LTOFF_FPTR22, "LTOFF_FPTR22", 1, false, true), + IA64_HOWTO (R_IA64_LTOFF_FPTR64I, "LTOFF_FPTR64I", 1, false, true), + IA64_HOWTO (R_IA64_LTOFF_FPTR32MSB, "LTOFF_FPTR32MSB", 4, false, true), + IA64_HOWTO (R_IA64_LTOFF_FPTR32LSB, "LTOFF_FPTR32LSB", 4, false, true), + IA64_HOWTO (R_IA64_LTOFF_FPTR64MSB, "LTOFF_FPTR64MSB", 8, false, true), + IA64_HOWTO (R_IA64_LTOFF_FPTR64LSB, "LTOFF_FPTR64LSB", 8, false, true), + + IA64_HOWTO (R_IA64_SEGREL32MSB, "SEGREL32MSB", 4, false, true), + IA64_HOWTO (R_IA64_SEGREL32LSB, "SEGREL32LSB", 4, false, true), + IA64_HOWTO (R_IA64_SEGREL64MSB, "SEGREL64MSB", 8, false, true), + IA64_HOWTO (R_IA64_SEGREL64LSB, "SEGREL64LSB", 8, false, true), + + IA64_HOWTO (R_IA64_SECREL32MSB, "SECREL32MSB", 4, false, true), + IA64_HOWTO (R_IA64_SECREL32LSB, "SECREL32LSB", 4, false, true), + IA64_HOWTO (R_IA64_SECREL64MSB, "SECREL64MSB", 8, false, true), + IA64_HOWTO (R_IA64_SECREL64LSB, "SECREL64LSB", 8, false, true), + + IA64_HOWTO (R_IA64_REL32MSB, "REL32MSB", 4, false, true), + IA64_HOWTO (R_IA64_REL32LSB, "REL32LSB", 4, false, true), + IA64_HOWTO (R_IA64_REL64MSB, "REL64MSB", 8, false, true), + IA64_HOWTO (R_IA64_REL64LSB, "REL64LSB", 8, false, true), + + IA64_HOWTO (R_IA64_LTV32MSB, "LTV32MSB", 4, false, true), + IA64_HOWTO (R_IA64_LTV32LSB, "LTV32LSB", 4, false, true), + IA64_HOWTO (R_IA64_LTV64MSB, "LTV64MSB", 8, false, true), + IA64_HOWTO (R_IA64_LTV64LSB, "LTV64LSB", 8, false, true), + + IA64_HOWTO (R_IA64_PCREL21BI, "PCREL21BI", 1, true, true), + IA64_HOWTO (R_IA64_PCREL22, "PCREL22", 1, true, true), + IA64_HOWTO (R_IA64_PCREL64I, "PCREL64I", 1, true, true), + + IA64_HOWTO (R_IA64_IPLTMSB, "IPLTMSB", 8, false, true), + IA64_HOWTO (R_IA64_IPLTLSB, "IPLTLSB", 8, false, true), + IA64_HOWTO (R_IA64_COPY, "COPY", 8, false, true), + IA64_HOWTO (R_IA64_LTOFF22X, "LTOFF22X", 1, false, true), + IA64_HOWTO (R_IA64_LDXMOV, "LDXMOV", 1, false, true), + + IA64_HOWTO (R_IA64_TPREL14, "TPREL14", 1, false, false), + IA64_HOWTO (R_IA64_TPREL22, "TPREL22", 1, false, false), + IA64_HOWTO (R_IA64_TPREL64I, "TPREL64I", 1, false, false), + IA64_HOWTO (R_IA64_TPREL64MSB, "TPREL64MSB", 8, false, false), + IA64_HOWTO (R_IA64_TPREL64LSB, "TPREL64LSB", 8, false, false), + IA64_HOWTO (R_IA64_LTOFF_TPREL22, "LTOFF_TPREL22", 1, false, false), + + IA64_HOWTO (R_IA64_DTPMOD64MSB, "DTPMOD64MSB", 8, false, false), + IA64_HOWTO (R_IA64_DTPMOD64LSB, "DTPMOD64LSB", 8, false, false), + IA64_HOWTO (R_IA64_LTOFF_DTPMOD22, "LTOFF_DTPMOD22", 1, false, false), + + IA64_HOWTO (R_IA64_DTPREL14, "DTPREL14", 1, false, false), + IA64_HOWTO (R_IA64_DTPREL22, "DTPREL22", 1, false, false), + IA64_HOWTO (R_IA64_DTPREL64I, "DTPREL64I", 1, false, false), + IA64_HOWTO (R_IA64_DTPREL32MSB, "DTPREL32MSB", 4, false, false), + IA64_HOWTO (R_IA64_DTPREL32LSB, "DTPREL32LSB", 4, false, false), + IA64_HOWTO (R_IA64_DTPREL64MSB, "DTPREL64MSB", 8, false, false), + IA64_HOWTO (R_IA64_DTPREL64LSB, "DTPREL64LSB", 8, false, false), + IA64_HOWTO (R_IA64_LTOFF_DTPREL22, "LTOFF_DTPREL22", 1, false, false), }; static unsigned char elf_code_to_howto_index[R_IA64_MAX_RELOC_CODE + 1]; diff --git a/bfd/elfxx-loongarch.c b/bfd/elfxx-loongarch.c index 6f7c822..362da2e 100644 --- a/bfd/elfxx-loongarch.c +++ b/bfd/elfxx-loongarch.c @@ -38,7 +38,7 @@ typedef struct loongarch_reloc_howto_type_struct }loongarch_reloc_howto_type; #define LOONGARCH_DEFAULT_HOWTO(r_name) \ - { HOWTO (R_LARCH_##r_name, 0, 2, 32, false, 0, complain_overflow_signed, \ + { HOWTO (R_LARCH_##r_name, 0, 4, 32, false, 0, complain_overflow_signed, \ bfd_elf_generic_reloc, "R_LARCH_" #r_name, false, 0, ALL_ONES, \ false), BFD_RELOC_LARCH_##r_name, NULL } @@ -64,7 +64,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = /* No relocation. */ LOONGARCH_HOWTO (R_LARCH_NONE, /* type (0). */ 0, /* rightshift */ - 3, /* size */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -81,7 +81,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = /* 32 bit relocation. */ LOONGARCH_HOWTO (R_LARCH_32, /* type (1). */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -98,7 +98,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = /* 64 bit relocation. */ LOONGARCH_HOWTO (R_LARCH_64, /* type (2). */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -114,7 +114,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_RELATIVE, /* type (3). */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -130,7 +130,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_COPY, /* type (4). */ 0, /* rightshift */ - 0, /* this one is variable size */ + 1, /* this one is variable size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -146,7 +146,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_JUMP_SLOT, /* type (5). */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -163,7 +163,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = /* Dynamic TLS relocations. */ LOONGARCH_HOWTO (R_LARCH_TLS_DTPMOD32, /* type (6). */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -179,7 +179,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_TLS_DTPMOD64, /* type (7). */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -195,7 +195,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_TLS_DTPREL32, /* type (8). */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -211,7 +211,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_TLS_DTPREL64, /* type (9). */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -227,7 +227,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_TLS_TPREL32, /* type (10). */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -243,7 +243,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_TLS_TPREL64, /* type (11). */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -259,7 +259,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_IRELATIVE, /* type (12). */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -283,7 +283,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_MARK_LA, /* type (20). */ 0, /* rightshift. */ - 3, /* size. */ + 0, /* size. */ 0, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -299,7 +299,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_MARK_PCREL, /* type (21). */ 0, /* rightshift. */ - 3, /* size. */ + 0, /* size. */ 0, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -315,7 +315,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SOP_PUSH_PCREL, /* type (22). */ 2, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 32, /* bitsize. */ true /* FIXME: somewhat use this. */, /* pc_relative. */ 0, /* bitpos. */ @@ -348,7 +348,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SOP_POP_32_S_10_5, /* type (38). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 5, /* bitsize. */ false, /* pc_relative. */ 10, /* bitpos. */ @@ -364,7 +364,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SOP_POP_32_U_10_12, /* type (39). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 12, /* bitsize. */ false, /* pc_relative. */ 10, /* bitpos. */ @@ -380,7 +380,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SOP_POP_32_S_10_12, /* type (40). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 12, /* bitsize. */ false, /* pc_relative. */ 10, /* bitpos. */ @@ -396,7 +396,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SOP_POP_32_S_10_16, /* type (41). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 10, /* bitpos. */ @@ -412,7 +412,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SOP_POP_32_S_10_16_S2, /* type (42). */ 2, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 10, /* bitpos. */ @@ -428,7 +428,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SOP_POP_32_S_5_20, /* type (43). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 20, /* bitsize. */ false, /* pc_relative. */ 5, /* bitpos. */ @@ -445,7 +445,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SOP_POP_32_S_0_5_10_16_S2, /* type (44). */ 2, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 21, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -462,7 +462,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SOP_POP_32_S_0_10_10_16_S2, /* type (45). */ 2, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 26, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -479,7 +479,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SOP_POP_32_U, /* type (46). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 32, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -495,7 +495,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_ADD8, /* type (47). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 8, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -511,7 +511,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_ADD16, /* type (48). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -527,7 +527,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_ADD24, /* type (49). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 24, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -543,7 +543,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_ADD32, /* type (50). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 32, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -559,7 +559,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_ADD64, /* type (51). */ 0, /* rightshift. */ - 4, /* size. */ + 8, /* size. */ 64, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -575,7 +575,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SUB8, /* type (52). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 8, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -591,7 +591,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SUB16, /* type (53). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 16, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -607,7 +607,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SUB24, /* type (54). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 24, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -623,7 +623,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SUB32, /* type (55). */ 0, /* rightshift. */ - 2, /* size. */ + 4, /* size. */ 32, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -639,7 +639,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_SUB64, /* type (56). */ 0, /* rightshift. */ - 4, /* size. */ + 8, /* size. */ 64, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -655,7 +655,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_GNU_VTINHERIT, /* type (57). */ 0, /* rightshift. */ - 0, /* size. */ + 1, /* size. */ 0, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ @@ -671,7 +671,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = LOONGARCH_HOWTO (R_LARCH_GNU_VTENTRY, /* type (58). */ 0, /* rightshift. */ - 0, /* size. */ + 1, /* size. */ 0, /* bitsize. */ false, /* pc_relative. */ 0, /* bitpos. */ diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 99c69c2..e0e2392 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -13361,7 +13361,7 @@ _bfd_elf_mips_get_relocated_section_contents { bfd_vma off; static reloc_howto_type none_howto - = HOWTO (0, 0, 3, 0, false, 0, complain_overflow_dont, NULL, + = HOWTO (0, 0, 0, 0, false, 0, complain_overflow_dont, NULL, "unused", false, 0, 0, false); off = ((*parent)->address diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index 92ad03f..9a365b6 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -46,7 +46,7 @@ static reloc_howto_type howto_table[] = /* No relocation. */ HOWTO (R_RISCV_NONE, /* type */ 0, /* rightshift */ - 3, /* size */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -61,7 +61,7 @@ static reloc_howto_type howto_table[] = /* 32 bit relocation. */ HOWTO (R_RISCV_32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -76,7 +76,7 @@ static reloc_howto_type howto_table[] = /* 64 bit relocation. */ HOWTO (R_RISCV_64, /* type */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -91,7 +91,7 @@ static reloc_howto_type howto_table[] = /* Relocation against a local symbol in a shared object. */ HOWTO (R_RISCV_RELATIVE, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -105,7 +105,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_RISCV_COPY, /* type */ 0, /* rightshift */ - 0, /* this one is variable size */ + 1, /* this one is variable size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -119,7 +119,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_RISCV_JUMP_SLOT, /* type */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -134,7 +134,7 @@ static reloc_howto_type howto_table[] = /* Dynamic TLS relocations. */ HOWTO (R_RISCV_TLS_DTPMOD32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -148,7 +148,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_RISCV_TLS_DTPMOD64, /* type */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -162,7 +162,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_RISCV_TLS_DTPREL32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -176,7 +176,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_RISCV_TLS_DTPREL64, /* type */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -190,7 +190,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_RISCV_TLS_TPREL32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -204,7 +204,7 @@ static reloc_howto_type howto_table[] = HOWTO (R_RISCV_TLS_TPREL64, /* type */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -225,7 +225,7 @@ static reloc_howto_type howto_table[] = /* 12-bit PC-relative branch offset. */ HOWTO (R_RISCV_BRANCH, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -240,7 +240,7 @@ static reloc_howto_type howto_table[] = /* 20-bit PC-relative jump offset. */ HOWTO (R_RISCV_JAL, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -255,7 +255,7 @@ static reloc_howto_type howto_table[] = /* 32-bit PC-relative function call (AUIPC/JALR). */ HOWTO (R_RISCV_CALL, /* type */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -271,7 +271,7 @@ static reloc_howto_type howto_table[] = /* Like R_RISCV_CALL, but not locally binding. */ HOWTO (R_RISCV_CALL_PLT, /* type */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -287,7 +287,7 @@ static reloc_howto_type howto_table[] = /* High 20 bits of 32-bit PC-relative GOT access. */ HOWTO (R_RISCV_GOT_HI20, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -302,7 +302,7 @@ static reloc_howto_type howto_table[] = /* High 20 bits of 32-bit PC-relative TLS IE GOT access. */ HOWTO (R_RISCV_TLS_GOT_HI20, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -317,7 +317,7 @@ static reloc_howto_type howto_table[] = /* High 20 bits of 32-bit PC-relative TLS GD GOT reference. */ HOWTO (R_RISCV_TLS_GD_HI20, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -332,7 +332,7 @@ static reloc_howto_type howto_table[] = /* High 20 bits of 32-bit PC-relative reference. */ HOWTO (R_RISCV_PCREL_HI20, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -347,7 +347,7 @@ static reloc_howto_type howto_table[] = /* Low 12 bits of a 32-bit PC-relative load or add. */ HOWTO (R_RISCV_PCREL_LO12_I, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -362,7 +362,7 @@ static reloc_howto_type howto_table[] = /* Low 12 bits of a 32-bit PC-relative store. */ HOWTO (R_RISCV_PCREL_LO12_S, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -377,7 +377,7 @@ static reloc_howto_type howto_table[] = /* High 20 bits of 32-bit absolute address. */ HOWTO (R_RISCV_HI20, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -392,7 +392,7 @@ static reloc_howto_type howto_table[] = /* High 12 bits of 32-bit load or add. */ HOWTO (R_RISCV_LO12_I, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -407,7 +407,7 @@ static reloc_howto_type howto_table[] = /* High 12 bits of 32-bit store. */ HOWTO (R_RISCV_LO12_S, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -422,7 +422,7 @@ static reloc_howto_type howto_table[] = /* High 20 bits of TLS LE thread pointer offset. */ HOWTO (R_RISCV_TPREL_HI20, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -437,7 +437,7 @@ static reloc_howto_type howto_table[] = /* Low 12 bits of TLS LE thread pointer offset for loads and adds. */ HOWTO (R_RISCV_TPREL_LO12_I, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -452,7 +452,7 @@ static reloc_howto_type howto_table[] = /* Low 12 bits of TLS LE thread pointer offset for stores. */ HOWTO (R_RISCV_TPREL_LO12_S, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -467,7 +467,7 @@ static reloc_howto_type howto_table[] = /* TLS LE thread pointer usage. May be relaxed. */ HOWTO (R_RISCV_TPREL_ADD, /* type */ 0, /* rightshift */ - 3, /* size */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -482,7 +482,7 @@ static reloc_howto_type howto_table[] = /* 8-bit in-place addition, for local label subtraction. */ HOWTO (R_RISCV_ADD8, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -497,7 +497,7 @@ static reloc_howto_type howto_table[] = /* 16-bit in-place addition, for local label subtraction. */ HOWTO (R_RISCV_ADD16, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -512,7 +512,7 @@ static reloc_howto_type howto_table[] = /* 32-bit in-place addition, for local label subtraction. */ HOWTO (R_RISCV_ADD32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -527,7 +527,7 @@ static reloc_howto_type howto_table[] = /* 64-bit in-place addition, for local label subtraction. */ HOWTO (R_RISCV_ADD64, /* type */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -542,7 +542,7 @@ static reloc_howto_type howto_table[] = /* 8-bit in-place addition, for local label subtraction. */ HOWTO (R_RISCV_SUB8, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -557,7 +557,7 @@ static reloc_howto_type howto_table[] = /* 16-bit in-place addition, for local label subtraction. */ HOWTO (R_RISCV_SUB16, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -572,7 +572,7 @@ static reloc_howto_type howto_table[] = /* 32-bit in-place addition, for local label subtraction. */ HOWTO (R_RISCV_SUB32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -587,7 +587,7 @@ static reloc_howto_type howto_table[] = /* 64-bit in-place addition, for local label subtraction. */ HOWTO (R_RISCV_SUB64, /* type */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -602,7 +602,7 @@ static reloc_howto_type howto_table[] = /* GNU extension to record C++ vtable hierarchy */ HOWTO (R_RISCV_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -617,7 +617,7 @@ static reloc_howto_type howto_table[] = /* GNU extension to record C++ vtable member usage */ HOWTO (R_RISCV_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 4, /* size */ + 8, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -634,7 +634,7 @@ static reloc_howto_type howto_table[] = addend rounded up to the next power of two. */ HOWTO (R_RISCV_ALIGN, /* type */ 0, /* rightshift */ - 3, /* size */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -649,7 +649,7 @@ static reloc_howto_type howto_table[] = /* 8-bit PC-relative branch offset. */ HOWTO (R_RISCV_RVC_BRANCH, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -664,7 +664,7 @@ static reloc_howto_type howto_table[] = /* 11-bit PC-relative jump offset. */ HOWTO (R_RISCV_RVC_JUMP, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -679,7 +679,7 @@ static reloc_howto_type howto_table[] = /* High 6 bits of 18-bit absolute address. */ HOWTO (R_RISCV_RVC_LUI, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -694,7 +694,7 @@ static reloc_howto_type howto_table[] = /* GP-relative load. */ HOWTO (R_RISCV_GPREL_I, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -709,7 +709,7 @@ static reloc_howto_type howto_table[] = /* GP-relative store. */ HOWTO (R_RISCV_GPREL_S, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -724,7 +724,7 @@ static reloc_howto_type howto_table[] = /* TP-relative TLS LE load. */ HOWTO (R_RISCV_TPREL_I, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -739,7 +739,7 @@ static reloc_howto_type howto_table[] = /* TP-relative TLS LE store. */ HOWTO (R_RISCV_TPREL_S, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -754,7 +754,7 @@ static reloc_howto_type howto_table[] = /* The paired relocation may be relaxed. */ HOWTO (R_RISCV_RELAX, /* type */ 0, /* rightshift */ - 3, /* size */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -769,7 +769,7 @@ static reloc_howto_type howto_table[] = /* 6-bit in-place addition, for local label subtraction. */ HOWTO (R_RISCV_SUB6, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -784,7 +784,7 @@ static reloc_howto_type howto_table[] = /* 6-bit in-place setting, for local label subtraction. */ HOWTO (R_RISCV_SET6, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -799,7 +799,7 @@ static reloc_howto_type howto_table[] = /* 8-bit in-place setting, for local label subtraction. */ HOWTO (R_RISCV_SET8, /* type */ 0, /* rightshift */ - 0, /* size */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -814,7 +814,7 @@ static reloc_howto_type howto_table[] = /* 16-bit in-place setting, for local label subtraction. */ HOWTO (R_RISCV_SET16, /* type */ 0, /* rightshift */ - 1, /* size */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -829,7 +829,7 @@ static reloc_howto_type howto_table[] = /* 32-bit in-place setting, for local label subtraction. */ HOWTO (R_RISCV_SET32, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -844,7 +844,7 @@ static reloc_howto_type howto_table[] = /* 32-bit PC relative. */ HOWTO (R_RISCV_32_PCREL, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -859,7 +859,7 @@ static reloc_howto_type howto_table[] = /* Relocation against a local ifunc symbol in a shared object. */ HOWTO (R_RISCV_IRELATIVE, /* type */ 0, /* rightshift */ - 2, /* size */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c index 514db1e..d1155a4 100644 --- a/bfd/elfxx-sparc.c +++ b/bfd/elfxx-sparc.c @@ -209,106 +209,106 @@ sparc_elf_lox10_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol, static reloc_howto_type _bfd_sparc_elf_howto_table[] = { - HOWTO(R_SPARC_NONE, 0,3, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_NONE", false,0,0x00000000,true), - HOWTO(R_SPARC_8, 0,0, 8,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_8", false,0,0x000000ff,true), - HOWTO(R_SPARC_16, 0,1,16,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_16", false,0,0x0000ffff,true), - HOWTO(R_SPARC_32, 0,2,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_32", false,0,0xffffffff,true), - HOWTO(R_SPARC_DISP8, 0,0, 8,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_DISP8", false,0,0x000000ff,true), - HOWTO(R_SPARC_DISP16, 0,1,16,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_DISP16", false,0,0x0000ffff,true), - HOWTO(R_SPARC_DISP32, 0,2,32,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_DISP32", false,0,0xffffffff,true), - HOWTO(R_SPARC_WDISP30, 2,2,30,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_WDISP30", false,0,0x3fffffff,true), - HOWTO(R_SPARC_WDISP22, 2,2,22,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_WDISP22", false,0,0x003fffff,true), - HOWTO(R_SPARC_HI22, 10,2,22,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_HI22", false,0,0x003fffff,true), - HOWTO(R_SPARC_22, 0,2,22,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_22", false,0,0x003fffff,true), - HOWTO(R_SPARC_13, 0,2,13,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_13", false,0,0x00001fff,true), - HOWTO(R_SPARC_LO10, 0,2,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_LO10", false,0,0x000003ff,true), - HOWTO(R_SPARC_GOT10, 0,2,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_GOT10", false,0,0x000003ff,true), - HOWTO(R_SPARC_GOT13, 0,2,13,false,0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_GOT13", false,0,0x00001fff,true), - HOWTO(R_SPARC_GOT22, 10,2,22,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_GOT22", false,0,0x003fffff,true), - HOWTO(R_SPARC_PC10, 0,2,10,true, 0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_PC10", false,0,0x000003ff,true), - HOWTO(R_SPARC_PC22, 10,2,22,true, 0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_PC22", false,0,0x003fffff,true), - HOWTO(R_SPARC_WPLT30, 2,2,30,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_WPLT30", false,0,0x3fffffff,true), - HOWTO(R_SPARC_COPY, 0,0,00,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_COPY", false,0,0x00000000,true), - HOWTO(R_SPARC_GLOB_DAT, 0,0,00,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_GLOB_DAT",false,0,0x00000000,true), - HOWTO(R_SPARC_JMP_SLOT, 0,0,00,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_JMP_SLOT",false,0,0x00000000,true), - HOWTO(R_SPARC_RELATIVE, 0,0,00,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_RELATIVE",false,0,0x00000000,true), - HOWTO(R_SPARC_UA32, 0,2,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_UA32", false,0,0xffffffff,true), - HOWTO(R_SPARC_PLT32, 0,2,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_PLT32", false,0,0xffffffff,true), - HOWTO(R_SPARC_HIPLT22, 0,0,00,false,0,complain_overflow_dont, sparc_elf_notsup_reloc, "R_SPARC_HIPLT22", false,0,0x00000000,true), - HOWTO(R_SPARC_LOPLT10, 0,0,00,false,0,complain_overflow_dont, sparc_elf_notsup_reloc, "R_SPARC_LOPLT10", false,0,0x00000000,true), - HOWTO(R_SPARC_PCPLT32, 0,0,00,false,0,complain_overflow_dont, sparc_elf_notsup_reloc, "R_SPARC_PCPLT32", false,0,0x00000000,true), - HOWTO(R_SPARC_PCPLT22, 0,0,00,false,0,complain_overflow_dont, sparc_elf_notsup_reloc, "R_SPARC_PCPLT22", false,0,0x00000000,true), - HOWTO(R_SPARC_PCPLT10, 0,0,00,false,0,complain_overflow_dont, sparc_elf_notsup_reloc, "R_SPARC_PCPLT10", false,0,0x00000000,true), - HOWTO(R_SPARC_10, 0,2,10,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_10", false,0,0x000003ff,true), - HOWTO(R_SPARC_11, 0,2,11,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_11", false,0,0x000007ff,true), - HOWTO(R_SPARC_64, 0,4,64,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_64", false,0,MINUS_ONE, true), - HOWTO(R_SPARC_OLO10, 0,2,13,false,0,complain_overflow_signed, sparc_elf_notsup_reloc, "R_SPARC_OLO10", false,0,0x00001fff,true), - HOWTO(R_SPARC_HH22, 42,2,22,false,0,complain_overflow_unsigned,bfd_elf_generic_reloc, "R_SPARC_HH22", false,0,0x003fffff,true), - HOWTO(R_SPARC_HM10, 32,2,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_HM10", false,0,0x000003ff,true), - HOWTO(R_SPARC_LM22, 10,2,22,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_LM22", false,0,0x003fffff,true), - HOWTO(R_SPARC_PC_HH22, 42,2,22,true, 0,complain_overflow_unsigned,bfd_elf_generic_reloc, "R_SPARC_PC_HH22", false,0,0x003fffff,true), - HOWTO(R_SPARC_PC_HM10, 32,2,10,true, 0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_PC_HM10", false,0,0x000003ff,true), - HOWTO(R_SPARC_PC_LM22, 10,2,22,true, 0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_PC_LM22", false,0,0x003fffff,true), - HOWTO(R_SPARC_WDISP16, 2,2,16,true, 0,complain_overflow_signed, sparc_elf_wdisp16_reloc,"R_SPARC_WDISP16", false,0,0x00000000,true), - HOWTO(R_SPARC_WDISP19, 2,2,19,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_WDISP19", false,0,0x0007ffff,true), - HOWTO(R_SPARC_UNUSED_42, 0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_UNUSED_42",false,0,0x00000000,true), - HOWTO(R_SPARC_7, 0,2, 7,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_7", false,0,0x0000007f,true), - HOWTO(R_SPARC_5, 0,2, 5,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_5", false,0,0x0000001f,true), - HOWTO(R_SPARC_6, 0,2, 6,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_6", false,0,0x0000003f,true), - HOWTO(R_SPARC_DISP64, 0,4,64,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_DISP64", false,0,MINUS_ONE, true), - HOWTO(R_SPARC_PLT64, 0,4,64,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_PLT64", false,0,MINUS_ONE, true), - HOWTO(R_SPARC_HIX22, 0,4, 0,false,0,complain_overflow_bitfield,sparc_elf_hix22_reloc, "R_SPARC_HIX22", false,0,MINUS_ONE, false), - HOWTO(R_SPARC_LOX10, 0,4, 0,false,0,complain_overflow_dont, sparc_elf_lox10_reloc, "R_SPARC_LOX10", false,0,MINUS_ONE, false), - HOWTO(R_SPARC_H44, 22,2,22,false,0,complain_overflow_unsigned,bfd_elf_generic_reloc, "R_SPARC_H44", false,0,0x003fffff,false), - HOWTO(R_SPARC_M44, 12,2,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_M44", false,0,0x000003ff,false), - HOWTO(R_SPARC_L44, 0,2,13,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_L44", false,0,0x00000fff,false), - HOWTO(R_SPARC_REGISTER, 0,4, 0,false,0,complain_overflow_bitfield,sparc_elf_notsup_reloc, "R_SPARC_REGISTER",false,0,MINUS_ONE, false), - HOWTO(R_SPARC_UA64, 0,4,64,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_UA64", false,0,MINUS_ONE, true), - HOWTO(R_SPARC_UA16, 0,1,16,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_UA16", false,0,0x0000ffff,true), - HOWTO(R_SPARC_TLS_GD_HI22,10,2,22,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_GD_HI22",false,0,0x003fffff,true), - HOWTO(R_SPARC_TLS_GD_LO10,0,2,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_GD_LO10",false,0,0x000003ff,true), - HOWTO(R_SPARC_TLS_GD_ADD,0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_GD_ADD",false,0,0x00000000,true), - HOWTO(R_SPARC_TLS_GD_CALL,2,2,30,true,0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_TLS_GD_CALL",false,0,0x3fffffff,true), - HOWTO(R_SPARC_TLS_LDM_HI22,10,2,22,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_LDM_HI22",false,0,0x003fffff,true), - HOWTO(R_SPARC_TLS_LDM_LO10,0,2,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_LDM_LO10",false,0,0x000003ff,true), - HOWTO(R_SPARC_TLS_LDM_ADD,0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_LDM_ADD",false,0,0x00000000,true), - HOWTO(R_SPARC_TLS_LDM_CALL,2,2,30,true,0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_TLS_LDM_CALL",false,0,0x3fffffff,true), - HOWTO(R_SPARC_TLS_LDO_HIX22,0,2,0,false,0,complain_overflow_bitfield,sparc_elf_hix22_reloc,"R_SPARC_TLS_LDO_HIX22",false,0,0x003fffff, false), - HOWTO(R_SPARC_TLS_LDO_LOX10,0,2,0,false,0,complain_overflow_dont, sparc_elf_lox10_reloc, "R_SPARC_TLS_LDO_LOX10",false,0,0x000003ff, false), - HOWTO(R_SPARC_TLS_LDO_ADD,0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_LDO_ADD",false,0,0x00000000,true), - HOWTO(R_SPARC_TLS_IE_HI22,10,2,22,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_IE_HI22",false,0,0x003fffff,true), - HOWTO(R_SPARC_TLS_IE_LO10,0,2,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_IE_LO10",false,0,0x000003ff,true), - HOWTO(R_SPARC_TLS_IE_LD,0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_IE_LD",false,0,0x00000000,true), - HOWTO(R_SPARC_TLS_IE_LDX,0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_IE_LDX",false,0,0x00000000,true), - HOWTO(R_SPARC_TLS_IE_ADD,0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_IE_ADD",false,0,0x00000000,true), - HOWTO(R_SPARC_TLS_LE_HIX22,0,2,0,false,0,complain_overflow_bitfield,sparc_elf_hix22_reloc, "R_SPARC_TLS_LE_HIX22",false,0,0x003fffff, false), - HOWTO(R_SPARC_TLS_LE_LOX10,0,2,0,false,0,complain_overflow_dont, sparc_elf_lox10_reloc, "R_SPARC_TLS_LE_LOX10",false,0,0x000003ff, false), - HOWTO(R_SPARC_TLS_DTPMOD32,0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_DTPMOD32",false,0,0x00000000,true), - HOWTO(R_SPARC_TLS_DTPMOD64,0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_DTPMOD64",false,0,0x00000000,true), - HOWTO(R_SPARC_TLS_DTPOFF32,0,2,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc,"R_SPARC_TLS_DTPOFF32",false,0,0xffffffff,true), - HOWTO(R_SPARC_TLS_DTPOFF64,0,4,64,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc,"R_SPARC_TLS_DTPOFF64",false,0,MINUS_ONE,true), - HOWTO(R_SPARC_TLS_TPOFF32,0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_TPOFF32",false,0,0x00000000,true), - HOWTO(R_SPARC_TLS_TPOFF64,0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_TPOFF64",false,0,0x00000000,true), - HOWTO(R_SPARC_GOTDATA_HIX22,0,2,0,false,0,complain_overflow_bitfield,sparc_elf_hix22_reloc,"R_SPARC_GOTDATA_HIX22",false,0,0x003fffff, false), - HOWTO(R_SPARC_GOTDATA_LOX10,0,2,0,false,0,complain_overflow_dont, sparc_elf_lox10_reloc, "R_SPARC_GOTDATA_LOX10",false,0,0x000003ff, false), - HOWTO(R_SPARC_GOTDATA_OP_HIX22,0,2,0,false,0,complain_overflow_bitfield,sparc_elf_hix22_reloc,"R_SPARC_GOTDATA_OP_HIX22",false,0,0x003fffff, false), - HOWTO(R_SPARC_GOTDATA_OP_LOX10,0,2,0,false,0,complain_overflow_dont, sparc_elf_lox10_reloc, "R_SPARC_GOTDATA_OP_LOX10",false,0,0x000003ff, false), - HOWTO(R_SPARC_GOTDATA_OP,0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_GOTDATA_OP",false,0,0x00000000,true), - HOWTO(R_SPARC_H34,12,2,22,false,0,complain_overflow_unsigned,bfd_elf_generic_reloc,"R_SPARC_H34",false,0,0x003fffff,false), - HOWTO(R_SPARC_SIZE32,0,2,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc,"R_SPARC_SIZE32",false,0,0xffffffff,true), - HOWTO(R_SPARC_SIZE64,0,4,64,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc,"R_SPARC_SIZE64",false,0,MINUS_ONE, true), - HOWTO(R_SPARC_WDISP10,2,2,10,true, 0,complain_overflow_signed,sparc_elf_wdisp10_reloc,"R_SPARC_WDISP10",false,0,0x00000000,true), + HOWTO(R_SPARC_NONE, 0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_NONE", false,0,0x00000000,true), + HOWTO(R_SPARC_8, 0,1, 8,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_8", false,0,0x000000ff,true), + HOWTO(R_SPARC_16, 0,2,16,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_16", false,0,0x0000ffff,true), + HOWTO(R_SPARC_32, 0,4,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_32", false,0,0xffffffff,true), + HOWTO(R_SPARC_DISP8, 0,1, 8,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_DISP8", false,0,0x000000ff,true), + HOWTO(R_SPARC_DISP16, 0,2,16,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_DISP16", false,0,0x0000ffff,true), + HOWTO(R_SPARC_DISP32, 0,4,32,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_DISP32", false,0,0xffffffff,true), + HOWTO(R_SPARC_WDISP30, 2,4,30,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_WDISP30", false,0,0x3fffffff,true), + HOWTO(R_SPARC_WDISP22, 2,4,22,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_WDISP22", false,0,0x003fffff,true), + HOWTO(R_SPARC_HI22, 10,4,22,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_HI22", false,0,0x003fffff,true), + HOWTO(R_SPARC_22, 0,4,22,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_22", false,0,0x003fffff,true), + HOWTO(R_SPARC_13, 0,4,13,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_13", false,0,0x00001fff,true), + HOWTO(R_SPARC_LO10, 0,4,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_LO10", false,0,0x000003ff,true), + HOWTO(R_SPARC_GOT10, 0,4,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_GOT10", false,0,0x000003ff,true), + HOWTO(R_SPARC_GOT13, 0,4,13,false,0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_GOT13", false,0,0x00001fff,true), + HOWTO(R_SPARC_GOT22, 10,4,22,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_GOT22", false,0,0x003fffff,true), + HOWTO(R_SPARC_PC10, 0,4,10,true, 0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_PC10", false,0,0x000003ff,true), + HOWTO(R_SPARC_PC22, 10,4,22,true, 0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_PC22", false,0,0x003fffff,true), + HOWTO(R_SPARC_WPLT30, 2,4,30,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_WPLT30", false,0,0x3fffffff,true), + HOWTO(R_SPARC_COPY, 0,1,00,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_COPY", false,0,0x00000000,true), + HOWTO(R_SPARC_GLOB_DAT, 0,1,00,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_GLOB_DAT",false,0,0x00000000,true), + HOWTO(R_SPARC_JMP_SLOT, 0,1,00,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_JMP_SLOT",false,0,0x00000000,true), + HOWTO(R_SPARC_RELATIVE, 0,1,00,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_RELATIVE",false,0,0x00000000,true), + HOWTO(R_SPARC_UA32, 0,4,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_UA32", false,0,0xffffffff,true), + HOWTO(R_SPARC_PLT32, 0,4,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_PLT32", false,0,0xffffffff,true), + HOWTO(R_SPARC_HIPLT22, 0,1,00,false,0,complain_overflow_dont, sparc_elf_notsup_reloc, "R_SPARC_HIPLT22", false,0,0x00000000,true), + HOWTO(R_SPARC_LOPLT10, 0,1,00,false,0,complain_overflow_dont, sparc_elf_notsup_reloc, "R_SPARC_LOPLT10", false,0,0x00000000,true), + HOWTO(R_SPARC_PCPLT32, 0,1,00,false,0,complain_overflow_dont, sparc_elf_notsup_reloc, "R_SPARC_PCPLT32", false,0,0x00000000,true), + HOWTO(R_SPARC_PCPLT22, 0,1,00,false,0,complain_overflow_dont, sparc_elf_notsup_reloc, "R_SPARC_PCPLT22", false,0,0x00000000,true), + HOWTO(R_SPARC_PCPLT10, 0,1,00,false,0,complain_overflow_dont, sparc_elf_notsup_reloc, "R_SPARC_PCPLT10", false,0,0x00000000,true), + HOWTO(R_SPARC_10, 0,4,10,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_10", false,0,0x000003ff,true), + HOWTO(R_SPARC_11, 0,4,11,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_11", false,0,0x000007ff,true), + HOWTO(R_SPARC_64, 0,8,64,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_64", false,0,MINUS_ONE, true), + HOWTO(R_SPARC_OLO10, 0,4,13,false,0,complain_overflow_signed, sparc_elf_notsup_reloc, "R_SPARC_OLO10", false,0,0x00001fff,true), + HOWTO(R_SPARC_HH22, 42,4,22,false,0,complain_overflow_unsigned,bfd_elf_generic_reloc, "R_SPARC_HH22", false,0,0x003fffff,true), + HOWTO(R_SPARC_HM10, 32,4,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_HM10", false,0,0x000003ff,true), + HOWTO(R_SPARC_LM22, 10,4,22,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_LM22", false,0,0x003fffff,true), + HOWTO(R_SPARC_PC_HH22, 42,4,22,true, 0,complain_overflow_unsigned,bfd_elf_generic_reloc, "R_SPARC_PC_HH22", false,0,0x003fffff,true), + HOWTO(R_SPARC_PC_HM10, 32,4,10,true, 0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_PC_HM10", false,0,0x000003ff,true), + HOWTO(R_SPARC_PC_LM22, 10,4,22,true, 0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_PC_LM22", false,0,0x003fffff,true), + HOWTO(R_SPARC_WDISP16, 2,4,16,true, 0,complain_overflow_signed, sparc_elf_wdisp16_reloc,"R_SPARC_WDISP16", false,0,0x00000000,true), + HOWTO(R_SPARC_WDISP19, 2,4,19,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_WDISP19", false,0,0x0007ffff,true), + HOWTO(R_SPARC_UNUSED_42, 0,1, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_UNUSED_42",false,0,0x00000000,true), + HOWTO(R_SPARC_7, 0,4, 7,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_7", false,0,0x0000007f,true), + HOWTO(R_SPARC_5, 0,4, 5,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_5", false,0,0x0000001f,true), + HOWTO(R_SPARC_6, 0,4, 6,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_6", false,0,0x0000003f,true), + HOWTO(R_SPARC_DISP64, 0,8,64,true, 0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_DISP64", false,0,MINUS_ONE, true), + HOWTO(R_SPARC_PLT64, 0,8,64,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_PLT64", false,0,MINUS_ONE, true), + HOWTO(R_SPARC_HIX22, 0,8, 0,false,0,complain_overflow_bitfield,sparc_elf_hix22_reloc, "R_SPARC_HIX22", false,0,MINUS_ONE, false), + HOWTO(R_SPARC_LOX10, 0,8, 0,false,0,complain_overflow_dont, sparc_elf_lox10_reloc, "R_SPARC_LOX10", false,0,MINUS_ONE, false), + HOWTO(R_SPARC_H44, 22,4,22,false,0,complain_overflow_unsigned,bfd_elf_generic_reloc, "R_SPARC_H44", false,0,0x003fffff,false), + HOWTO(R_SPARC_M44, 12,4,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_M44", false,0,0x000003ff,false), + HOWTO(R_SPARC_L44, 0,4,13,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_L44", false,0,0x00000fff,false), + HOWTO(R_SPARC_REGISTER, 0,8, 0,false,0,complain_overflow_bitfield,sparc_elf_notsup_reloc, "R_SPARC_REGISTER",false,0,MINUS_ONE, false), + HOWTO(R_SPARC_UA64, 0,8,64,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_UA64", false,0,MINUS_ONE, true), + HOWTO(R_SPARC_UA16, 0,2,16,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_UA16", false,0,0x0000ffff,true), + HOWTO(R_SPARC_TLS_GD_HI22,10,4,22,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_GD_HI22",false,0,0x003fffff,true), + HOWTO(R_SPARC_TLS_GD_LO10,0,4,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_GD_LO10",false,0,0x000003ff,true), + HOWTO(R_SPARC_TLS_GD_ADD,0,1, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_GD_ADD",false,0,0x00000000,true), + HOWTO(R_SPARC_TLS_GD_CALL,2,4,30,true,0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_TLS_GD_CALL",false,0,0x3fffffff,true), + HOWTO(R_SPARC_TLS_LDM_HI22,10,4,22,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_LDM_HI22",false,0,0x003fffff,true), + HOWTO(R_SPARC_TLS_LDM_LO10,0,4,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_LDM_LO10",false,0,0x000003ff,true), + HOWTO(R_SPARC_TLS_LDM_ADD,0,1, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_LDM_ADD",false,0,0x00000000,true), + HOWTO(R_SPARC_TLS_LDM_CALL,2,4,30,true,0,complain_overflow_signed, bfd_elf_generic_reloc, "R_SPARC_TLS_LDM_CALL",false,0,0x3fffffff,true), + HOWTO(R_SPARC_TLS_LDO_HIX22,0,4,0,false,0,complain_overflow_bitfield,sparc_elf_hix22_reloc,"R_SPARC_TLS_LDO_HIX22",false,0,0x003fffff, false), + HOWTO(R_SPARC_TLS_LDO_LOX10,0,4,0,false,0,complain_overflow_dont, sparc_elf_lox10_reloc, "R_SPARC_TLS_LDO_LOX10",false,0,0x000003ff, false), + HOWTO(R_SPARC_TLS_LDO_ADD,0,1, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_LDO_ADD",false,0,0x00000000,true), + HOWTO(R_SPARC_TLS_IE_HI22,10,4,22,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_IE_HI22",false,0,0x003fffff,true), + HOWTO(R_SPARC_TLS_IE_LO10,0,4,10,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_IE_LO10",false,0,0x000003ff,true), + HOWTO(R_SPARC_TLS_IE_LD,0,1, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_IE_LD",false,0,0x00000000,true), + HOWTO(R_SPARC_TLS_IE_LDX,0,1, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_IE_LDX",false,0,0x00000000,true), + HOWTO(R_SPARC_TLS_IE_ADD,0,1, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_IE_ADD",false,0,0x00000000,true), + HOWTO(R_SPARC_TLS_LE_HIX22,0,4,0,false,0,complain_overflow_bitfield,sparc_elf_hix22_reloc, "R_SPARC_TLS_LE_HIX22",false,0,0x003fffff, false), + HOWTO(R_SPARC_TLS_LE_LOX10,0,4,0,false,0,complain_overflow_dont, sparc_elf_lox10_reloc, "R_SPARC_TLS_LE_LOX10",false,0,0x000003ff, false), + HOWTO(R_SPARC_TLS_DTPMOD32,0,1, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_DTPMOD32",false,0,0x00000000,true), + HOWTO(R_SPARC_TLS_DTPMOD64,0,1, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_DTPMOD64",false,0,0x00000000,true), + HOWTO(R_SPARC_TLS_DTPOFF32,0,4,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc,"R_SPARC_TLS_DTPOFF32",false,0,0xffffffff,true), + HOWTO(R_SPARC_TLS_DTPOFF64,0,8,64,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc,"R_SPARC_TLS_DTPOFF64",false,0,MINUS_ONE,true), + HOWTO(R_SPARC_TLS_TPOFF32,0,1, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_TPOFF32",false,0,0x00000000,true), + HOWTO(R_SPARC_TLS_TPOFF64,0,1, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_TLS_TPOFF64",false,0,0x00000000,true), + HOWTO(R_SPARC_GOTDATA_HIX22,0,4,0,false,0,complain_overflow_bitfield,sparc_elf_hix22_reloc,"R_SPARC_GOTDATA_HIX22",false,0,0x003fffff, false), + HOWTO(R_SPARC_GOTDATA_LOX10,0,4,0,false,0,complain_overflow_dont, sparc_elf_lox10_reloc, "R_SPARC_GOTDATA_LOX10",false,0,0x000003ff, false), + HOWTO(R_SPARC_GOTDATA_OP_HIX22,0,4,0,false,0,complain_overflow_bitfield,sparc_elf_hix22_reloc,"R_SPARC_GOTDATA_OP_HIX22",false,0,0x003fffff, false), + HOWTO(R_SPARC_GOTDATA_OP_LOX10,0,4,0,false,0,complain_overflow_dont, sparc_elf_lox10_reloc, "R_SPARC_GOTDATA_OP_LOX10",false,0,0x000003ff, false), + HOWTO(R_SPARC_GOTDATA_OP,0,1, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_GOTDATA_OP",false,0,0x00000000,true), + HOWTO(R_SPARC_H34,12,4,22,false,0,complain_overflow_unsigned,bfd_elf_generic_reloc,"R_SPARC_H34",false,0,0x003fffff,false), + HOWTO(R_SPARC_SIZE32,0,4,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc,"R_SPARC_SIZE32",false,0,0xffffffff,true), + HOWTO(R_SPARC_SIZE64,0,8,64,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc,"R_SPARC_SIZE64",false,0,MINUS_ONE, true), + HOWTO(R_SPARC_WDISP10,2,4,10,true, 0,complain_overflow_signed,sparc_elf_wdisp10_reloc,"R_SPARC_WDISP10",false,0,0x00000000,true), }; static reloc_howto_type sparc_jmp_irel_howto = - HOWTO(R_SPARC_JMP_IREL, 0,0,00,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_JMP_IREL",false,0,0x00000000,true); + HOWTO(R_SPARC_JMP_IREL, 0,1,00,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_JMP_IREL",false,0,0x00000000,true); static reloc_howto_type sparc_irelative_howto = - HOWTO(R_SPARC_IRELATIVE, 0,0,00,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_IRELATIVE",false,0,0x00000000,true); + HOWTO(R_SPARC_IRELATIVE, 0,1,00,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_IRELATIVE",false,0,0x00000000,true); static reloc_howto_type sparc_vtinherit_howto = - HOWTO (R_SPARC_GNU_VTINHERIT, 0,2,0,false,0,complain_overflow_dont, NULL, "R_SPARC_GNU_VTINHERIT", false,0, 0, false); + HOWTO (R_SPARC_GNU_VTINHERIT, 0,4,0,false,0,complain_overflow_dont, NULL, "R_SPARC_GNU_VTINHERIT", false,0, 0, false); static reloc_howto_type sparc_vtentry_howto = - HOWTO (R_SPARC_GNU_VTENTRY, 0,2,0,false,0,complain_overflow_dont, _bfd_elf_rel_vtable_reloc_fn,"R_SPARC_GNU_VTENTRY", false,0,0, false); + HOWTO (R_SPARC_GNU_VTENTRY, 0,4,0,false,0,complain_overflow_dont, _bfd_elf_rel_vtable_reloc_fn,"R_SPARC_GNU_VTENTRY", false,0,0, false); static reloc_howto_type sparc_rev32_howto = - HOWTO(R_SPARC_REV32, 0,2,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_REV32", false,0,0xffffffff,true); + HOWTO(R_SPARC_REV32, 0,4,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_REV32", false,0,0xffffffff,true); reloc_howto_type * _bfd_sparc_elf_reloc_type_lookup (bfd *abfd, diff --git a/bfd/elfxx-tilegx.c b/bfd/elfxx-tilegx.c index c190eb9..c8bccd1 100644 --- a/bfd/elfxx-tilegx.c +++ b/bfd/elfxx-tilegx.c @@ -72,7 +72,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* This reloc does nothing. */ HOWTO (R_TILEGX_NONE, /* type */ 0, /* rightshift */ - 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -87,7 +87,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* A 64 bit absolute relocation. */ HOWTO (R_TILEGX_64, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -102,7 +102,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* A 32 bit absolute relocation. */ HOWTO (R_TILEGX_32, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -117,7 +117,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* A 16 bit absolute relocation. */ HOWTO (R_TILEGX_16, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -132,7 +132,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* An 8 bit absolute relocation. */ HOWTO (R_TILEGX_8, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -147,7 +147,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* A 64 bit pc-relative relocation. */ HOWTO (R_TILEGX_64_PCREL,/* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 64, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -162,7 +162,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* A 32 bit pc-relative relocation. */ HOWTO (R_TILEGX_32_PCREL,/* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 32, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -177,7 +177,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* A 16 bit pc-relative relocation. */ HOWTO (R_TILEGX_16_PCREL,/* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -192,7 +192,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* An 8 bit pc-relative relocation. */ HOWTO (R_TILEGX_8_PCREL, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 8, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -207,7 +207,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* A 16 bit relocation without overflow. */ HOWTO (R_TILEGX_HW0, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -222,7 +222,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* A 16 bit relocation without overflow. */ HOWTO (R_TILEGX_HW1, /* type */ 16, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -237,7 +237,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* A 16 bit relocation without overflow. */ HOWTO (R_TILEGX_HW2, /* type */ 32, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -252,7 +252,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* A 16 bit relocation without overflow. */ HOWTO (R_TILEGX_HW3, /* type */ 48, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -267,7 +267,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* A 16 bit relocation with overflow. */ HOWTO (R_TILEGX_HW0_LAST, /* type */ 0, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -282,7 +282,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* A 16 bit relocation with overflow. */ HOWTO (R_TILEGX_HW1_LAST, /* type */ 16, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -297,7 +297,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* A 16 bit relocation with overflow. */ HOWTO (R_TILEGX_HW2_LAST, /* type */ 32, /* rightshift */ - 1, /* size (0 = byte, 1 = short, 2 = long) */ + 2, /* size */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -311,7 +311,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = HOWTO (R_TILEGX_COPY, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -325,7 +325,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = HOWTO (R_TILEGX_GLOB_DAT, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -339,7 +339,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = HOWTO (R_TILEGX_JMP_SLOT, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -353,7 +353,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = HOWTO (R_TILEGX_RELATIVE, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -367,7 +367,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = HOWTO (R_TILEGX_BROFF_X1, /* type */ TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 17, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -381,7 +381,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = HOWTO (R_TILEGX_JUMPOFF_X1, /* type */ TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 27, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -395,7 +395,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = HOWTO (R_TILEGX_JUMPOFF_X1_PLT, /* type */ TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 27, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -417,25 +417,25 @@ static reloc_howto_type tilegx_elf_howto_table [] = complain_overflow_unsigned, bfd_elf_generic_reloc, \ #name, false, 0, -1, false) - TILEGX_IMM_HOWTO(R_TILEGX_IMM8_X0, 0, 8), - TILEGX_IMM_HOWTO(R_TILEGX_IMM8_Y0, 0, 8), - TILEGX_IMM_HOWTO(R_TILEGX_IMM8_X1, 0, 8), - TILEGX_IMM_HOWTO(R_TILEGX_IMM8_Y1, 0, 8), - TILEGX_IMM_HOWTO(R_TILEGX_DEST_IMM8_X1, 0, 8), + TILEGX_IMM_HOWTO(R_TILEGX_IMM8_X0, 1, 8), + TILEGX_IMM_HOWTO(R_TILEGX_IMM8_Y0, 1, 8), + TILEGX_IMM_HOWTO(R_TILEGX_IMM8_X1, 1, 8), + TILEGX_IMM_HOWTO(R_TILEGX_IMM8_Y1, 1, 8), + TILEGX_IMM_HOWTO(R_TILEGX_DEST_IMM8_X1, 1, 8), - TILEGX_UIMM_HOWTO(R_TILEGX_MT_IMM14_X1, 1, 14), - TILEGX_UIMM_HOWTO(R_TILEGX_MF_IMM14_X1, 1, 14), + TILEGX_UIMM_HOWTO(R_TILEGX_MT_IMM14_X1, 2, 14), + TILEGX_UIMM_HOWTO(R_TILEGX_MF_IMM14_X1, 2, 14), - TILEGX_UIMM_HOWTO(R_TILEGX_MMSTART_X0, 0, 6), - TILEGX_UIMM_HOWTO(R_TILEGX_MMEND_X0, 0, 6), + TILEGX_UIMM_HOWTO(R_TILEGX_MMSTART_X0, 1, 6), + TILEGX_UIMM_HOWTO(R_TILEGX_MMEND_X0, 1, 6), - TILEGX_UIMM_HOWTO(R_TILEGX_SHAMT_X0, 0, 6), - TILEGX_UIMM_HOWTO(R_TILEGX_SHAMT_X1, 0, 6), - TILEGX_UIMM_HOWTO(R_TILEGX_SHAMT_Y0, 0, 6), - TILEGX_UIMM_HOWTO(R_TILEGX_SHAMT_Y1, 0, 6), + TILEGX_UIMM_HOWTO(R_TILEGX_SHAMT_X0, 1, 6), + TILEGX_UIMM_HOWTO(R_TILEGX_SHAMT_X1, 1, 6), + TILEGX_UIMM_HOWTO(R_TILEGX_SHAMT_Y0, 1, 6), + TILEGX_UIMM_HOWTO(R_TILEGX_SHAMT_Y1, 1, 6), #define TILEGX_IMM16_HOWTO(name, rshift) \ - HOWTO (name, rshift, 1, 16, false, 0, \ + HOWTO (name, rshift, 2, 16, false, 0, \ complain_overflow_dont, bfd_elf_generic_reloc, \ #name, false, 0, 0xffff, false) @@ -449,7 +449,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = TILEGX_IMM16_HOWTO (R_TILEGX_IMM16_X1_HW3, 48), #define TILEGX_IMM16_HOWTO_LAST(name, rshift) \ - HOWTO (name, rshift, 1, 16, false, 0, \ + HOWTO (name, rshift, 2, 16, false, 0, \ complain_overflow_signed, bfd_elf_generic_reloc, \ #name, false, 0, 0xffff, false) @@ -463,7 +463,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = /* PC-relative offsets. */ #define TILEGX_IMM16_HOWTO_PCREL(name, rshift) \ - HOWTO (name, rshift, 1, 16, true, 0, \ + HOWTO (name, rshift, 2, 16, true, 0, \ complain_overflow_dont, bfd_elf_generic_reloc, \ #name, false, 0, 0xffff, true) @@ -477,7 +477,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = TILEGX_IMM16_HOWTO_PCREL (R_TILEGX_IMM16_X1_HW3_PCREL, 48), #define TILEGX_IMM16_HOWTO_LAST_PCREL(name, rshift) \ - HOWTO (name, rshift, 1, 16, true, 0, \ + HOWTO (name, rshift, 2, 16, true, 0, \ complain_overflow_signed, bfd_elf_generic_reloc, \ #name, false, 0, 0xffff, true) @@ -524,7 +524,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = EMPTY_HOWTO (91), #define TILEGX_IMM16_HOWTO_TLS_IE(name, rshift) \ - HOWTO (name, rshift, 1, 16, false, 0, \ + HOWTO (name, rshift, 2, 16, false, 0, \ complain_overflow_dont, bfd_elf_generic_reloc, \ #name, false, 0, 0xffff, true) @@ -539,7 +539,7 @@ static reloc_howto_type tilegx_elf_howto_table [] = TILEGX_IMM16_HOWTO_LAST_PCREL (R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL, 32), #define TILEGX_IMM16_HOWTO_LAST_TLS_IE(name, rshift) \ - HOWTO (name, rshift, 1, 16, false, 0, \ + HOWTO (name, rshift, 2, 16, false, 0, \ complain_overflow_signed, bfd_elf_generic_reloc, \ #name, false, 0, 0xffff, true) @@ -550,29 +550,29 @@ static reloc_howto_type tilegx_elf_howto_table [] = EMPTY_HOWTO (104), EMPTY_HOWTO (105), - HOWTO(R_TILEGX_TLS_DTPMOD64, 0, 0, 0, false, 0, complain_overflow_dont, + HOWTO(R_TILEGX_TLS_DTPMOD64, 0, 1, 0, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_TILEGX_TLS_DTPMOD64", false, 0, 0, true), - HOWTO(R_TILEGX_TLS_DTPOFF64, 0, 4, 64, false, 0, complain_overflow_bitfield, + HOWTO(R_TILEGX_TLS_DTPOFF64, 0, 8, 64, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_TILEGX_TLS_DTPOFF64", false, 0, -1, true), - HOWTO(R_TILEGX_TLS_TPOFF64, 0, 0, 0, false, 0, complain_overflow_dont, + HOWTO(R_TILEGX_TLS_TPOFF64, 0, 1, 0, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_TILEGX_TLS_TPOFF64", false, 0, 0, true), - HOWTO(R_TILEGX_TLS_DTPMOD32, 0, 0, 0, false, 0, complain_overflow_dont, + HOWTO(R_TILEGX_TLS_DTPMOD32, 0, 1, 0, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_TILEGX_TLS_DTPMOD32", false, 0, 0, true), - HOWTO(R_TILEGX_TLS_DTPOFF32, 0, 4, 32, false, 0, complain_overflow_bitfield, + HOWTO(R_TILEGX_TLS_DTPOFF32, 0, 8, 32, false, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_TILEGX_TLS_DTPOFF32", false, 0, -1, true), - HOWTO(R_TILEGX_TLS_TPOFF32, 0, 0, 0, false, 0, complain_overflow_dont, + HOWTO(R_TILEGX_TLS_TPOFF32, 0, 1, 0, false, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_TILEGX_TLS_TPOFF32", false, 0, 0, true), HOWTO (R_TILEGX_TLS_GD_CALL, /* type */ TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 4, /* size */ 27, /* bitsize */ true, /* pc_relative */ 0, /* bitpos */ @@ -584,15 +584,15 @@ static reloc_howto_type tilegx_elf_howto_table [] = -1, /* dst_mask */ true), /* pcrel_offset */ - TILEGX_IMM_HOWTO(R_TILEGX_IMM8_X0_TLS_GD_ADD, 0, 8), - TILEGX_IMM_HOWTO(R_TILEGX_IMM8_X1_TLS_GD_ADD, 0, 8), - TILEGX_IMM_HOWTO(R_TILEGX_IMM8_Y0_TLS_GD_ADD, 0, 8), - TILEGX_IMM_HOWTO(R_TILEGX_IMM8_Y1_TLS_GD_ADD, 0, 8), - TILEGX_IMM_HOWTO(R_TILEGX_TLS_IE_LOAD, 0, 8), - TILEGX_IMM_HOWTO(R_TILEGX_IMM8_X0_TLS_ADD, 0, 8), - TILEGX_IMM_HOWTO(R_TILEGX_IMM8_X1_TLS_ADD, 0, 8), - TILEGX_IMM_HOWTO(R_TILEGX_IMM8_Y0_TLS_ADD, 0, 8), - TILEGX_IMM_HOWTO(R_TILEGX_IMM8_Y1_TLS_ADD, 0, 8), + TILEGX_IMM_HOWTO(R_TILEGX_IMM8_X0_TLS_GD_ADD, 1, 8), + TILEGX_IMM_HOWTO(R_TILEGX_IMM8_X1_TLS_GD_ADD, 1, 8), + TILEGX_IMM_HOWTO(R_TILEGX_IMM8_Y0_TLS_GD_ADD, 1, 8), + TILEGX_IMM_HOWTO(R_TILEGX_IMM8_Y1_TLS_GD_ADD, 1, 8), + TILEGX_IMM_HOWTO(R_TILEGX_TLS_IE_LOAD, 1, 8), + TILEGX_IMM_HOWTO(R_TILEGX_IMM8_X0_TLS_ADD, 1, 8), + TILEGX_IMM_HOWTO(R_TILEGX_IMM8_X1_TLS_ADD, 1, 8), + TILEGX_IMM_HOWTO(R_TILEGX_IMM8_Y0_TLS_ADD, 1, 8), + TILEGX_IMM_HOWTO(R_TILEGX_IMM8_Y1_TLS_ADD, 1, 8), }; static reloc_howto_type tilegx_elf_howto_table2 [] = @@ -600,7 +600,7 @@ static reloc_howto_type tilegx_elf_howto_table2 [] = /* GNU extension to record C++ vtable hierarchy */ HOWTO (R_TILEGX_GNU_VTINHERIT, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ @@ -615,7 +615,7 @@ static reloc_howto_type tilegx_elf_howto_table2 [] = /* GNU extension to record C++ vtable member usage */ HOWTO (R_TILEGX_GNU_VTENTRY, /* type */ 0, /* rightshift */ - 4, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* size */ 0, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ diff --git a/bfd/mach-o-aarch64.c b/bfd/mach-o-aarch64.c index 235730b..a4032f3 100644 --- a/bfd/mach-o-aarch64.c +++ b/bfd/mach-o-aarch64.c @@ -77,70 +77,70 @@ bfd_mach_o_arm64_mkobject (bfd *abfd) static reloc_howto_type arm64_howto_table[]= { /* 0 */ - HOWTO (BFD_RELOC_64, 0, 4, 64, false, 0, + HOWTO (BFD_RELOC_64, 0, 8, 64, false, 0, complain_overflow_bitfield, NULL, "64", false, MINUS_ONE, MINUS_ONE, false), - HOWTO (BFD_RELOC_32, 0, 2, 32, false, 0, + HOWTO (BFD_RELOC_32, 0, 4, 32, false, 0, complain_overflow_bitfield, NULL, "32", false, 0xffffffff, 0xffffffff, false), - HOWTO (BFD_RELOC_16, 0, 1, 16, false, 0, + HOWTO (BFD_RELOC_16, 0, 2, 16, false, 0, complain_overflow_bitfield, NULL, "16", false, 0xffff, 0xffff, false), - HOWTO (BFD_RELOC_8, 0, 0, 8, false, 0, + HOWTO (BFD_RELOC_8, 0, 1, 8, false, 0, complain_overflow_bitfield, NULL, "8", false, 0xff, 0xff, false), /* 4 */ - HOWTO (BFD_RELOC_64_PCREL, 0, 4, 64, true, 0, + HOWTO (BFD_RELOC_64_PCREL, 0, 8, 64, true, 0, complain_overflow_bitfield, NULL, "DISP64", false, MINUS_ONE, MINUS_ONE, true), - HOWTO (BFD_RELOC_32_PCREL, 0, 2, 32, true, 0, + HOWTO (BFD_RELOC_32_PCREL, 0, 4, 32, true, 0, complain_overflow_bitfield, NULL, "DISP32", false, 0xffffffff, 0xffffffff, true), - HOWTO (BFD_RELOC_16_PCREL, 0, 1, 16, true, 0, + HOWTO (BFD_RELOC_16_PCREL, 0, 2, 16, true, 0, complain_overflow_bitfield, NULL, "DISP16", false, 0xffff, 0xffff, true), - HOWTO (BFD_RELOC_AARCH64_CALL26, 0, 2, 26, true, 0, + HOWTO (BFD_RELOC_AARCH64_CALL26, 0, 4, 26, true, 0, complain_overflow_bitfield, NULL, "BRANCH26", false, 0x03ffffff, 0x03ffffff, true), /* 8 */ - HOWTO (BFD_RELOC_AARCH64_ADR_HI21_PCREL, 12, 2, 21, true, 0, + HOWTO (BFD_RELOC_AARCH64_ADR_HI21_PCREL, 12, 4, 21, true, 0, complain_overflow_signed, NULL, "PAGE21", false, 0x1fffff, 0x1fffff, true), - HOWTO (BFD_RELOC_AARCH64_LDST16_LO12, 1, 2, 12, true, 0, + HOWTO (BFD_RELOC_AARCH64_LDST16_LO12, 1, 4, 12, true, 0, complain_overflow_signed, NULL, "PGOFF12", false, 0xffe, 0xffe, true), - HOWTO (BFD_RELOC_MACH_O_ARM64_ADDEND, 0, 2, 32, false, 0, + HOWTO (BFD_RELOC_MACH_O_ARM64_ADDEND, 0, 4, 32, false, 0, complain_overflow_signed, NULL, "ADDEND", false, 0xffffffff, 0xffffffff, false), - HOWTO (BFD_RELOC_MACH_O_SUBTRACTOR32, 0, 2, 32, false, 0, + HOWTO (BFD_RELOC_MACH_O_SUBTRACTOR32, 0, 4, 32, false, 0, complain_overflow_bitfield, NULL, "SUBTRACTOR32", false, 0xffffffff, 0xffffffff, false), /* 12 */ - HOWTO (BFD_RELOC_MACH_O_SUBTRACTOR64, 0, 4, 64, false, 0, + HOWTO (BFD_RELOC_MACH_O_SUBTRACTOR64, 0, 8, 64, false, 0, complain_overflow_bitfield, NULL, "SUBTRACTOR64", false, MINUS_ONE, MINUS_ONE, false), - HOWTO (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21, 12, 2, 21, true, 0, + HOWTO (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21, 12, 4, 21, true, 0, complain_overflow_signed, NULL, "GOT_LD_PG21", false, 0x1fffff, 0x1fffff, true), - HOWTO (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12, 1, 2, 12, true, 0, + HOWTO (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12, 1, 4, 12, true, 0, complain_overflow_signed, NULL, "GOT_LD_PGOFF12", false, 0xffe, 0xffe, true), - HOWTO (BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT, 0, 2, 32, true, 0, + HOWTO (BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT, 0, 4, 32, true, 0, complain_overflow_bitfield, NULL, "PTR_TO_GOT", false, 0xffffffff, 0xffffffff, true), diff --git a/bfd/mach-o-arm.c b/bfd/mach-o-arm.c index b3286f7..ce4f716 100644 --- a/bfd/mach-o-arm.c +++ b/bfd/mach-o-arm.c @@ -72,75 +72,75 @@ bfd_mach_o_arm_mkobject (bfd *abfd) static reloc_howto_type arm_howto_table[]= { /* 0 */ - HOWTO (BFD_RELOC_32, 0, 2, 32, false, 0, + HOWTO (BFD_RELOC_32, 0, 4, 32, false, 0, complain_overflow_bitfield, NULL, "32", false, 0xffffffff, 0xffffffff, false), - HOWTO (BFD_RELOC_16, 0, 1, 16, false, 0, + HOWTO (BFD_RELOC_16, 0, 2, 16, false, 0, complain_overflow_bitfield, NULL, "16", false, 0xffff, 0xffff, false), - HOWTO (BFD_RELOC_8, 0, 0, 8, false, 0, + HOWTO (BFD_RELOC_8, 0, 1, 8, false, 0, complain_overflow_bitfield, NULL, "8", false, 0xff, 0xff, false), - HOWTO (BFD_RELOC_32_PCREL, 0, 2, 32, true, 0, + HOWTO (BFD_RELOC_32_PCREL, 0, 4, 32, true, 0, complain_overflow_bitfield, NULL, "DISP32", false, 0xffffffff, 0xffffffff, true), /* 4 */ - HOWTO (BFD_RELOC_16_PCREL, 0, 1, 16, true, 0, + HOWTO (BFD_RELOC_16_PCREL, 0, 2, 16, true, 0, complain_overflow_bitfield, NULL, "DISP16", false, 0xffff, 0xffff, true), - HOWTO (BFD_RELOC_MACH_O_SECTDIFF, 0, 2, 32, false, 0, + HOWTO (BFD_RELOC_MACH_O_SECTDIFF, 0, 4, 32, false, 0, complain_overflow_bitfield, NULL, "SECTDIFF_32", false, 0xffffffff, 0xffffffff, false), - HOWTO (BFD_RELOC_MACH_O_LOCAL_SECTDIFF, 0, 2, 32, false, 0, + HOWTO (BFD_RELOC_MACH_O_LOCAL_SECTDIFF, 0, 4, 32, false, 0, complain_overflow_bitfield, NULL, "LSECTDIFF_32", false, 0xffffffff, 0xffffffff, false), - HOWTO (BFD_RELOC_MACH_O_PAIR, 0, 2, 32, false, 0, + HOWTO (BFD_RELOC_MACH_O_PAIR, 0, 4, 32, false, 0, complain_overflow_bitfield, NULL, "PAIR_32", false, 0xffffffff, 0xffffffff, false), /* 8 */ - HOWTO (BFD_RELOC_MACH_O_SECTDIFF, 0, 1, 16, false, 0, + HOWTO (BFD_RELOC_MACH_O_SECTDIFF, 0, 2, 16, false, 0, complain_overflow_bitfield, NULL, "SECTDIFF_16", false, 0xffff, 0xffff, false), - HOWTO (BFD_RELOC_MACH_O_LOCAL_SECTDIFF, 0, 1, 16, false, 0, + HOWTO (BFD_RELOC_MACH_O_LOCAL_SECTDIFF, 0, 2, 16, false, 0, complain_overflow_bitfield, NULL, "LSECTDIFF_16", false, 0xffff, 0xffff, false), - HOWTO (BFD_RELOC_MACH_O_PAIR, 0, 1, 16, false, 0, + HOWTO (BFD_RELOC_MACH_O_PAIR, 0, 2, 16, false, 0, complain_overflow_bitfield, NULL, "PAIR_16", false, 0xffff, 0xffff, false), - HOWTO (BFD_RELOC_ARM_PCREL_CALL, 2, 2, 24, true, 0, + HOWTO (BFD_RELOC_ARM_PCREL_CALL, 2, 4, 24, true, 0, complain_overflow_signed, NULL, "BR24", false, 0x00ffffff, 0x00ffffff, true), /* 12 */ - HOWTO (BFD_RELOC_ARM_MOVW, 0, 2, 16, false, 0, + HOWTO (BFD_RELOC_ARM_MOVW, 0, 4, 16, false, 0, complain_overflow_dont, NULL, "MOVW", false, 0x000f0fff, 0x000f0fff, false), - HOWTO (BFD_RELOC_MACH_O_PAIR, 0, 2, 16, false, 0, + HOWTO (BFD_RELOC_MACH_O_PAIR, 0, 4, 16, false, 0, complain_overflow_bitfield, NULL, "PAIR_W", false, 0x000f0fff, 0x000f0fff, false), - HOWTO (BFD_RELOC_ARM_MOVT, 0, 2, 16, false, 0, + HOWTO (BFD_RELOC_ARM_MOVT, 0, 4, 16, false, 0, complain_overflow_bitfield, NULL, "MOVT", false, 0x000f0fff, 0x000f0fff, false), - HOWTO (BFD_RELOC_MACH_O_PAIR, 0, 2, 16, false, 0, + HOWTO (BFD_RELOC_MACH_O_PAIR, 0, 4, 16, false, 0, complain_overflow_bitfield, NULL, "PAIR_T", false, 0x000f0fff, 0x000f0fff, false), /* 16 */ - HOWTO (BFD_RELOC_THUMB_PCREL_BLX, 2, 2, 24, true, 0, + HOWTO (BFD_RELOC_THUMB_PCREL_BLX, 2, 4, 24, true, 0, complain_overflow_signed, NULL, "TBR22", false, 0x07ff2fff, 0x07ff2fff, true) diff --git a/bfd/mach-o-i386.c b/bfd/mach-o-i386.c index aac7a0f..f3a66a9 100644 --- a/bfd/mach-o-i386.c +++ b/bfd/mach-o-i386.c @@ -63,49 +63,49 @@ bfd_mach_o_i386_mkobject (bfd *abfd) static reloc_howto_type i386_howto_table[]= { /* 0 */ - HOWTO(BFD_RELOC_32, 0, 2, 32, false, 0, + HOWTO(BFD_RELOC_32, 0, 4, 32, false, 0, complain_overflow_bitfield, NULL, "32", false, 0xffffffff, 0xffffffff, false), - HOWTO(BFD_RELOC_16, 0, 1, 16, false, 0, + HOWTO(BFD_RELOC_16, 0, 2, 16, false, 0, complain_overflow_bitfield, NULL, "16", false, 0xffff, 0xffff, false), - HOWTO(BFD_RELOC_8, 0, 0, 8, false, 0, + HOWTO(BFD_RELOC_8, 0, 1, 8, false, 0, complain_overflow_bitfield, NULL, "8", false, 0xff, 0xff, false), - HOWTO(BFD_RELOC_32_PCREL, 0, 2, 32, true, 0, + HOWTO(BFD_RELOC_32_PCREL, 0, 4, 32, true, 0, complain_overflow_bitfield, NULL, "DISP32", false, 0xffffffff, 0xffffffff, true), /* 4 */ - HOWTO(BFD_RELOC_16_PCREL, 0, 1, 16, true, 0, + HOWTO(BFD_RELOC_16_PCREL, 0, 2, 16, true, 0, complain_overflow_bitfield, NULL, "DISP16", false, 0xffff, 0xffff, true), - HOWTO(BFD_RELOC_MACH_O_SECTDIFF, 0, 2, 32, false, 0, + HOWTO(BFD_RELOC_MACH_O_SECTDIFF, 0, 4, 32, false, 0, complain_overflow_bitfield, NULL, "SECTDIFF_32", false, 0xffffffff, 0xffffffff, false), - HOWTO(BFD_RELOC_MACH_O_LOCAL_SECTDIFF, 0, 2, 32, false, 0, + HOWTO(BFD_RELOC_MACH_O_LOCAL_SECTDIFF, 0, 4, 32, false, 0, complain_overflow_bitfield, NULL, "LSECTDIFF_32", false, 0xffffffff, 0xffffffff, false), - HOWTO(BFD_RELOC_MACH_O_PAIR, 0, 2, 32, false, 0, + HOWTO(BFD_RELOC_MACH_O_PAIR, 0, 4, 32, false, 0, complain_overflow_bitfield, NULL, "PAIR_32", false, 0xffffffff, 0xffffffff, false), /* 8 */ - HOWTO(BFD_RELOC_MACH_O_SECTDIFF, 0, 1, 16, false, 0, + HOWTO(BFD_RELOC_MACH_O_SECTDIFF, 0, 2, 16, false, 0, complain_overflow_bitfield, NULL, "SECTDIFF_16", false, 0xffff, 0xffff, false), - HOWTO(BFD_RELOC_MACH_O_LOCAL_SECTDIFF, 0, 1, 16, false, 0, + HOWTO(BFD_RELOC_MACH_O_LOCAL_SECTDIFF, 0, 2, 16, false, 0, complain_overflow_bitfield, NULL, "LSECTDIFF_16", false, 0xffff, 0xffff, false), - HOWTO(BFD_RELOC_MACH_O_PAIR, 0, 1, 16, false, 0, + HOWTO(BFD_RELOC_MACH_O_PAIR, 0, 2, 16, false, 0, complain_overflow_bitfield, NULL, "PAIR_16", false, 0xffff, 0xffff, false), diff --git a/bfd/mach-o-x86-64.c b/bfd/mach-o-x86-64.c index c64fc46..74a7d1a 100644 --- a/bfd/mach-o-x86-64.c +++ b/bfd/mach-o-x86-64.c @@ -67,58 +67,58 @@ bfd_mach_o_x86_64_mkobject (bfd *abfd) static reloc_howto_type x86_64_howto_table[]= { /* 0 */ - HOWTO(BFD_RELOC_64, 0, 4, 64, false, 0, + HOWTO(BFD_RELOC_64, 0, 8, 64, false, 0, complain_overflow_bitfield, NULL, "64", false, MINUS_ONE, MINUS_ONE, false), - HOWTO(BFD_RELOC_32, 0, 2, 32, false, 0, + HOWTO(BFD_RELOC_32, 0, 4, 32, false, 0, complain_overflow_bitfield, NULL, "32", false, 0xffffffff, 0xffffffff, false), - HOWTO(BFD_RELOC_32_PCREL, 0, 2, 32, true, 0, + HOWTO(BFD_RELOC_32_PCREL, 0, 4, 32, true, 0, complain_overflow_bitfield, NULL, "DISP32", false, 0xffffffff, 0xffffffff, true), - HOWTO(BFD_RELOC_MACH_O_X86_64_PCREL32_1, 0, 2, 32, true, 0, + HOWTO(BFD_RELOC_MACH_O_X86_64_PCREL32_1, 0, 4, 32, true, 0, complain_overflow_bitfield, NULL, "DISP32_1", false, 0xffffffff, 0xffffffff, true), /* 4 */ - HOWTO(BFD_RELOC_MACH_O_X86_64_PCREL32_2, 0, 2, 32, true, 0, + HOWTO(BFD_RELOC_MACH_O_X86_64_PCREL32_2, 0, 4, 32, true, 0, complain_overflow_bitfield, NULL, "DISP32_2", false, 0xffffffff, 0xffffffff, true), - HOWTO(BFD_RELOC_MACH_O_X86_64_PCREL32_4, 0, 2, 32, true, 0, + HOWTO(BFD_RELOC_MACH_O_X86_64_PCREL32_4, 0, 4, 32, true, 0, complain_overflow_bitfield, NULL, "DISP32_4", false, 0xffffffff, 0xffffffff, true), - HOWTO(BFD_RELOC_MACH_O_X86_64_BRANCH32, 0, 2, 32, true, 0, + HOWTO(BFD_RELOC_MACH_O_X86_64_BRANCH32, 0, 4, 32, true, 0, complain_overflow_bitfield, NULL, "BRANCH32", false, 0xffffffff, 0xffffffff, true), - HOWTO(BFD_RELOC_MACH_O_X86_64_GOT_LOAD, 0, 2, 32, true, 0, + HOWTO(BFD_RELOC_MACH_O_X86_64_GOT_LOAD, 0, 4, 32, true, 0, complain_overflow_bitfield, NULL, "GOT_LOAD", false, 0xffffffff, 0xffffffff, true), /* 8 */ - HOWTO(BFD_RELOC_MACH_O_SUBTRACTOR32, 0, 2, 32, false, 0, + HOWTO(BFD_RELOC_MACH_O_SUBTRACTOR32, 0, 4, 32, false, 0, complain_overflow_bitfield, NULL, "SUBTRACTOR32", false, 0xffffffff, 0xffffffff, false), - HOWTO(BFD_RELOC_MACH_O_SUBTRACTOR64, 0, 4, 64, false, 0, + HOWTO(BFD_RELOC_MACH_O_SUBTRACTOR64, 0, 8, 64, false, 0, complain_overflow_bitfield, NULL, "SUBTRACTOR64", false, MINUS_ONE, MINUS_ONE, false), - HOWTO(BFD_RELOC_MACH_O_X86_64_GOT, 0, 2, 32, true, 0, + HOWTO(BFD_RELOC_MACH_O_X86_64_GOT, 0, 4, 32, true, 0, complain_overflow_bitfield, NULL, "GOT", false, 0xffffffff, 0xffffffff, true), - HOWTO(BFD_RELOC_MACH_O_X86_64_BRANCH8, 0, 0, 8, true, 0, + HOWTO(BFD_RELOC_MACH_O_X86_64_BRANCH8, 0, 1, 8, true, 0, complain_overflow_bitfield, NULL, "BRANCH8", false, 0xff, 0xff, true), /* 12 */ - HOWTO(BFD_RELOC_MACH_O_X86_64_TLV, 0, 2, 32, true, 0, + HOWTO(BFD_RELOC_MACH_O_X86_64_TLV, 0, 4, 32, true, 0, complain_overflow_bitfield, NULL, "TLV", false, 0xffffffff, 0xffffffff, true), diff --git a/bfd/pdp11.c b/bfd/pdp11.c index a28af2b..17cdbd4 100644 --- a/bfd/pdp11.c +++ b/bfd/pdp11.c @@ -280,9 +280,9 @@ static bool separate_i_d = false; reloc_howto_type howto_table_pdp11[] = { /* type rs size bsz pcrel bitpos ovrf sf name part_inpl readmask setmask pcdone */ -HOWTO( 0, 0, 1, 16, false, 0, complain_overflow_signed,0,"16", true, 0x0000ffff,0x0000ffff, false), -HOWTO( 1, 0, 1, 16, true, 0, complain_overflow_signed,0,"DISP16", true, 0x0000ffff,0x0000ffff, false), -HOWTO( 2, 0, 2, 32, false, 0, complain_overflow_signed,0,"32", true, 0x0000ffff,0x0000ffff, false), +HOWTO( 0, 0, 2, 16, false, 0, complain_overflow_signed,0,"16", true, 0x0000ffff,0x0000ffff, false), +HOWTO( 1, 0, 2, 16, true, 0, complain_overflow_signed,0,"DISP16", true, 0x0000ffff,0x0000ffff, false), +HOWTO( 2, 0, 4, 32, false, 0, complain_overflow_signed,0,"32", true, 0x0000ffff,0x0000ffff, false), }; #define TABLE_SIZE(TABLE) (sizeof(TABLE)/sizeof(TABLE[0])) diff --git a/bfd/reloc.c b/bfd/reloc.c index d0b2b20..4ad1b85 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -375,7 +375,7 @@ DESCRIPTION The HOWTO macro fills in a reloc_howto_type (a typedef for const struct reloc_howto_struct). -.#define HOWTO_RSIZE(sz) (sz < 0 ? -sz : sz) +.#define HOWTO_RSIZE(sz) (sz == 1 || sz == -1 ? 0 : sz == 2 || sz == -2 ? 1 : sz == 4 || sz == -4 ? 2 : sz == 0 ? 3 : sz == 8 || sz == -8 ? 4 : sz == 3 || sz == -3 ? 5 : 0x777) .#define HOWTO(type, right, size, bits, pcrel, left, ovf, func, name, \ . inplace, src_mask, dst_mask, pcrel_off) \ . { (unsigned) type, HOWTO_RSIZE (size), bits, right, left, ovf, \ @@ -385,7 +385,7 @@ DESCRIPTION This is used to fill in an empty howto entry in an array. .#define EMPTY_HOWTO(C) \ -. HOWTO ((C), 0, 0, 0, false, 0, complain_overflow_dont, NULL, \ +. HOWTO ((C), 0, 1, 0, false, 0, complain_overflow_dont, NULL, \ . NULL, false, 0, 0, false) . */ @@ -8303,7 +8303,7 @@ bfd_reloc_name_lookup (bfd *abfd, const char *reloc_name) } static reloc_howto_type bfd_howto_32 = -HOWTO (0, 00, 2, 32, false, 0, complain_overflow_dont, 0, "VRT32", false, 0xffffffff, 0xffffffff, true); +HOWTO (0, 00, 4, 32, false, 0, complain_overflow_dont, 0, "VRT32", false, 0xffffffff, 0xffffffff, true); /* INTERNAL_FUNCTION @@ -8541,7 +8541,7 @@ bfd_generic_get_relocated_section_contents (bfd *abfd, { bfd_vma off; static reloc_howto_type none_howto - = HOWTO (0, 0, 3, 0, false, 0, complain_overflow_dont, NULL, + = HOWTO (0, 0, 0, 0, false, 0, complain_overflow_dont, NULL, "unused", false, 0, 0, false); off = ((*parent)->address diff --git a/bfd/som.c b/bfd/som.c index 3c0b68a..8c82300 100644 --- a/bfd/som.c +++ b/bfd/som.c @@ -636,7 +636,7 @@ static const int comp3_opcodes[] = #endif #define SOM_HOWTO(TYPE, NAME) \ - HOWTO(TYPE, 0, 0, 32, false, 0, 0, hppa_som_reloc, NAME, false, 0, 0, false) + HOWTO(TYPE, 0, 1, 32, false, 0, 0, hppa_som_reloc, NAME, false, 0, 0, false) static reloc_howto_type som_hppa_howto_table[] = { diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c index fd07628..594e436 100644 --- a/bfd/vms-alpha.c +++ b/bfd/vms-alpha.c @@ -5515,7 +5515,7 @@ static reloc_howto_type alpha_howto_table[] = { HOWTO (ALPHA_R_IGNORE, /* Type. */ 0, /* Rightshift. */ - 0, /* Size (0 = byte, 1 = short, 2 = long). */ + 1, /* Size. */ 8, /* Bitsize. */ true, /* PC relative. */ 0, /* Bitpos. */ @@ -5530,7 +5530,7 @@ static reloc_howto_type alpha_howto_table[] = /* A 64 bit reference to a symbol. */ HOWTO (ALPHA_R_REFQUAD, /* Type. */ 0, /* Rightshift. */ - 4, /* Size (0 = byte, 1 = short, 2 = long). */ + 8, /* Size. */ 64, /* Bitsize. */ false, /* PC relative. */ 0, /* Bitpos. */ @@ -5547,7 +5547,7 @@ static reloc_howto_type alpha_howto_table[] = relative offset in the instruction. */ HOWTO (ALPHA_R_BRADDR, /* Type. */ 2, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 21, /* Bitsize. */ true, /* PC relative. */ 0, /* Bitpos. */ @@ -5562,7 +5562,7 @@ static reloc_howto_type alpha_howto_table[] = /* A hint for a jump to a register. */ HOWTO (ALPHA_R_HINT, /* Type. */ 2, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 14, /* Bitsize. */ true, /* PC relative. */ 0, /* Bitpos. */ @@ -5577,7 +5577,7 @@ static reloc_howto_type alpha_howto_table[] = /* 16 bit PC relative offset. */ HOWTO (ALPHA_R_SREL16, /* Type. */ 0, /* Rightshift. */ - 1, /* Size (0 = byte, 1 = short, 2 = long). */ + 2, /* Size. */ 16, /* Bitsize. */ true, /* PC relative. */ 0, /* Bitpos. */ @@ -5592,7 +5592,7 @@ static reloc_howto_type alpha_howto_table[] = /* 32 bit PC relative offset. */ HOWTO (ALPHA_R_SREL32, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 32, /* Bitsize. */ true, /* PC relative. */ 0, /* Bitpos. */ @@ -5607,7 +5607,7 @@ static reloc_howto_type alpha_howto_table[] = /* A 64 bit PC relative offset. */ HOWTO (ALPHA_R_SREL64, /* Type. */ 0, /* Rightshift. */ - 4, /* Size (0 = byte, 1 = short, 2 = long). */ + 8, /* Size. */ 64, /* Bitsize. */ true, /* PC relative. */ 0, /* Bitpos. */ @@ -5622,7 +5622,7 @@ static reloc_howto_type alpha_howto_table[] = /* Push a value on the reloc evaluation stack. */ HOWTO (ALPHA_R_OP_PUSH, /* Type. */ 0, /* Rightshift. */ - 0, /* Size (0 = byte, 1 = short, 2 = long). */ + 1, /* Size. */ 0, /* Bitsize. */ false, /* PC relative. */ 0, /* Bitpos. */ @@ -5638,7 +5638,7 @@ static reloc_howto_type alpha_howto_table[] = a bitfield of size r_size starting at bit position r_offset. */ HOWTO (ALPHA_R_OP_STORE, /* Type. */ 0, /* Rightshift. */ - 4, /* Size (0 = byte, 1 = short, 2 = long). */ + 8, /* Size. */ 64, /* Bitsize. */ false, /* PC relative. */ 0, /* Bitpos. */ @@ -5654,7 +5654,7 @@ static reloc_howto_type alpha_howto_table[] = relocation stack. */ HOWTO (ALPHA_R_OP_PSUB, /* Type. */ 0, /* Rightshift. */ - 0, /* Size (0 = byte, 1 = short, 2 = long). */ + 1, /* Size. */ 0, /* Bitsize. */ false, /* PC relative. */ 0, /* Bitpos. */ @@ -5670,7 +5670,7 @@ static reloc_howto_type alpha_howto_table[] = given value. */ HOWTO (ALPHA_R_OP_PRSHIFT, /* Type. */ 0, /* Rightshift. */ - 0, /* Size (0 = byte, 1 = short, 2 = long). */ + 1, /* Size. */ 0, /* Bitsize. */ false, /* PC relative. */ 0, /* Bitpos. */ @@ -5685,7 +5685,7 @@ static reloc_howto_type alpha_howto_table[] = /* Hack. Linkage is done by linker. */ HOWTO (ALPHA_R_LINKAGE, /* Type. */ 0, /* Rightshift. */ - 0, /* Size (0 = byte, 1 = short, 2 = long). */ + 1, /* Size. */ 0, /* Bitsize. */ false, /* PC relative. */ 0, /* Bitpos. */ @@ -5700,7 +5700,7 @@ static reloc_howto_type alpha_howto_table[] = /* A 32 bit reference to a symbol. */ HOWTO (ALPHA_R_REFLONG, /* Type. */ 0, /* Rightshift. */ - 2, /* Size (0 = byte, 1 = short, 2 = long). */ + 4, /* Size. */ 32, /* Bitsize. */ false, /* PC relative. */ 0, /* Bitpos. */ @@ -5715,7 +5715,7 @@ static reloc_howto_type alpha_howto_table[] = /* A 64 bit reference to a procedure, written as 32 bit value. */ HOWTO (ALPHA_R_CODEADDR, /* Type. */ 0, /* Rightshift. */ - 4, /* Size (0 = byte, 1 = short, 2 = long). */ + 8, /* Size. */ 64, /* Bitsize. */ false, /* PC relative. */ 0, /* Bitpos. */ @@ -5729,7 +5729,7 @@ static reloc_howto_type alpha_howto_table[] = HOWTO (ALPHA_R_NOP, /* Type. */ 0, /* Rightshift. */ - 3, /* Size (0 = byte, 1 = short, 2 = long). */ + 0, /* Size. */ 0, /* Bitsize. */ /* The following value must match that of ALPHA_R_BSR/ALPHA_R_BOH because the calculations for the 3 relocations are the same. @@ -5746,7 +5746,7 @@ static reloc_howto_type alpha_howto_table[] = HOWTO (ALPHA_R_BSR, /* Type. */ 0, /* Rightshift. */ - 3, /* Size (0 = byte, 1 = short, 2 = long). */ + 0, /* Size. */ 0, /* Bitsize. */ true, /* PC relative. */ 0, /* Bitpos. */ @@ -5760,7 +5760,7 @@ static reloc_howto_type alpha_howto_table[] = HOWTO (ALPHA_R_LDA, /* Type. */ 0, /* Rightshift. */ - 3, /* Size (0 = byte, 1 = short, 2 = long). */ + 0, /* Size. */ 0, /* Bitsize. */ false, /* PC relative. */ 0, /* Bitpos. */ @@ -5774,7 +5774,7 @@ static reloc_howto_type alpha_howto_table[] = HOWTO (ALPHA_R_BOH, /* Type. */ 0, /* Rightshift. */ - 3, /* Size (0 = byte, 1 = short, 2 = long, 3 = nil). */ + 0, /* Size. */ 0, /* Bitsize. */ true, /* PC relative. */ 0, /* Bitpos. */ diff --git a/include/elf/arc-reloc.def b/include/elf/arc-reloc.def index d58fa05..fa7d48e 100644 --- a/include/elf/arc-reloc.def +++ b/include/elf/arc-reloc.def @@ -30,483 +30,483 @@ ARC_RELOC_HOWTO(ARC_NONE, 0, \ - 2, \ + 4, \ 32, \ replace_none, \ bitfield, \ 0) ARC_RELOC_HOWTO(ARC_8, 1, \ - 0, \ + 1, \ 8, \ replace_bits8, \ bitfield, \ ( S + A )) ARC_RELOC_HOWTO(ARC_16, 2, \ - 1, \ + 2, \ 16, \ replace_bits16, \ bitfield, \ ( S + A )) ARC_RELOC_HOWTO(ARC_24, 3, \ - 2, \ + 4, \ 24, \ replace_bits24, \ bitfield, \ ( S + A )) ARC_RELOC_HOWTO(ARC_32, 4, \ - 2, \ + 4, \ 32, \ replace_word32, \ bitfield, \ ( S + A )) ARC_RELOC_HOWTO(ARC_N8, 8, \ - 0, \ + 1, \ 8, \ replace_bits8, \ bitfield, \ ( A - S )) ARC_RELOC_HOWTO(ARC_N16, 9, \ - 1, \ + 2, \ 16, \ replace_bits16, \ bitfield, \ ( A - S )) ARC_RELOC_HOWTO(ARC_N24, 10, \ - 2, \ + 4, \ 24, \ replace_bits24, \ bitfield, \ ( A - S )) ARC_RELOC_HOWTO(ARC_N32, 11, \ - 2, \ + 4, \ 32, \ replace_word32, \ bitfield, \ ( A - S )) ARC_RELOC_HOWTO(ARC_SDA, 12, \ - 2, \ + 4, \ 9, \ replace_disp9, \ bitfield, \ ( ME ( ( ( S + A ) - _SDA_BASE_ ) ) )) ARC_RELOC_HOWTO(ARC_SECTOFF, 13, \ - 2, \ + 4, \ 32, \ replace_word32, \ bitfield, \ ( ( S - SECTSTART ) + A )) ARC_RELOC_HOWTO(ARC_S21H_PCREL, 14, \ - 2, \ + 4, \ 20, \ replace_disp21h, \ signed, \ ( ME ( ( ( ( S + A ) - P ) >> 1 ) ) )) ARC_RELOC_HOWTO(ARC_S21W_PCREL, 15, \ - 2, \ + 4, \ 19, \ replace_disp21w, \ signed, \ ( ME ( ( ( ( S + A ) - P ) >> 2 ) ) )) ARC_RELOC_HOWTO(ARC_S25H_PCREL, 16, \ - 2, \ + 4, \ 24, \ replace_disp25h, \ signed, \ ( ME ( ( ( ( S + A ) - P ) >> 1 ) ) )) ARC_RELOC_HOWTO(ARC_S25W_PCREL, 17, \ - 2, \ + 4, \ 23, \ replace_disp25w, \ signed, \ ( ME ( ( ( ( S + A ) - P ) >> 2 ) ) )) ARC_RELOC_HOWTO(ARC_SDA32, 18, \ - 2, \ + 4, \ 32, \ replace_word32, \ signed, \ ( ( ( S + A ) - _SDA_BASE_ ) )) ARC_RELOC_HOWTO(ARC_SDA_LDST, 19, \ - 2, \ + 4, \ 9, \ replace_disp9ls, \ signed, \ ( ME ( ( ( S + A ) - _SDA_BASE_ ) ) )) ARC_RELOC_HOWTO(ARC_SDA_LDST1, 20, \ - 2, \ + 4, \ 9, \ replace_disp9ls, \ signed, \ ( ME ( ( ( ( S + A ) - _SDA_BASE_ ) >> 1 ) ) )) ARC_RELOC_HOWTO(ARC_SDA_LDST2, 21, \ - 2, \ + 4, \ 9, \ replace_disp9ls, \ signed, \ ( ME ( ( ( ( S + A ) - _SDA_BASE_ ) >> 2 ) ) )) ARC_RELOC_HOWTO(ARC_SDA16_LD, 22, \ - 1, \ + 2, \ 9, \ replace_disp9s, \ signed, \ ( ( S + A ) - _SDA_BASE_ )) ARC_RELOC_HOWTO(ARC_SDA16_LD1, 23, \ - 1, \ + 2, \ 9, \ replace_disp9s, \ signed, \ ( ( ( S + A ) - _SDA_BASE_ ) >> 1 )) ARC_RELOC_HOWTO(ARC_SDA16_LD2, 24, \ - 1, \ + 2, \ 9, \ replace_disp9s, \ signed, \ ( ( ( S + A ) - _SDA_BASE_ ) >> 2 )) ARC_RELOC_HOWTO(ARC_S13_PCREL, 25, \ - 1, \ + 2, \ 11, \ replace_disp13s, \ signed, \ ( ( ( S + A ) - P ) >> 2 )) ARC_RELOC_HOWTO(ARC_W, 26, \ - 2, \ + 4, \ 32, \ replace_word32, \ bitfield, \ ( ( S + A ) & ( ~3 ) )) ARC_RELOC_HOWTO(ARC_32_ME, 27, \ - 2, \ + 4, \ 32, \ replace_limm, \ signed, \ ( ME ( ( S + A ) ) )) ARC_RELOC_HOWTO(ARC_32_ME_S, 105, \ - 2, \ + 4, \ 32, \ replace_limms, \ signed, \ ( ME ( ( S + A ) ) )) ARC_RELOC_HOWTO(ARC_N32_ME, 28, \ - 2, \ + 4, \ 32, \ replace_word32, \ bitfield, \ ( ME ( ( A - S ) ) )) ARC_RELOC_HOWTO(ARC_SECTOFF_ME, 29, \ - 2, \ + 4, \ 32, \ replace_word32, \ bitfield, \ ( ME ( ( ( S - SECTSTART ) + A ) ) )) ARC_RELOC_HOWTO(ARC_SDA32_ME, 30, \ - 2, \ + 4, \ 32, \ replace_limm, \ signed, \ ( ME ( ( ( S + A ) - _SDA_BASE_ ) ) )) ARC_RELOC_HOWTO(ARC_W_ME, 31, \ - 2, \ + 4, \ 32, \ replace_word32, \ bitfield, \ ( ME ( ( ( S + A ) & ( ~3 ) ) ) )) ARC_RELOC_HOWTO(AC_SECTOFF_U8, 35, \ - 2, \ + 4, \ 9, \ replace_disp9ls, \ bitfield, \ ( ME ( ( ( S + A ) - SECTSTART ) ) )) ARC_RELOC_HOWTO(AC_SECTOFF_U8_1, 36, \ - 2, \ + 4, \ 9, \ replace_disp9ls, \ bitfield, \ ( ME ( ( ( ( S + A ) - SECTSTART ) >> 1 ) ) )) ARC_RELOC_HOWTO(AC_SECTOFF_U8_2, 37, \ - 2, \ + 4, \ 9, \ replace_disp9ls, \ bitfield, \ ( ME ( ( ( ( S + A ) - SECTSTART ) >> 2 ) ) )) ARC_RELOC_HOWTO(AC_SECTOFF_S9, 38, \ - 2, \ + 4, \ 9, \ replace_disp9ls, \ bitfield, \ ( ME ( ( ( ( S + A ) - SECTSTART ) - 256 ) ) )) ARC_RELOC_HOWTO(AC_SECTOFF_S9_1, 39, \ - 2, \ + 4, \ 9, \ replace_disp9ls, \ bitfield, \ ( ME ( ( ( ( ( S + A ) - SECTSTART ) - 256 ) >> 1 ) ) )) ARC_RELOC_HOWTO(AC_SECTOFF_S9_2, 40, \ - 2, \ + 4, \ 9, \ replace_disp9ls, \ bitfield, \ ( ME ( ( ( ( ( S + A ) - SECTSTART ) - 256 ) >> 2 ) ) )) ARC_RELOC_HOWTO(ARC_SECTOFF_ME_1, 41, \ - 2, \ + 4, \ 32, \ replace_word32, \ bitfield, \ ( ME ( ( ( ( S - SECTSTART ) + A ) >> 1 ) ) )) ARC_RELOC_HOWTO(ARC_SECTOFF_ME_2, 42, \ - 2, \ + 4, \ 32, \ replace_word32, \ bitfield, \ ( ME ( ( ( ( S - SECTSTART ) + A ) >> 2 ) ) )) ARC_RELOC_HOWTO(ARC_SECTOFF_1, 43, \ - 2, \ + 4, \ 32, \ replace_word32, \ bitfield, \ ( ( ( S - SECTSTART ) + A ) >> 1 )) ARC_RELOC_HOWTO(ARC_SECTOFF_2, 44, \ - 2, \ + 4, \ 32, \ replace_word32, \ bitfield, \ ( ( ( S - SECTSTART ) + A ) >> 2 )) ARC_RELOC_HOWTO(ARC_SDA_12, 45, \ - 2, \ + 4, \ 12, \ replace_disp12s, \ signed, \ ( ME ( ( ( S + A ) - _SDA_BASE_ ) ) )) ARC_RELOC_HOWTO(ARC_SDA16_ST2, 48, \ - 1, \ + 2, \ 9, \ replace_disp9s1, \ signed, \ ( ( ( S + A ) - _SDA_BASE_ ) >> 2 )) ARC_RELOC_HOWTO(ARC_32_PCREL, 49, \ - 2, \ + 4, \ 32, \ replace_word32, \ signed, \ ( ( S + A ) - PDATA )) ARC_RELOC_HOWTO(ARC_PC32, 50, \ - 2, \ + 4, \ 32, \ replace_word32, \ signed, \ ( ME ( ( ( S + A ) - P ) ) )) ARC_RELOC_HOWTO(ARC_GOT32, 59, \ - 2, \ + 4, \ 32, \ replace_word32, \ dont, \ ( G + A )) ARC_RELOC_HOWTO(ARC_GOTPC32, 51, \ - 2, \ + 4, \ 32, \ replace_word32, \ signed, \ ( ME ( ( ( ( GOT + G ) + A ) - P ) ) )) ARC_RELOC_HOWTO(ARC_PLT32, 52, \ - 2, \ + 4, \ 32, \ replace_word32, \ signed, \ ( ME ( ( ( L + A ) - P ) ) )) ARC_RELOC_HOWTO(ARC_COPY, 53, \ - 2, \ + 4, \ 0, \ replace_none, \ signed, \ none) ARC_RELOC_HOWTO(ARC_GLOB_DAT, 54, \ - 2, \ + 4, \ 32, \ replace_word32, \ signed, \ S) ARC_RELOC_HOWTO(ARC_JMP_SLOT, 55, \ - 2, \ + 4, \ 32, \ replace_word32, \ signed, \ ( ME ( S ) )) ARC_RELOC_HOWTO(ARC_RELATIVE, 56, \ - 2, \ + 4, \ 32, \ replace_word32, \ signed, \ ( ME ( ( B + A ) ) )) ARC_RELOC_HOWTO(ARC_GOTOFF, 57, \ - 2, \ + 4, \ 32, \ replace_word32, \ signed, \ ( ME ( ( ( S + A ) - GOT ) ) )) ARC_RELOC_HOWTO(ARC_GOTPC, 58, \ - 2, \ + 4, \ 32, \ replace_word32, \ signed, \ ( ME ( ( GOT_BEGIN - P ) ) )) ARC_RELOC_HOWTO(ARC_S21W_PCREL_PLT, 60, \ - 2, \ + 4, \ 19, \ replace_disp21w, \ signed, \ ( ME ( ( ( ( L + A ) - P ) >> 2 ) ) )) ARC_RELOC_HOWTO(ARC_S25H_PCREL_PLT, 61, \ - 2, \ + 4, \ 24, \ replace_disp25h, \ signed, \ ( ME ( ( ( ( L + A ) - P ) >> 1 ) ) )) ARC_RELOC_HOWTO(ARC_JLI_SECTOFF, 63, \ - 1, \ + 2, \ 10, \ replace_jli, \ bitfield, \ ( ( S - JLI ) >> 2)) ARC_RELOC_HOWTO(ARC_TLS_DTPMOD, 66, \ - 2, \ + 4, \ 32, \ replace_word32, \ dont, \ 0) ARC_RELOC_HOWTO(ARC_TLS_TPOFF, 68, \ - 2, \ + 4, \ 32, \ replace_word32, \ dont, \ 0) ARC_RELOC_HOWTO(ARC_TLS_GD_GOT, 69, \ - 2, \ + 4, \ 32, \ replace_word32, \ dont, \ ( ME ( ( ( G + GOT ) - P ) ) )) ARC_RELOC_HOWTO(ARC_TLS_GD_LD, 70, \ - 2, \ + 4, \ 0, \ replace_none, \ dont, \ 0) ARC_RELOC_HOWTO(ARC_TLS_GD_CALL, 71, \ - 2, \ + 4, \ 32, \ replace_word32, \ dont, \ 0) ARC_RELOC_HOWTO(ARC_TLS_IE_GOT, 72, \ - 2, \ + 4, \ 32, \ replace_word32, \ dont, \ ( ME ( ( ( G + GOT ) - P ) ) )) ARC_RELOC_HOWTO(ARC_TLS_DTPOFF, 67, \ - 2, \ + 4, \ 32, \ replace_word32, \ dont, \ ( ME ( S - FINAL_SECTSTART ) + A )) ARC_RELOC_HOWTO(ARC_TLS_DTPOFF_S9, 73, \ - 2, \ + 4, \ 32, \ replace_word32, \ dont, \ ( ME ( ( S - TLS_REL ) ) )) ARC_RELOC_HOWTO(ARC_TLS_LE_S9, 74, \ - 2, \ + 4, \ 32, \ replace_word32, \ dont, \ ( ME ( ( ( S + TCB_SIZE ) - TLS_REL ) ) )) ARC_RELOC_HOWTO(ARC_TLS_LE_32, 75, \ - 2, \ + 4, \ 32, \ replace_word32, \ dont, \ ( ME ( ( ( ( S + A ) + TLS_TBSS ) - TLS_REL ) ) )) ARC_RELOC_HOWTO(ARC_S25W_PCREL_PLT, 76, \ - 2, \ + 4, \ 23, \ replace_disp25w, \ signed, \ ( ME ( ( ( ( L + A ) - P ) >> 2 ) ) )) ARC_RELOC_HOWTO(ARC_S21H_PCREL_PLT, 77, \ - 2, \ + 4, \ 20, \ replace_disp21h, \ signed, \ ( ME ( ( ( ( L + A ) - P ) >> 1 ) ) )) ARC_RELOC_HOWTO(ARC_NPS_CMEM16, 78, \ - 2, \ + 4, \ 16, \ replace_bits16, \ dont, \ -- cgit v1.1