This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Delete NEWHOWTO and tidy some uses of reloc_howto_struct
- From: Alan Modra <amodra at gmail dot com>
- To: binutils at sourceware dot org
- Date: Tue, 21 Aug 2018 15:52:41 +0930
- Subject: Delete NEWHOWTO and tidy some uses of reloc_howto_struct
NEWHOWTO was promised way back in 1991 (git commit e5683622186).
I doubt it's ever going to be implemented. This patch removes it,
and tidies some reloc howtos. I was going to make some changes to
reloc_howto_struct, so I think it's important that all relocs howtos
are initialized with HOWTO.
* reloc.c (HOWTO): Revise comment.
(NEWHOWTO, HOWTO_PREPARE): Delete.
* coff-arm.c (coff_arm_reloc_type_lookup): Replace const struc
reloc_howto_struct with reloc_howto_type.
* ns32knetbsd.c (MY_bfd_reloc_type_lookup): Likewise.
* vms-alpha.c (alpha_vms_bfd_reloc_type_lookup): Likewise.
* elf-hppa.h (HOW): Define.
(elf_hppa_howto_table): Use it to simplify this table, correcting
name of R_PARISC_LTOFF16WF, R_PARISC_LTOFF_FPTR64, and
R_PARISC_LTOFF_FPTR16DF.
* elf32-mep.c (MEPREL): Use HOWTO.
* bfd-in2.h: Regenerate.
diff --git a/bfd/coff-arm.c b/bfd/coff-arm.c
index f0e3e30128..a07fc64feb 100644
--- a/bfd/coff-arm.c
+++ b/bfd/coff-arm.c
@@ -814,7 +814,7 @@ coff_thumb_pcrel_12 (bfd *abfd,
b12);
}
-static const struct reloc_howto_struct *
+static reloc_howto_type *
coff_arm_reloc_type_lookup (bfd * abfd, bfd_reloc_code_real_type code)
{
#define ASTD(i,j) case i: return aoutarm_std_reloc_howto + j
diff --git a/bfd/elf-hppa.h b/bfd/elf-hppa.h
index 5eac12996d..9f34a030cc 100644
--- a/bfd/elf-hppa.h
+++ b/bfd/elf-hppa.h
@@ -47,531 +47,289 @@
static reloc_howto_type elf_hppa_howto_table[ELF_HOWTO_TABLE_SIZE] =
{
- { R_PARISC_NONE, 0, 3, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_NONE", FALSE, 0, 0, FALSE },
+#define HOW(type, size, bitsize, pc_rel, complain, mask) \
+ HOWTO (type, 0, size, bitsize, pc_rel, 0, complain_overflow_ ## complain, \
+ bfd_elf_generic_reloc, #type, FALSE, 0, mask, FALSE)
/* The values in DIR32 are to placate the check in
_bfd_stab_section_find_nearest_line. */
- { R_PARISC_DIR32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DIR32", FALSE, 0, 0xffffffff, FALSE },
- { R_PARISC_DIR21L, 0, 2, 21, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DIR21L", FALSE, 0, 0, FALSE },
- { R_PARISC_DIR17R, 0, 2, 17, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DIR17R", FALSE, 0, 0, FALSE },
- { R_PARISC_DIR17F, 0, 2, 17, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DIR17F", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_DIR14R, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DIR14R", FALSE, 0, 0, FALSE },
- { R_PARISC_DIR14F, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DIR14F", FALSE, 0, 0, FALSE },
+ 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),
/* 8 */
- { R_PARISC_PCREL12F, 0, 2, 12, TRUE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL12F", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL32, 0, 2, 32, TRUE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL32", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL21L, 0, 2, 21, TRUE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL21L", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL17R, 0, 2, 17, TRUE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL17R", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL17F, 0, 2, 17, TRUE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL17F", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL17C, 0, 2, 17, TRUE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL17C", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL14R, 0, 2, 14, TRUE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL14R", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL14F, 0, 2, 14, TRUE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL14F", FALSE, 0, 0, FALSE },
+ 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),
/* 16 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_DPREL21L, 0, 2, 21, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DPREL21L", FALSE, 0, 0, FALSE },
- { R_PARISC_DPREL14WR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DPREL14WR", FALSE, 0, 0, FALSE },
- { R_PARISC_DPREL14DR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DPREL14DR", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_DPREL14R, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DPREL14R", FALSE, 0, 0, FALSE },
- { R_PARISC_DPREL14F, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DPREL14F", FALSE, 0, 0, FALSE },
+ 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),
/* 24 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_DLTREL21L, 0, 2, 21, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DLTREL21L", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_DLTREL14R, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DLTREL14R", FALSE, 0, 0, FALSE },
- { R_PARISC_DLTREL14F, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DLTREL14F", FALSE, 0, 0, FALSE },
+ 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),
/* 32 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_DLTIND21L, 0, 2, 21, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DLTIND21L", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_DLTIND14R, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DLTIND14R", FALSE, 0, 0, FALSE },
- { R_PARISC_DLTIND14F, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DLTIND14F", FALSE, 0, 0, FALSE },
+ 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),
/* 40 */
- { R_PARISC_SETBASE, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_SETBASE", FALSE, 0, 0, FALSE },
- { R_PARISC_SECREL32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_SECREL32", FALSE, 0, 0xffffffff, FALSE },
- { R_PARISC_BASEREL21L, 0, 2, 21, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_BASEREL21L", FALSE, 0, 0, FALSE },
- { R_PARISC_BASEREL17R, 0, 2, 17, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_BASEREL17R", FALSE, 0, 0, FALSE },
- { R_PARISC_BASEREL17F, 0, 2, 17, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_BASEREL17F", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_BASEREL14R, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_BASEREL14R", FALSE, 0, 0, FALSE },
- { R_PARISC_BASEREL14F, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_BASEREL14F", FALSE, 0, 0, FALSE },
+ 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),
/* 48 */
- { R_PARISC_SEGBASE, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_SEGBASE", FALSE, 0, 0, FALSE },
- { R_PARISC_SEGREL32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_SEGREL32", FALSE, 0, 0, FALSE },
- { R_PARISC_PLTOFF21L, 0, 2, 21, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PLTOFF21L", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_PLTOFF14R, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PLTOFF14R", FALSE, 0, 0, FALSE },
- { R_PARISC_PLTOFF14F, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PLTOFF14F", FALSE, 0, 0, FALSE },
+ 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),
/* 56 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_FPTR32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR32", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_FPTR21L, 0, 2, 21, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR21L", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_FPTR14R, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR14R", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ 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),
/* 64 */
- { R_PARISC_FPTR64, 0, 4, 64, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_FPTR64", FALSE, 0, 0, FALSE },
- { R_PARISC_PLABEL32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PLABEL32", FALSE, 0, 0, FALSE },
- { R_PARISC_PLABEL21L, 0, 2, 21, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PLABEL21L", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_PLABEL14R, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PLABEL14R", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ 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),
/* 72 */
- { R_PARISC_PCREL64, 0, 4, 64, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL64", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL22C, 0, 2, 22, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL22C", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL22F, 0, 2, 22, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL22F", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL14WR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL14WR", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL14DR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL14DR", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL16F, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL16F", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL16WF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL16WF", FALSE, 0, 0, FALSE },
- { R_PARISC_PCREL16DF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PCREL16DF", FALSE, 0, 0, FALSE },
+ 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),
/* 80 */
- { R_PARISC_DIR64, 0, 4, 64, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DIR64", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_DIR14WR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DIR14WR", FALSE, 0, 0, FALSE },
- { R_PARISC_DIR14DR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DIR14DR", FALSE, 0, 0, FALSE },
- { R_PARISC_DIR16F, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DIR16F", FALSE, 0, 0, FALSE },
- { R_PARISC_DIR16WF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DIR16WF", FALSE, 0, 0, FALSE },
- { R_PARISC_DIR16DF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DIR16DF", FALSE, 0, 0, FALSE },
+ 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),
/* 88 */
- { R_PARISC_GPREL64, 0, 4, 64, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_GPREL64", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_DLTREL14WR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DLTREL14WR", FALSE, 0, 0, FALSE },
- { R_PARISC_DLTREL14DR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DLTREL14DR", FALSE, 0, 0, FALSE },
- { R_PARISC_GPREL16F, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_GPREL16F", FALSE, 0, 0, FALSE },
- { R_PARISC_GPREL16WF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_GPREL16WF", FALSE, 0, 0, FALSE },
- { R_PARISC_GPREL16DF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_GPREL16DF", FALSE, 0, 0, FALSE },
+ 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),
/* 96 */
- { R_PARISC_LTOFF64, 0, 4, 64, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF64", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_DLTIND14WR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DLTIND14WR", FALSE, 0, 0, FALSE },
- { R_PARISC_DLTIND14DR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_DLTIND14DR", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF16F, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF16F", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF16WF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF16DF", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF16DF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF16DF", FALSE, 0, 0, FALSE },
+ 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),
/* 104 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_BASEREL14WR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_BASEREL14WR", FALSE, 0, 0, FALSE },
- { R_PARISC_BASEREL14DR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_BASEREL14DR", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ 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),
/* 112 */
- { R_PARISC_SEGREL64, 0, 4, 64, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_SEGREL64", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_PLTOFF14WR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PLTOFF14WR", FALSE, 0, 0, FALSE },
- { R_PARISC_PLTOFF14DR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PLTOFF14DR", FALSE, 0, 0, FALSE },
- { R_PARISC_PLTOFF16F, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PLTOFF16F", FALSE, 0, 0, FALSE },
- { R_PARISC_PLTOFF16WF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PLTOFF16WF", FALSE, 0, 0, FALSE },
- { R_PARISC_PLTOFF16DF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_PLTOFF16DF", FALSE, 0, 0, FALSE },
+ 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),
/* 120 */
- { R_PARISC_LTOFF_FPTR64, 0, 4, 64, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_FPTR14WR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR14WR", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_FPTR14DR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR14DR", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_FPTR16F, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR16F", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_FPTR16WF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR16WF", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_FPTR16DF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_LTOFF_FPTR64, 4, 64, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_LTOFF_FPTR14WR, 2, 14, FALSE, bitfield, 0),
+ HOW (R_PARISC_LTOFF_FPTR14DR, 2, 14, FALSE, bitfield, 0),
+ HOW (R_PARISC_LTOFF_FPTR16F, 2, 16, FALSE, bitfield, 0),
+ HOW (R_PARISC_LTOFF_FPTR16WF, 2, 16, FALSE, bitfield, 0),
+ HOW (R_PARISC_LTOFF_FPTR16DF, 2, 16, FALSE, bitfield, 0),
/* 128 */
- { R_PARISC_COPY, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_COPY", FALSE, 0, 0, FALSE },
- { R_PARISC_IPLT, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_IPLT", FALSE, 0, 0, FALSE },
- { R_PARISC_EPLT, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_EPLT", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_COPY, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_IPLT, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_EPLT, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
/* 136 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
/* 144 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
/* 152 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_TPREL32, 0, 2, 32, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_TPREL32", FALSE, 0, 0, FALSE },
- { R_PARISC_TPREL21L, 0, 2, 21, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TPREL21L", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_TPREL14R, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TPREL14R", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_TPREL32, 2, 32, FALSE, dont, 0),
+ HOW (R_PARISC_TPREL21L, 2, 21, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_TPREL14R, 2, 14, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
/* 160 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_TP21L, 0, 2, 21, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP21L", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_TP14R, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP14R", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_TP14F, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP14F", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_LTOFF_TP21L, 2, 21, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_LTOFF_TP14R, 2, 14, FALSE, bitfield, 0),
+ HOW (R_PARISC_LTOFF_TP14F, 2, 14, FALSE, bitfield, 0),
/* 168 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
/* 176 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
/* 184 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
/* 192 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
/* 200 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
/* 208 */
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
/* 216 */
- { R_PARISC_TPREL64, 0, 4, 64, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TPREL64", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_TPREL14WR, 0, 2, 14, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_TPREL14WR", FALSE, 0, 0, FALSE },
- { R_PARISC_TPREL14DR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TPREL14DR", FALSE, 0, 0, FALSE },
- { R_PARISC_TPREL16F, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TPREL16F", FALSE, 0, 0, FALSE },
- { R_PARISC_TPREL16WF, 0, 2, 16, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_TPREL16WF", FALSE, 0, 0, FALSE },
- { R_PARISC_TPREL16DF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TPREL16DF", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_TPREL64, 4, 64, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_TPREL14WR, 2, 14, FALSE, dont, 0),
+ HOW (R_PARISC_TPREL14DR, 2, 14, FALSE, bitfield, 0),
+ HOW (R_PARISC_TPREL16F, 2, 16, FALSE, bitfield, 0),
+ HOW (R_PARISC_TPREL16WF, 2, 16, FALSE, dont, 0),
+ HOW (R_PARISC_TPREL16DF, 2, 16, FALSE, bitfield, 0),
/* 224 */
- { R_PARISC_LTOFF_TP64, 0, 4, 64, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP64", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_TP14WR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP14WR", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_TP14DR, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP14DR", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_TP16F, 0, 2, 16, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP16F", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_TP16WF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP16WF", FALSE, 0, 0, FALSE },
- { R_PARISC_LTOFF_TP16DF, 0, 2, 16, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP16DF", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_LTOFF_TP64, 4, 64, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_UNIMPLEMENTED, 0, 0, FALSE, bitfield, 0),
+ HOW (R_PARISC_LTOFF_TP14WR, 2, 14, FALSE, bitfield, 0),
+ HOW (R_PARISC_LTOFF_TP14DR, 2, 14, FALSE, bitfield, 0),
+ HOW (R_PARISC_LTOFF_TP16F, 2, 16, FALSE, dont, 0),
+ HOW (R_PARISC_LTOFF_TP16WF, 2, 16, FALSE, bitfield, 0),
+ HOW (R_PARISC_LTOFF_TP16DF, 2, 16, FALSE, bitfield, 0),
/* 232 */
- { R_PARISC_GNU_VTENTRY, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_GNU_VTENTRY", FALSE, 0, 0, FALSE },
- { R_PARISC_GNU_VTINHERIT, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_GNU_VTINHERIT", FALSE, 0, 0, FALSE },
- { R_PARISC_TLS_GD21L, 0, 2, 21, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TLS_GD21L", FALSE, 0, 0, FALSE },
- { R_PARISC_TLS_GD14R, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TLS_GD14R", FALSE, 0, 0, FALSE },
- { R_PARISC_TLS_GDCALL, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_TLS_GDCALL", FALSE, 0, 0, FALSE },
- { R_PARISC_TLS_LDM21L, 0, 2, 21, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TLS_LDM21L", FALSE, 0, 0, FALSE },
- { R_PARISC_TLS_LDM14R, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TLS_LDM14R", FALSE, 0, 0, FALSE },
- { R_PARISC_TLS_LDMCALL, 0, 0, 0, FALSE, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_PARISC_TLS_LDMCALL", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_GNU_VTENTRY, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_GNU_VTINHERIT, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_TLS_GD21L, 2, 21, FALSE, bitfield, 0),
+ HOW (R_PARISC_TLS_GD14R, 2, 14, FALSE, bitfield, 0),
+ HOW (R_PARISC_TLS_GDCALL, 0, 0, FALSE, dont, 0),
+ HOW (R_PARISC_TLS_LDM21L, 2, 21, FALSE, bitfield, 0),
+ HOW (R_PARISC_TLS_LDM14R, 2, 14, FALSE, bitfield, 0),
+ HOW (R_PARISC_TLS_LDMCALL, 0, 0, FALSE, dont, 0),
/* 240 */
- { R_PARISC_TLS_LDO21L, 0, 2, 21, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TLS_LDO21L", FALSE, 0, 0, FALSE },
- { R_PARISC_TLS_LDO14R, 0, 2, 14, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TLS_LDO14R", FALSE, 0, 0, FALSE },
- { R_PARISC_TLS_DTPMOD32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TLS_DTPMOD32", FALSE, 0, 0, FALSE },
- { R_PARISC_TLS_DTPMOD64, 0, 4, 64, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TLS_DTPMOD64", FALSE, 0, 0, FALSE },
- { R_PARISC_TLS_DTPOFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TLS_DTPOFF32", FALSE, 0, 0, FALSE },
- { R_PARISC_TLS_DTPOFF64, 0, 4, 64, FALSE, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_PARISC_TLS_DTPOFF64", FALSE, 0, 0, FALSE },
+ HOW (R_PARISC_TLS_LDO21L, 2, 21, FALSE, bitfield, 0),
+ HOW (R_PARISC_TLS_LDO14R, 2, 14, FALSE, bitfield, 0),
+ HOW (R_PARISC_TLS_DTPMOD32, 2, 32, FALSE, bitfield, 0),
+ HOW (R_PARISC_TLS_DTPMOD64, 4, 64, FALSE, bitfield, 0),
+ HOW (R_PARISC_TLS_DTPOFF32, 2, 32, FALSE, bitfield, 0),
+ HOW (R_PARISC_TLS_DTPOFF64, 4, 64, FALSE, bitfield, 0)
+#undef HOW
};
#define OFFSET_14R_FROM_21L 4
diff --git a/bfd/elf32-mep.c b/bfd/elf32-mep.c
index 5224d9abfa..473e84c1c1 100644
--- a/bfd/elf32-mep.c
+++ b/bfd/elf32-mep.c
@@ -30,7 +30,7 @@
/* Private relocation functions. */
#define MEPREL(type, size, bits, right, left, pcrel, overflow, mask) \
- {(unsigned)type, right, size, bits, pcrel, left, overflow, bfd_elf_generic_reloc, #type, FALSE, 0, mask, 0 }
+ HOWTO (type, right, size, bits, pcrel, left, overflow, bfd_elf_generic_reloc, #type, FALSE, 0, mask, 0)
#define N complain_overflow_dont
#define S complain_overflow_signed
diff --git a/bfd/ns32knetbsd.c b/bfd/ns32knetbsd.c
index cc6871c7e1..09d3323602 100644
--- a/bfd/ns32knetbsd.c
+++ b/bfd/ns32knetbsd.c
@@ -48,6 +48,6 @@
#include "sysdep.h"
#include "bfd.h" /* To ensure following declaration is OK. */
-const struct reloc_howto_struct * MY_bfd_reloc_type_lookup (bfd *, bfd_reloc_code_real_type);
+reloc_howto_type * MY_bfd_reloc_type_lookup (bfd *, bfd_reloc_code_real_type);
#include "netbsd.h"
diff --git a/bfd/reloc.c b/bfd/reloc.c
index aaf3a801fd..ec58a7e4af 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -372,20 +372,12 @@ FUNCTION
The HOWTO Macro
DESCRIPTION
- The HOWTO define is horrible and will go away.
+ The HOWTO macro fills in a reloc_howto_type (a typedef for
+ const struct reloc_howto_struct).
.#define HOWTO(C, R, S, B, P, BI, O, SF, NAME, INPLACE, MASKSRC, MASKDST, PC) \
. { (unsigned) C, R, S, B, P, BI, O, SF, NAME, INPLACE, MASKSRC, MASKDST, PC }
-DESCRIPTION
- And will be replaced with the totally magic way. But for the
- moment, we are compatible, so do it this way.
-
-.#define NEWHOWTO(FUNCTION, NAME, SIZE, REL, IN) \
-. HOWTO (0, 0, SIZE, 0, REL, 0, complain_overflow_dont, FUNCTION, \
-. NAME, FALSE, 0, 0, IN)
-.
-
DESCRIPTION
This is used to fill in an empty howto entry in an array.
@@ -393,25 +385,6 @@ DESCRIPTION
. HOWTO ((C), 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL, \
. NULL, FALSE, 0, 0, FALSE)
.
-
-DESCRIPTION
- Helper routine to turn a symbol into a relocation value.
-
-.#define HOWTO_PREPARE(relocation, symbol) \
-. { \
-. if (symbol != NULL) \
-. { \
-. if (bfd_is_com_section (symbol->section)) \
-. { \
-. relocation = 0; \
-. } \
-. else \
-. { \
-. relocation = symbol->value; \
-. } \
-. } \
-. }
-.
*/
/*
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c
index 11817cfbec..fc45260e49 100644
--- a/bfd/vms-alpha.c
+++ b/bfd/vms-alpha.c
@@ -5601,7 +5601,7 @@ static reloc_howto_type alpha_howto_table[] =
/* Return a pointer to a howto structure which, when invoked, will perform
the relocation code on data from the architecture noted. */
-static const struct reloc_howto_struct *
+static reloc_howto_type *
alpha_vms_bfd_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
bfd_reloc_code_real_type code)
{
--
Alan Modra
Australia Development Lab, IBM