aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2018-08-20 19:36:05 +0930
committerAlan Modra <amodra@gmail.com>2018-08-21 14:59:53 +0930
commit487096bf0bd5499b1d23ecbe5fd64f9f0079c0b5 (patch)
tree7fdf2a12c1919c5f5a8fdb2d08f8ac58b366e381 /bfd
parent08a8fe2ffd9766877a74a52922b4391d37e85491 (diff)
downloadgdb-487096bf0bd5499b1d23ecbe5fd64f9f0079c0b5.zip
gdb-487096bf0bd5499b1d23ecbe5fd64f9f0079c0b5.tar.gz
gdb-487096bf0bd5499b1d23ecbe5fd64f9f0079c0b5.tar.bz2
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.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog15
-rw-r--r--bfd/bfd-in2.h19
-rw-r--r--bfd/coff-arm.c2
-rw-r--r--bfd/elf-hppa.h742
-rw-r--r--bfd/elf32-mep.c2
-rw-r--r--bfd/ns32knetbsd.c2
-rw-r--r--bfd/reloc.c31
-rw-r--r--bfd/vms-alpha.c2
8 files changed, 271 insertions, 544 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 2af1fc0..f6dfda9 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,18 @@
+2018-08-21 Alan Modra <amodra@gmail.com>
+
+ * 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.
+
2018-08-20 Alan Modra <amodra@gmail.com>
* mmo.c (valid_mmo_symbol_character_set): Initialize and make
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 58afff2..617f2c9 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2660,29 +2660,10 @@ 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 }
-#define NEWHOWTO(FUNCTION, NAME, SIZE, REL, IN) \
- HOWTO (0, 0, SIZE, 0, REL, 0, complain_overflow_dont, FUNCTION, \
- NAME, FALSE, 0, 0, IN)
-
#define EMPTY_HOWTO(C) \
HOWTO ((C), 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL, \
NULL, FALSE, 0, 0, FALSE)
-#define HOWTO_PREPARE(relocation, symbol) \
- { \
- if (symbol != NULL) \
- { \
- if (bfd_is_com_section (symbol->section)) \
- { \
- relocation = 0; \
- } \
- else \
- { \
- relocation = symbol->value; \
- } \
- } \
- }
-
unsigned int bfd_get_reloc_size (reloc_howto_type *);
typedef struct relent_chain
diff --git a/bfd/coff-arm.c b/bfd/coff-arm.c
index f0e3e30..a07fc64 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 5eac129..9f34a03 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 5224d9a..473e84c 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 cc6871c..09d3323 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 aaf3a80..ec58a7e 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -372,46 +372,19 @@ 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.
.#define EMPTY_HOWTO(C) \
. 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 11817cfb..fc45260 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)
{