public inbox for binutils-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] HOWTO size encoding
@ 2022-06-08 12:03 Alan Modra
  0 siblings, 0 replies; only message in thread
From: Alan Modra @ 2022-06-08 12:03 UTC (permalink / raw)
  To: bfd-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c94cb026628b831ef63e3455a66328749ff8a415

commit c94cb026628b831ef63e3455a66328749ff8a415
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jun 7 22:43:20 2022 +0930

    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.

Diff:
---
 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 d9804819b2e..1dce7644652 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 b828b1b29b1..2bff7a8d8b2 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 02ba9706c26..f18c2faece1 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 7cf51a59110..412a17889ca 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 12958e4cd35..f9e117ace52 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 32a499384b7..9e5dbab38ce 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 4c261024fda..878e68bcf4b 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 d4dc1bd3c19..1ef4235f081 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 48ce5c0516b..f39a85a46a0 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 60e32b035f6..c5b69a8592f 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 5e52c59cfdd..874fd79f3fa 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 e063f29c68b..02013e1655f 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 223a081b20a..8b493584503 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 cf339c93215..bc9c3d43699 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 fd3c84a196e..ba0f2609bf0 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 076b798f534..b9f6f9773ad 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 2f8077ae6a2..5df3dc19952 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 b0d44dca2d2..2fed9b7377b 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 ([...]

[diff truncated at 100000 bytes]


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-06-08 12:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-08 12:03 [binutils-gdb] HOWTO size encoding Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).