Ignore:
Timestamp:
Aug 16, 2003, 6:59:22 PM (22 years ago)
Author:
bird
Message:

binutils v2.14 - offical sources.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GNU/src/binutils/bfd/elf-hppa.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r608 r609  
    11/* Common code for PA ELF implementations.
    2    Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
     2   Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    33
    44This file is part of BFD, the Binary File Descriptor library.
     
    2929#define ELF_R_TYPE(X)   ELF64_R_TYPE(X)
    3030#define ELF_R_SYM(X)   ELF64_R_SYM(X)
    31 #define elf_hppa_internal_shdr Elf64_Internal_Shdr
     31#define elf_hppa_reloc_final_type elf64_hppa_reloc_final_type
    3232#define _bfd_elf_hppa_gen_reloc_type _bfd_elf64_hppa_gen_reloc_type
    3333#define elf_hppa_relocate_section elf64_hppa_relocate_section
     
    3838#define ELF_R_TYPE(X)   ELF32_R_TYPE(X)
    3939#define ELF_R_SYM(X)   ELF32_R_SYM(X)
    40 #define elf_hppa_internal_shdr Elf32_Internal_Shdr
     40#define elf_hppa_reloc_final_type elf32_hppa_reloc_final_type
    4141#define _bfd_elf_hppa_gen_reloc_type _bfd_elf32_hppa_gen_reloc_type
    4242#define elf_hppa_relocate_section elf32_hppa_relocate_section
     
    4545#endif
    4646
    47 elf_hppa_reloc_type ** _bfd_elf_hppa_gen_reloc_type
    48   PARAMS ((bfd *, elf_hppa_reloc_type, int, unsigned int, int, asymbol *));
    49 
    5047static void elf_hppa_info_to_howto
    5148  PARAMS ((bfd *, arelent *, Elf_Internal_Rela *));
    5249
    5350static void elf_hppa_info_to_howto_rel
    54   PARAMS ((bfd *, arelent *, Elf_Internal_Rel *));
     51  PARAMS ((bfd *, arelent *, Elf_Internal_Rela *));
    5552
    5653static reloc_howto_type * elf_hppa_reloc_type_lookup
    5754  PARAMS ((bfd *, bfd_reloc_code_real_type));
    5855
    59 static boolean elf_hppa_is_local_label_name
     56static bfd_boolean elf_hppa_is_local_label_name
    6057  PARAMS ((bfd *, const char *));
    6158
    62 static boolean elf_hppa_fake_sections
    63   PARAMS ((bfd *abfd, elf_hppa_internal_shdr *, asection *));
     59static bfd_boolean elf_hppa_fake_sections
     60  PARAMS ((bfd *abfd, Elf_Internal_Shdr *, asection *));
    6461
    6562static void elf_hppa_final_write_processing
    66   PARAMS ((bfd *, boolean));
     63  PARAMS ((bfd *, bfd_boolean));
     64
     65static int hppa_unwind_entry_compare
     66  PARAMS ((const PTR, const PTR));
     67
     68static bfd_boolean elf_hppa_sort_unwind
     69  PARAMS ((bfd *));
    6770
    6871#if ARCH_SIZE == 64
    69 static boolean elf_hppa_add_symbol_hook
     72static bfd_boolean elf_hppa_add_symbol_hook
    7073  PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *,
    7174           const char **, flagword *, asection **, bfd_vma *));
    7275
    73 static boolean elf_hppa_unmark_useless_dynamic_symbols
     76static bfd_boolean elf_hppa_unmark_useless_dynamic_symbols
    7477  PARAMS ((struct elf_link_hash_entry *, PTR));
    7578
    76 static boolean elf_hppa_remark_useless_dynamic_symbols
     79static bfd_boolean elf_hppa_remark_useless_dynamic_symbols
    7780  PARAMS ((struct elf_link_hash_entry *, PTR));
     81
     82static bfd_boolean elf_hppa_is_dynamic_loader_symbol
     83  PARAMS ((const char *));
    7884
    7985static void elf_hppa_record_segment_addrs
    8086  PARAMS ((bfd *, asection *, PTR));
    8187
    82 static boolean elf_hppa_final_link
     88static bfd_boolean elf_hppa_final_link
    8389  PARAMS ((bfd *, struct bfd_link_info *));
    8490
    85 static boolean elf_hppa_relocate_section
     91static bfd_boolean elf_hppa_relocate_section
    8692  PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *,
    87            bfd_byte *, Elf_Internal_Rela *, Elf_Internal_Sym *, asection **));
     93           bfd_byte *, Elf_Internal_Rela *, Elf_Internal_Sym *, asection **));
    8894
    8995static bfd_reloc_status_type elf_hppa_final_link_relocate
    9096  PARAMS ((Elf_Internal_Rela *, bfd *, bfd *, asection *,
    91            bfd_byte *, bfd_vma, struct bfd_link_info *,
    92            asection *, struct elf_link_hash_entry *,
     97           bfd_byte *, bfd_vma, struct bfd_link_info *,
     98           asection *, struct elf_link_hash_entry *,
    9399           struct elf64_hppa_dyn_hash_entry *));
    94100
    95 static unsigned int elf_hppa_relocate_insn
    96   PARAMS ((unsigned int, unsigned int, unsigned int));
     101static int elf_hppa_relocate_insn
     102  PARAMS ((int, int, unsigned int));
    97103#endif
    98104
     
    101107static reloc_howto_type elf_hppa_howto_table[ELF_HOWTO_TABLE_SIZE] =
    102108{
    103   { R_PARISC_NONE, 0, 0, 0, false, 0, complain_overflow_bitfield,
    104     bfd_elf_generic_reloc, "R_PARISC_NONE", false, 0, 0, false },
     109  { R_PARISC_NONE, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     110    bfd_elf_generic_reloc, "R_PARISC_NONE", FALSE, 0, 0, FALSE },
    105111
    106112  /* The values in DIR32 are to placate the check in
    107113     _bfd_stab_section_find_nearest_line.  */
    108   { R_PARISC_DIR32, 0, 2, 32, false, 0, complain_overflow_bitfield,
    109     bfd_elf_generic_reloc, "R_PARISC_DIR32", false, 0, 0xffffffff, false },
    110   { R_PARISC_DIR21L, 0, 0, 21, false, 0, complain_overflow_bitfield,
    111     bfd_elf_generic_reloc, "R_PARISC_DIR21L", false, 0, 0, false },
    112   { R_PARISC_DIR17R, 0, 0, 17, false, 0, complain_overflow_bitfield,
    113     bfd_elf_generic_reloc, "R_PARISC_DIR17R", false, 0, 0, false },
    114   { R_PARISC_DIR17F, 0, 0, 17, false, 0, complain_overflow_bitfield,
    115     bfd_elf_generic_reloc, "R_PARISC_DIR17F", false, 0, 0, false },
    116   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    117     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    118   { R_PARISC_DIR14R, 0, 0, 14, false, 0, complain_overflow_bitfield,
    119     bfd_elf_generic_reloc, "R_PARISC_DIR14R", false, 0, 0, false },
    120   { R_PARISC_DIR14F, 0, 0, 14, false, 0, complain_overflow_bitfield,
    121     bfd_elf_generic_reloc, "R_PARISC_DIR14F", false, 0, 0, false },
     114  { R_PARISC_DIR32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
     115    bfd_elf_generic_reloc, "R_PARISC_DIR32", FALSE, 0, 0xffffffff, FALSE },
     116  { R_PARISC_DIR21L, 0, 0, 21, FALSE, 0, complain_overflow_bitfield,
     117    bfd_elf_generic_reloc, "R_PARISC_DIR21L", FALSE, 0, 0, FALSE },
     118  { R_PARISC_DIR17R, 0, 0, 17, FALSE, 0, complain_overflow_bitfield,
     119    bfd_elf_generic_reloc, "R_PARISC_DIR17R", FALSE, 0, 0, FALSE },
     120  { R_PARISC_DIR17F, 0, 0, 17, FALSE, 0, complain_overflow_bitfield,
     121    bfd_elf_generic_reloc, "R_PARISC_DIR17F", FALSE, 0, 0, FALSE },
     122  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     123    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     124  { R_PARISC_DIR14R, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     125    bfd_elf_generic_reloc, "R_PARISC_DIR14R", FALSE, 0, 0, FALSE },
     126  { R_PARISC_DIR14F, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     127    bfd_elf_generic_reloc, "R_PARISC_DIR14F", FALSE, 0, 0, FALSE },
    122128  /* 8 */
    123   { R_PARISC_PCREL12F, 0, 0, 12, true, 0, complain_overflow_bitfield,
    124     bfd_elf_generic_reloc, "R_PARISC_PCREL12F", false, 0, 0, false },
    125   { R_PARISC_PCREL32, 0, 0, 32, true, 0, complain_overflow_bitfield,
    126     bfd_elf_generic_reloc, "R_PARISC_PCREL32", false, 0, 0, false },
    127   { R_PARISC_PCREL21L, 0, 0, 21, true, 0, complain_overflow_bitfield,
    128     bfd_elf_generic_reloc, "R_PARISC_PCREL21L", false, 0, 0, false },
    129   { R_PARISC_PCREL17R, 0, 0, 17, true, 0, complain_overflow_bitfield,
    130     bfd_elf_generic_reloc, "R_PARISC_PCREL17R", false, 0, 0, false },
    131   { R_PARISC_PCREL17F, 0, 0, 17, true, 0, complain_overflow_bitfield,
    132     bfd_elf_generic_reloc, "R_PARISC_PCREL17F", false, 0, 0, false },
    133   { R_PARISC_PCREL17C, 0, 0, 17, true, 0, complain_overflow_bitfield,
    134     bfd_elf_generic_reloc, "R_PARISC_PCREL17C", false, 0, 0, false },
    135   { R_PARISC_PCREL14R, 0, 0, 14, true, 0, complain_overflow_bitfield,
    136     bfd_elf_generic_reloc, "R_PARISC_PCREL14R", false, 0, 0, false },
    137   { R_PARISC_PCREL14F, 0, 0, 14, true, 0, complain_overflow_bitfield,
    138     bfd_elf_generic_reloc, "R_PARISC_PCREL14F", false, 0, 0, false },
     129  { R_PARISC_PCREL12F, 0, 0, 12, TRUE, 0, complain_overflow_bitfield,
     130    bfd_elf_generic_reloc, "R_PARISC_PCREL12F", FALSE, 0, 0, FALSE },
     131  { R_PARISC_PCREL32, 0, 0, 32, TRUE, 0, complain_overflow_bitfield,
     132    bfd_elf_generic_reloc, "R_PARISC_PCREL32", FALSE, 0, 0, FALSE },
     133  { R_PARISC_PCREL21L, 0, 0, 21, TRUE, 0, complain_overflow_bitfield,
     134    bfd_elf_generic_reloc, "R_PARISC_PCREL21L", FALSE, 0, 0, FALSE },
     135  { R_PARISC_PCREL17R, 0, 0, 17, TRUE, 0, complain_overflow_bitfield,
     136    bfd_elf_generic_reloc, "R_PARISC_PCREL17R", FALSE, 0, 0, FALSE },
     137  { R_PARISC_PCREL17F, 0, 0, 17, TRUE, 0, complain_overflow_bitfield,
     138    bfd_elf_generic_reloc, "R_PARISC_PCREL17F", FALSE, 0, 0, FALSE },
     139  { R_PARISC_PCREL17C, 0, 0, 17, TRUE, 0, complain_overflow_bitfield,
     140    bfd_elf_generic_reloc, "R_PARISC_PCREL17C", FALSE, 0, 0, FALSE },
     141  { R_PARISC_PCREL14R, 0, 0, 14, TRUE, 0, complain_overflow_bitfield,
     142    bfd_elf_generic_reloc, "R_PARISC_PCREL14R", FALSE, 0, 0, FALSE },
     143  { R_PARISC_PCREL14F, 0, 0, 14, TRUE, 0, complain_overflow_bitfield,
     144    bfd_elf_generic_reloc, "R_PARISC_PCREL14F", FALSE, 0, 0, FALSE },
    139145  /* 16 */
    140   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    141     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    142   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    143     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    144   { R_PARISC_DPREL21L, 0, 0, 21, false, 0, complain_overflow_bitfield,
    145     bfd_elf_generic_reloc, "R_PARISC_DPREL21L", false, 0, 0, false },
    146   { R_PARISC_DPREL14WR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    147     bfd_elf_generic_reloc, "R_PARISC_DPREL14WR", false, 0, 0, false },
    148   { R_PARISC_DPREL14DR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    149     bfd_elf_generic_reloc, "R_PARISC_DPREL14DR", false, 0, 0, false },
    150   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    151     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    152   { R_PARISC_DPREL14R, 0, 0, 14, false, 0, complain_overflow_bitfield,
    153     bfd_elf_generic_reloc, "R_PARISC_DPREL14R", false, 0, 0, false },
    154   { R_PARISC_DPREL14F, 0, 0, 14, false, 0, complain_overflow_bitfield,
    155     bfd_elf_generic_reloc, "R_PARISC_DPREL14F", false, 0, 0, false },
     146  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     147    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     148  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     149    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     150  { R_PARISC_DPREL21L, 0, 0, 21, FALSE, 0, complain_overflow_bitfield,
     151    bfd_elf_generic_reloc, "R_PARISC_DPREL21L", FALSE, 0, 0, FALSE },
     152  { R_PARISC_DPREL14WR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     153    bfd_elf_generic_reloc, "R_PARISC_DPREL14WR", FALSE, 0, 0, FALSE },
     154  { R_PARISC_DPREL14DR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     155    bfd_elf_generic_reloc, "R_PARISC_DPREL14DR", FALSE, 0, 0, FALSE },
     156  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     157    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     158  { R_PARISC_DPREL14R, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     159    bfd_elf_generic_reloc, "R_PARISC_DPREL14R", FALSE, 0, 0, FALSE },
     160  { R_PARISC_DPREL14F, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     161    bfd_elf_generic_reloc, "R_PARISC_DPREL14F", FALSE, 0, 0, FALSE },
    156162  /* 24 */
    157   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    158     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    159   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    160     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    161   { R_PARISC_DLTREL21L, 0, 0, 21, false, 0, complain_overflow_bitfield,
    162     bfd_elf_generic_reloc, "R_PARISC_DLTREL21L", false, 0, 0, false },
    163   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    164     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    165   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    166     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    167   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    168     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    169   { R_PARISC_DLTREL14R, 0, 0, 14, false, 0, complain_overflow_bitfield,
    170     bfd_elf_generic_reloc, "R_PARISC_DLTREL14R", false, 0, 0, false },
    171   { R_PARISC_DLTREL14F, 0, 0, 14, false, 0, complain_overflow_bitfield,
    172     bfd_elf_generic_reloc, "R_PARISC_DLTREL14F", false, 0, 0, false },
     163  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     164    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     165  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     166    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     167  { R_PARISC_DLTREL21L, 0, 0, 21, FALSE, 0, complain_overflow_bitfield,
     168    bfd_elf_generic_reloc, "R_PARISC_DLTREL21L", FALSE, 0, 0, FALSE },
     169  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     170    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     171  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     172    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     173  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     174    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     175  { R_PARISC_DLTREL14R, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     176    bfd_elf_generic_reloc, "R_PARISC_DLTREL14R", FALSE, 0, 0, FALSE },
     177  { R_PARISC_DLTREL14F, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     178    bfd_elf_generic_reloc, "R_PARISC_DLTREL14F", FALSE, 0, 0, FALSE },
    173179  /* 32 */
    174   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    175     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    176   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    177     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    178   { R_PARISC_DLTIND21L, 0, 0, 21, false, 0, complain_overflow_bitfield,
    179     bfd_elf_generic_reloc, "R_PARISC_DLTIND21L", false, 0, 0, false },
    180   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    181     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    182   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    183     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    184   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    185     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    186   { R_PARISC_DLTIND14R, 0, 0, 14, false, 0, complain_overflow_bitfield,
    187     bfd_elf_generic_reloc, "R_PARISC_DLTIND14R", false, 0, 0, false },
    188   { R_PARISC_DLTIND14F, 0, 0, 14, false, 0, complain_overflow_bitfield,
    189     bfd_elf_generic_reloc, "R_PARISC_DLTIND14F", false, 0, 0, false },
     180  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     181    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     182  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     183    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     184  { R_PARISC_DLTIND21L, 0, 0, 21, FALSE, 0, complain_overflow_bitfield,
     185    bfd_elf_generic_reloc, "R_PARISC_DLTIND21L", FALSE, 0, 0, FALSE },
     186  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     187    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     188  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     189    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     190  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     191    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     192  { R_PARISC_DLTIND14R, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     193    bfd_elf_generic_reloc, "R_PARISC_DLTIND14R", FALSE, 0, 0, FALSE },
     194  { R_PARISC_DLTIND14F, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     195    bfd_elf_generic_reloc, "R_PARISC_DLTIND14F", FALSE, 0, 0, FALSE },
    190196  /* 40 */
    191   { R_PARISC_SETBASE, 0, 0, 0, false, 0, complain_overflow_bitfield,
    192     bfd_elf_generic_reloc, "R_PARISC_SETBASE", false, 0, 0, false },
    193   { R_PARISC_SECREL32, 0, 0, 32, false, 0, complain_overflow_bitfield,
    194     bfd_elf_generic_reloc, "R_PARISC_SECREL32", false, 0, 0, false },
    195   { R_PARISC_BASEREL21L, 0, 0, 21, false, 0, complain_overflow_bitfield,
    196     bfd_elf_generic_reloc, "R_PARISC_BASEREL21L", false, 0, 0, false },
    197   { R_PARISC_BASEREL17R, 0, 0, 17, false, 0, complain_overflow_bitfield,
    198     bfd_elf_generic_reloc, "R_PARISC_BASEREL17R", false, 0, 0, false },
    199   { R_PARISC_BASEREL17F, 0, 0, 17, false, 0, complain_overflow_bitfield,
    200     bfd_elf_generic_reloc, "R_PARISC_BASEREL17F", false, 0, 0, false },
    201   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    202     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    203   { R_PARISC_BASEREL14R, 0, 0, 14, false, 0, complain_overflow_bitfield,
    204     bfd_elf_generic_reloc, "R_PARISC_BASEREL14R", false, 0, 0, false },
    205   { R_PARISC_BASEREL14F, 0, 0, 14, false, 0, complain_overflow_bitfield,
    206     bfd_elf_generic_reloc, "R_PARISC_BASEREL14F", false, 0, 0, false },
     197  { R_PARISC_SETBASE, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     198    bfd_elf_generic_reloc, "R_PARISC_SETBASE", FALSE, 0, 0, FALSE },
     199  { R_PARISC_SECREL32, 0, 0, 32, FALSE, 0, complain_overflow_bitfield,
     200    bfd_elf_generic_reloc, "R_PARISC_SECREL32", FALSE, 0, 0, FALSE },
     201  { R_PARISC_BASEREL21L, 0, 0, 21, FALSE, 0, complain_overflow_bitfield,
     202    bfd_elf_generic_reloc, "R_PARISC_BASEREL21L", FALSE, 0, 0, FALSE },
     203  { R_PARISC_BASEREL17R, 0, 0, 17, FALSE, 0, complain_overflow_bitfield,
     204    bfd_elf_generic_reloc, "R_PARISC_BASEREL17R", FALSE, 0, 0, FALSE },
     205  { R_PARISC_BASEREL17F, 0, 0, 17, FALSE, 0, complain_overflow_bitfield,
     206    bfd_elf_generic_reloc, "R_PARISC_BASEREL17F", FALSE, 0, 0, FALSE },
     207  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     208    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     209  { R_PARISC_BASEREL14R, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     210    bfd_elf_generic_reloc, "R_PARISC_BASEREL14R", FALSE, 0, 0, FALSE },
     211  { R_PARISC_BASEREL14F, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     212    bfd_elf_generic_reloc, "R_PARISC_BASEREL14F", FALSE, 0, 0, FALSE },
    207213  /* 48 */
    208   { R_PARISC_SEGBASE, 0, 0, 0, false, 0, complain_overflow_bitfield,
    209     bfd_elf_generic_reloc, "R_PARISC_SEGBASE", false, 0, 0, false },
    210   { R_PARISC_SEGREL32, 0, 0, 32, false, 0, complain_overflow_bitfield,
    211     bfd_elf_generic_reloc, "R_PARISC_SEGREL32", false, 0, 0, false },
    212   { R_PARISC_PLTOFF21L, 0, 0, 21, false, 0, complain_overflow_bitfield,
    213     bfd_elf_generic_reloc, "R_PARISC_PLTOFF21L", false, 0, 0, false },
    214   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    215     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    216   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    217     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    218   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    219     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    220   { R_PARISC_PLTOFF14R, 0, 0, 14, false, 0, complain_overflow_bitfield,
    221     bfd_elf_generic_reloc, "R_PARISC_PLTOFF14R", false, 0, 0, false },
    222   { R_PARISC_PLTOFF14F, 0, 0, 14, false, 0, complain_overflow_bitfield,
    223     bfd_elf_generic_reloc, "R_PARISC_PLTOFF14F", false, 0, 0, false },
     214  { R_PARISC_SEGBASE, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     215    bfd_elf_generic_reloc, "R_PARISC_SEGBASE", FALSE, 0, 0, FALSE },
     216  { R_PARISC_SEGREL32, 0, 0, 32, FALSE, 0, complain_overflow_bitfield,
     217    bfd_elf_generic_reloc, "R_PARISC_SEGREL32", FALSE, 0, 0, FALSE },
     218  { R_PARISC_PLTOFF21L, 0, 0, 21, FALSE, 0, complain_overflow_bitfield,
     219    bfd_elf_generic_reloc, "R_PARISC_PLTOFF21L", FALSE, 0, 0, FALSE },
     220  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     221    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     222  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     223    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     224  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     225    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     226  { R_PARISC_PLTOFF14R, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     227    bfd_elf_generic_reloc, "R_PARISC_PLTOFF14R", FALSE, 0, 0, FALSE },
     228  { R_PARISC_PLTOFF14F, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     229    bfd_elf_generic_reloc, "R_PARISC_PLTOFF14F", FALSE, 0, 0, FALSE },
    224230  /* 56 */
    225   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    226     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    227   { R_PARISC_LTOFF_FPTR32, 0, 0, 32, false, 0, complain_overflow_bitfield,
    228     bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR32", false, 0, 0, false },
    229   { R_PARISC_LTOFF_FPTR21L, 0, 0, 21, false, 0, complain_overflow_bitfield,
    230     bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR21L", false, 0, 0, false },
    231   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    232     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    233   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    234     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    235   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    236     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    237   { R_PARISC_LTOFF_FPTR14R, 0, 0, 14, false, 0, complain_overflow_bitfield,
    238     bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR14R", false, 0, 0, false },
    239   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    240     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     231  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     232    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     233  { R_PARISC_LTOFF_FPTR32, 0, 0, 32, FALSE, 0, complain_overflow_bitfield,
     234    bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR32", FALSE, 0, 0, FALSE },
     235  { R_PARISC_LTOFF_FPTR21L, 0, 0, 21, FALSE, 0, complain_overflow_bitfield,
     236    bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR21L", FALSE, 0, 0, FALSE },
     237  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     238    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     239  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     240    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     241  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     242    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     243  { R_PARISC_LTOFF_FPTR14R, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     244    bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR14R", FALSE, 0, 0, FALSE },
     245  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     246    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    241247  /* 64 */
    242   { R_PARISC_FPTR64, 0, 0, 64, false, 0, complain_overflow_bitfield,
    243     bfd_elf_generic_reloc, "R_PARISC_FPTR64", false, 0, 0, false },
    244   { R_PARISC_PLABEL32, 0, 0, 32, false, 0, complain_overflow_bitfield,
    245     bfd_elf_generic_reloc, "R_PARISC_PLABEL32", false, 0, 0, false },
    246   { R_PARISC_PLABEL21L, 0, 0, 21, false, 0, complain_overflow_bitfield,
    247     bfd_elf_generic_reloc, "R_PARISC_PLABEL21L", false, 0, 0, false },
    248   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    249     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    250   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    251     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    252   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    253     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    254   { R_PARISC_PLABEL14R, 0, 0, 14, false, 0, complain_overflow_bitfield,
    255     bfd_elf_generic_reloc, "R_PARISC_PLABEL14R", false, 0, 0, false },
    256   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    257     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     248  { R_PARISC_FPTR64, 0, 0, 64, FALSE, 0, complain_overflow_bitfield,
     249    bfd_elf_generic_reloc, "R_PARISC_FPTR64", FALSE, 0, 0, FALSE },
     250  { R_PARISC_PLABEL32, 0, 0, 32, FALSE, 0, complain_overflow_bitfield,
     251    bfd_elf_generic_reloc, "R_PARISC_PLABEL32", FALSE, 0, 0, FALSE },
     252  { R_PARISC_PLABEL21L, 0, 0, 21, FALSE, 0, complain_overflow_bitfield,
     253    bfd_elf_generic_reloc, "R_PARISC_PLABEL21L", FALSE, 0, 0, FALSE },
     254  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     255    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     256  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     257    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     258  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     259    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     260  { R_PARISC_PLABEL14R, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     261    bfd_elf_generic_reloc, "R_PARISC_PLABEL14R", FALSE, 0, 0, FALSE },
     262  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     263    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    258264  /* 72 */
    259   { R_PARISC_PCREL64, 0, 0, 64, false, 0, complain_overflow_bitfield,
    260     bfd_elf_generic_reloc, "R_PARISC_PCREL64", false, 0, 0, false },
    261   { R_PARISC_PCREL22C, 0, 0, 22, false, 0, complain_overflow_bitfield,
    262     bfd_elf_generic_reloc, "R_PARISC_PCREL22C", false, 0, 0, false },
    263   { R_PARISC_PCREL22F, 0, 0, 22, false, 0, complain_overflow_bitfield,
    264     bfd_elf_generic_reloc, "R_PARISC_PCREL22F", false, 0, 0, false },
    265   { R_PARISC_PCREL14WR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    266     bfd_elf_generic_reloc, "R_PARISC_PCREL14WR", false, 0, 0, false },
    267   { R_PARISC_PCREL14DR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    268     bfd_elf_generic_reloc, "R_PARISC_PCREL14DR", false, 0, 0, false },
    269   { R_PARISC_PCREL16F, 0, 0, 16, false, 0, complain_overflow_bitfield,
    270     bfd_elf_generic_reloc, "R_PARISC_PCREL16F", false, 0, 0, false },
    271   { R_PARISC_PCREL16WF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    272     bfd_elf_generic_reloc, "R_PARISC_PCREL16WF", false, 0, 0, false },
    273   { R_PARISC_PCREL16DF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    274     bfd_elf_generic_reloc, "R_PARISC_PCREL16DF", false, 0, 0, false },
     265  { R_PARISC_PCREL64, 0, 0, 64, FALSE, 0, complain_overflow_bitfield,
     266    bfd_elf_generic_reloc, "R_PARISC_PCREL64", FALSE, 0, 0, FALSE },
     267  { R_PARISC_PCREL22C, 0, 0, 22, FALSE, 0, complain_overflow_bitfield,
     268    bfd_elf_generic_reloc, "R_PARISC_PCREL22C", FALSE, 0, 0, FALSE },
     269  { R_PARISC_PCREL22F, 0, 0, 22, FALSE, 0, complain_overflow_bitfield,
     270    bfd_elf_generic_reloc, "R_PARISC_PCREL22F", FALSE, 0, 0, FALSE },
     271  { R_PARISC_PCREL14WR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     272    bfd_elf_generic_reloc, "R_PARISC_PCREL14WR", FALSE, 0, 0, FALSE },
     273  { R_PARISC_PCREL14DR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     274    bfd_elf_generic_reloc, "R_PARISC_PCREL14DR", FALSE, 0, 0, FALSE },
     275  { R_PARISC_PCREL16F, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     276    bfd_elf_generic_reloc, "R_PARISC_PCREL16F", FALSE, 0, 0, FALSE },
     277  { R_PARISC_PCREL16WF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     278    bfd_elf_generic_reloc, "R_PARISC_PCREL16WF", FALSE, 0, 0, FALSE },
     279  { R_PARISC_PCREL16DF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     280    bfd_elf_generic_reloc, "R_PARISC_PCREL16DF", FALSE, 0, 0, FALSE },
    275281  /* 80 */
    276   { R_PARISC_DIR64, 0, 0, 64, false, 0, complain_overflow_bitfield,
    277     bfd_elf_generic_reloc, "R_PARISC_DIR64", false, 0, 0, false },
    278   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    279     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    280   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    281     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    282   { R_PARISC_DIR14WR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    283     bfd_elf_generic_reloc, "R_PARISC_DIR14WR", false, 0, 0, false },
    284   { R_PARISC_DIR14DR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    285     bfd_elf_generic_reloc, "R_PARISC_DIR14DR", false, 0, 0, false },
    286   { R_PARISC_DIR16F, 0, 0, 16, false, 0, complain_overflow_bitfield,
    287     bfd_elf_generic_reloc, "R_PARISC_DIR16F", false, 0, 0, false },
    288   { R_PARISC_DIR16WF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    289     bfd_elf_generic_reloc, "R_PARISC_DIR16WF", false, 0, 0, false },
    290   { R_PARISC_DIR16DF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    291     bfd_elf_generic_reloc, "R_PARISC_DIR16DF", false, 0, 0, false },
     282  { R_PARISC_DIR64, 0, 0, 64, FALSE, 0, complain_overflow_bitfield,
     283    bfd_elf_generic_reloc, "R_PARISC_DIR64", FALSE, 0, 0, FALSE },
     284  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     285    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     286  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     287    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     288  { R_PARISC_DIR14WR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     289    bfd_elf_generic_reloc, "R_PARISC_DIR14WR", FALSE, 0, 0, FALSE },
     290  { R_PARISC_DIR14DR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     291    bfd_elf_generic_reloc, "R_PARISC_DIR14DR", FALSE, 0, 0, FALSE },
     292  { R_PARISC_DIR16F, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     293    bfd_elf_generic_reloc, "R_PARISC_DIR16F", FALSE, 0, 0, FALSE },
     294  { R_PARISC_DIR16WF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     295    bfd_elf_generic_reloc, "R_PARISC_DIR16WF", FALSE, 0, 0, FALSE },
     296  { R_PARISC_DIR16DF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     297    bfd_elf_generic_reloc, "R_PARISC_DIR16DF", FALSE, 0, 0, FALSE },
    292298  /* 88 */
    293   { R_PARISC_GPREL64, 0, 0, 64, false, 0, complain_overflow_bitfield,
    294     bfd_elf_generic_reloc, "R_PARISC_GPREL64", false, 0, 0, false },
    295   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    296     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    297   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    298     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    299   { R_PARISC_DLTREL14WR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    300     bfd_elf_generic_reloc, "R_PARISC_DLTREL14WR", false, 0, 0, false },
    301   { R_PARISC_DLTREL14DR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    302     bfd_elf_generic_reloc, "R_PARISC_DLTREL14DR", false, 0, 0, false },
    303   { R_PARISC_GPREL16F, 0, 0, 16, false, 0, complain_overflow_bitfield,
    304     bfd_elf_generic_reloc, "R_PARISC_GPREL16F", false, 0, 0, false },
    305   { R_PARISC_GPREL16WF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    306     bfd_elf_generic_reloc, "R_PARISC_GPREL16WF", false, 0, 0, false },
    307   { R_PARISC_GPREL16DF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    308     bfd_elf_generic_reloc, "R_PARISC_GPREL16DF", false, 0, 0, false },
     299  { R_PARISC_GPREL64, 0, 0, 64, FALSE, 0, complain_overflow_bitfield,
     300    bfd_elf_generic_reloc, "R_PARISC_GPREL64", FALSE, 0, 0, FALSE },
     301  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     302    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     303  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     304    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     305  { R_PARISC_DLTREL14WR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     306    bfd_elf_generic_reloc, "R_PARISC_DLTREL14WR", FALSE, 0, 0, FALSE },
     307  { R_PARISC_DLTREL14DR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     308    bfd_elf_generic_reloc, "R_PARISC_DLTREL14DR", FALSE, 0, 0, FALSE },
     309  { R_PARISC_GPREL16F, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     310    bfd_elf_generic_reloc, "R_PARISC_GPREL16F", FALSE, 0, 0, FALSE },
     311  { R_PARISC_GPREL16WF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     312    bfd_elf_generic_reloc, "R_PARISC_GPREL16WF", FALSE, 0, 0, FALSE },
     313  { R_PARISC_GPREL16DF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     314    bfd_elf_generic_reloc, "R_PARISC_GPREL16DF", FALSE, 0, 0, FALSE },
    309315  /* 96 */
    310   { R_PARISC_LTOFF64, 0, 0, 64, false, 0, complain_overflow_bitfield,
    311     bfd_elf_generic_reloc, "R_PARISC_LTOFF64", false, 0, 0, false },
    312   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    313     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    314   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    315     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    316   { R_PARISC_DLTIND14WR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    317     bfd_elf_generic_reloc, "R_PARISC_DLTIND14WR", false, 0, 0, false },
    318   { R_PARISC_DLTIND14DR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    319     bfd_elf_generic_reloc, "R_PARISC_DLTIND14DR", false, 0, 0, false },
    320   { R_PARISC_LTOFF16F, 0, 0, 16, false, 0, complain_overflow_bitfield,
    321     bfd_elf_generic_reloc, "R_PARISC_LTOFF16F", false, 0, 0, false },
    322   { R_PARISC_LTOFF16WF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    323     bfd_elf_generic_reloc, "R_PARISC_LTOFF16DF", false, 0, 0, false },
    324   { R_PARISC_LTOFF16DF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    325     bfd_elf_generic_reloc, "R_PARISC_LTOFF16DF", false, 0, 0, false },
     316  { R_PARISC_LTOFF64, 0, 0, 64, FALSE, 0, complain_overflow_bitfield,
     317    bfd_elf_generic_reloc, "R_PARISC_LTOFF64", FALSE, 0, 0, FALSE },
     318  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     319    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     320  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     321    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     322  { R_PARISC_DLTIND14WR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     323    bfd_elf_generic_reloc, "R_PARISC_DLTIND14WR", FALSE, 0, 0, FALSE },
     324  { R_PARISC_DLTIND14DR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     325    bfd_elf_generic_reloc, "R_PARISC_DLTIND14DR", FALSE, 0, 0, FALSE },
     326  { R_PARISC_LTOFF16F, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     327    bfd_elf_generic_reloc, "R_PARISC_LTOFF16F", FALSE, 0, 0, FALSE },
     328  { R_PARISC_LTOFF16WF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     329    bfd_elf_generic_reloc, "R_PARISC_LTOFF16DF", FALSE, 0, 0, FALSE },
     330  { R_PARISC_LTOFF16DF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     331    bfd_elf_generic_reloc, "R_PARISC_LTOFF16DF", FALSE, 0, 0, FALSE },
    326332  /* 104 */
    327   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    328     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    329   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    330     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    331   { R_PARISC_BASEREL14WR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    332     bfd_elf_generic_reloc, "R_PARISC_BASEREL14WR", false, 0, 0, false },
    333   { R_PARISC_BASEREL14DR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    334     bfd_elf_generic_reloc, "R_PARISC_BASEREL14DR", false, 0, 0, false },
    335   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    336     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    337   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    338     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    339   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    340     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    341   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    342     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     333  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     334    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     335  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     336    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     337  { R_PARISC_BASEREL14WR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     338    bfd_elf_generic_reloc, "R_PARISC_BASEREL14WR", FALSE, 0, 0, FALSE },
     339  { R_PARISC_BASEREL14DR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     340    bfd_elf_generic_reloc, "R_PARISC_BASEREL14DR", FALSE, 0, 0, FALSE },
     341  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     342    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     343  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     344    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     345  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     346    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     347  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     348    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    343349  /* 112 */
    344   { R_PARISC_SEGREL64, 0, 0, 64, false, 0, complain_overflow_bitfield,
    345     bfd_elf_generic_reloc, "R_PARISC_SEGREL64", false, 0, 0, false },
    346   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    347     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    348   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    349     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    350   { R_PARISC_PLTOFF14WR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    351     bfd_elf_generic_reloc, "R_PARISC_PLTOFF14WR", false, 0, 0, false },
    352   { R_PARISC_PLTOFF14DR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    353     bfd_elf_generic_reloc, "R_PARISC_PLTOFF14DR", false, 0, 0, false },
    354   { R_PARISC_PLTOFF16F, 0, 0, 16, false, 0, complain_overflow_bitfield,
    355     bfd_elf_generic_reloc, "R_PARISC_PLTOFF16F", false, 0, 0, false },
    356   { R_PARISC_PLTOFF16WF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    357     bfd_elf_generic_reloc, "R_PARISC_PLTOFF16WF", false, 0, 0, false },
    358   { R_PARISC_PLTOFF16DF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    359     bfd_elf_generic_reloc, "R_PARISC_PLTOFF16DF", false, 0, 0, false },
     350  { R_PARISC_SEGREL64, 0, 0, 64, FALSE, 0, complain_overflow_bitfield,
     351    bfd_elf_generic_reloc, "R_PARISC_SEGREL64", FALSE, 0, 0, FALSE },
     352  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     353    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     354  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     355    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     356  { R_PARISC_PLTOFF14WR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     357    bfd_elf_generic_reloc, "R_PARISC_PLTOFF14WR", FALSE, 0, 0, FALSE },
     358  { R_PARISC_PLTOFF14DR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     359    bfd_elf_generic_reloc, "R_PARISC_PLTOFF14DR", FALSE, 0, 0, FALSE },
     360  { R_PARISC_PLTOFF16F, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     361    bfd_elf_generic_reloc, "R_PARISC_PLTOFF16F", FALSE, 0, 0, FALSE },
     362  { R_PARISC_PLTOFF16WF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     363    bfd_elf_generic_reloc, "R_PARISC_PLTOFF16WF", FALSE, 0, 0, FALSE },
     364  { R_PARISC_PLTOFF16DF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     365    bfd_elf_generic_reloc, "R_PARISC_PLTOFF16DF", FALSE, 0, 0, FALSE },
    360366  /* 120 */
    361   { R_PARISC_LTOFF_FPTR64, 0, 0, 64, false, 0, complain_overflow_bitfield,
    362     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    363   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    364     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    365   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    366     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    367   { R_PARISC_LTOFF_FPTR14WR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    368     bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR14WR", false, 0, 0, false },
    369   { R_PARISC_LTOFF_FPTR14DR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    370     bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR14DR", false, 0, 0, false },
    371   { R_PARISC_LTOFF_FPTR16F, 0, 0, 16, false, 0, complain_overflow_bitfield,
    372     bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR16F", false, 0, 0, false },
    373   { R_PARISC_LTOFF_FPTR16WF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    374     bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR16WF", false, 0, 0, false },
    375   { R_PARISC_LTOFF_FPTR16DF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    376     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     367  { R_PARISC_LTOFF_FPTR64, 0, 0, 64, FALSE, 0, complain_overflow_bitfield,
     368    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     369  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     370    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     371  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     372    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     373  { R_PARISC_LTOFF_FPTR14WR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     374    bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR14WR", FALSE, 0, 0, FALSE },
     375  { R_PARISC_LTOFF_FPTR14DR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     376    bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR14DR", FALSE, 0, 0, FALSE },
     377  { R_PARISC_LTOFF_FPTR16F, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     378    bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR16F", FALSE, 0, 0, FALSE },
     379  { R_PARISC_LTOFF_FPTR16WF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     380    bfd_elf_generic_reloc, "R_PARISC_LTOFF_FPTR16WF", FALSE, 0, 0, FALSE },
     381  { R_PARISC_LTOFF_FPTR16DF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     382    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    377383  /* 128 */
    378   { R_PARISC_COPY, 0, 0, 0, false, 0, complain_overflow_bitfield,
    379     bfd_elf_generic_reloc, "R_PARISC_COPY", false, 0, 0, false },
    380   { R_PARISC_IPLT, 0, 0, 0, false, 0, complain_overflow_bitfield,
    381     bfd_elf_generic_reloc, "R_PARISC_IPLT", false, 0, 0, false },
    382   { R_PARISC_EPLT, 0, 0, 0, false, 0, complain_overflow_bitfield,
    383     bfd_elf_generic_reloc, "R_PARISC_EPLT", false, 0, 0, false },
    384   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    385     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    386   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    387     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    388   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    389     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    390   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    391     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    392   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    393     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     384  { R_PARISC_COPY, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     385    bfd_elf_generic_reloc, "R_PARISC_COPY", FALSE, 0, 0, FALSE },
     386  { R_PARISC_IPLT, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     387    bfd_elf_generic_reloc, "R_PARISC_IPLT", FALSE, 0, 0, FALSE },
     388  { R_PARISC_EPLT, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     389    bfd_elf_generic_reloc, "R_PARISC_EPLT", FALSE, 0, 0, FALSE },
     390  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     391    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     392  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     393    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     394  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     395    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     396  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     397    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     398  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     399    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    394400  /* 136 */
    395   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    396     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    397   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    398     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    399   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    400     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    401   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    402     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    403   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    404     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    405   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    406     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    407   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    408     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    409   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    410     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     401  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     402    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     403  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     404    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     405  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     406    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     407  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     408    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     409  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     410    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     411  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     412    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     413  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     414    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     415  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     416    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    411417  /* 144 */
    412   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    413     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    414   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    415     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    416   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    417     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    418   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    419     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    420   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    421     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    422   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    423     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    424   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    425     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    426   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    427     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     418  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     419    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     420  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     421    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     422  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     423    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     424  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     425    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     426  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     427    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     428  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     429    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     430  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     431    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     432  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     433    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    428434  /* 152 */
    429   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    430     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    431   { R_PARISC_TPREL32, 0, 0, 32, false, 0, complain_overflow_dont,
    432     bfd_elf_generic_reloc, "R_PARISC_TPREL32", false, 0, 0, false },
    433   { R_PARISC_TPREL21L, 0, 0, 21, false, 0, complain_overflow_dont,
    434     bfd_elf_generic_reloc, "R_PARISC_TPREL21L", false, 0, 0, false },
    435   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    436     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    437   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    438     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    439   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    440     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    441   { R_PARISC_TPREL14R, 0, 0, 14, false, 0, complain_overflow_dont,
    442     bfd_elf_generic_reloc, "R_PARISC_TPREL14R", false, 0, 0, false },
    443   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    444     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     435  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     436    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     437  { R_PARISC_TPREL32, 0, 0, 32, FALSE, 0, complain_overflow_dont,
     438    bfd_elf_generic_reloc, "R_PARISC_TPREL32", FALSE, 0, 0, FALSE },
     439  { R_PARISC_TPREL21L, 0, 0, 21, FALSE, 0, complain_overflow_dont,
     440    bfd_elf_generic_reloc, "R_PARISC_TPREL21L", FALSE, 0, 0, FALSE },
     441  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     442    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     443  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     444    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     445  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     446    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     447  { R_PARISC_TPREL14R, 0, 0, 14, FALSE, 0, complain_overflow_dont,
     448    bfd_elf_generic_reloc, "R_PARISC_TPREL14R", FALSE, 0, 0, FALSE },
     449  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     450    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    445451  /* 160 */
    446   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    447     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    448   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    449     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    450   { R_PARISC_LTOFF_TP21L, 0, 0, 21, false, 0, complain_overflow_bitfield,
    451     bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP21L", false, 0, 0, false },
    452   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    453     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    454   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    455     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    456   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    457     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    458   { R_PARISC_LTOFF_TP14R, 0, 0, 14, false, 0, complain_overflow_bitfield,
    459     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    460   { R_PARISC_LTOFF_TP14F, 0, 0, 14, false, 0, complain_overflow_bitfield,
    461     bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP14F", false, 0, 0, false },
     452  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     453    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     454  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     455    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     456  { R_PARISC_LTOFF_TP21L, 0, 0, 21, FALSE, 0, complain_overflow_bitfield,
     457    bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP21L", FALSE, 0, 0, FALSE },
     458  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     459    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     460  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     461    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     462  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     463    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     464  { R_PARISC_LTOFF_TP14R, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     465    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     466  { R_PARISC_LTOFF_TP14F, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     467    bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP14F", FALSE, 0, 0, FALSE },
    462468  /* 168 */
    463   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    464     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    465   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    466     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    467   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    468     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    469   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    470     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    471   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    472     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    473   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    474     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    475   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    476     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    477   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    478     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     469  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     470    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     471  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     472    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     473  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     474    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     475  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     476    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     477  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     478    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     479  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     480    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     481  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     482    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     483  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     484    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    479485  /* 176 */
    480   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    481     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    482   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    483     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    484   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    485     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    486   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    487     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    488   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    489     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    490   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    491     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    492   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    493     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    494   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    495     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     486  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     487    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     488  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     489    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     490  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     491    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     492  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     493    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     494  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     495    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     496  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     497    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     498  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     499    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     500  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     501    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    496502  /* 184 */
    497   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    498     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    499   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    500     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    501   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    502     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    503   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    504     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    505   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    506     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    507   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    508     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    509   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    510     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    511   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    512     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     503  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     504    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     505  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     506    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     507  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     508    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     509  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     510    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     511  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     512    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     513  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     514    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     515  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     516    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     517  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     518    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    513519  /* 192 */
    514   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    515     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    516   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    517     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    518   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    519     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    520   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    521     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    522   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    523     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    524   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    525     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    526   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    527     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    528   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    529     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     520  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     521    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     522  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     523    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     524  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     525    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     526  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     527    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     528  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     529    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     530  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     531    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     532  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     533    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     534  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     535    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    530536  /* 200 */
    531   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    532     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    533   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    534     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    535   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    536     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    537   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    538     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    539   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    540     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    541   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    542     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    543   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    544     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    545   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    546     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     537  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     538    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     539  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     540    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     541  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     542    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     543  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     544    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     545  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     546    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     547  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     548    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     549  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     550    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     551  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     552    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    547553  /* 208 */
    548   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    549     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    550   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    551     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    552   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    553     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    554   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    555     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    556   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_dont,
    557     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    558   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    559     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    560   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    561     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    562   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    563     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
     554  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     555    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     556  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     557    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     558  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     559    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     560  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     561    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     562  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     563    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     564  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     565    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     566  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     567    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     568  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     569    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
    564570  /* 216 */
    565   { R_PARISC_TPREL64, 0, 0, 64, false, 0, complain_overflow_bitfield,
    566     bfd_elf_generic_reloc, "R_PARISC_TPREL64", false, 0, 0, false },
    567   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    568     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    569   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    570     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    571   { R_PARISC_TPREL14WR, 0, 0, 14, false, 0, complain_overflow_dont,
    572     bfd_elf_generic_reloc, "R_PARISC_TPREL14WR", false, 0, 0, false },
    573   { R_PARISC_TPREL14DR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    574     bfd_elf_generic_reloc, "R_PARISC_TPREL14DR", false, 0, 0, false },
    575   { R_PARISC_TPREL16F, 0, 0, 16, false, 0, complain_overflow_bitfield,
    576     bfd_elf_generic_reloc, "R_PARISC_TPREL16F", false, 0, 0, false },
    577   { R_PARISC_TPREL16WF, 0, 0, 16, false, 0, complain_overflow_dont,
    578     bfd_elf_generic_reloc, "R_PARISC_TPREL16WF", false, 0, 0, false },
    579   { R_PARISC_TPREL16DF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    580     bfd_elf_generic_reloc, "R_PARISC_TPREL16DF", false, 0, 0, false },
     571  { R_PARISC_TPREL64, 0, 0, 64, FALSE, 0, complain_overflow_bitfield,
     572    bfd_elf_generic_reloc, "R_PARISC_TPREL64", FALSE, 0, 0, FALSE },
     573  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     574    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     575  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     576    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     577  { R_PARISC_TPREL14WR, 0, 0, 14, FALSE, 0, complain_overflow_dont,
     578    bfd_elf_generic_reloc, "R_PARISC_TPREL14WR", FALSE, 0, 0, FALSE },
     579  { R_PARISC_TPREL14DR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     580    bfd_elf_generic_reloc, "R_PARISC_TPREL14DR", FALSE, 0, 0, FALSE },
     581  { R_PARISC_TPREL16F, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     582    bfd_elf_generic_reloc, "R_PARISC_TPREL16F", FALSE, 0, 0, FALSE },
     583  { R_PARISC_TPREL16WF, 0, 0, 16, FALSE, 0, complain_overflow_dont,
     584    bfd_elf_generic_reloc, "R_PARISC_TPREL16WF", FALSE, 0, 0, FALSE },
     585  { R_PARISC_TPREL16DF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     586    bfd_elf_generic_reloc, "R_PARISC_TPREL16DF", FALSE, 0, 0, FALSE },
    581587  /* 224 */
    582   { R_PARISC_LTOFF_TP64, 0, 0, 64, false, 0, complain_overflow_bitfield,
    583     bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP64", false, 0, 0, false },
    584   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    585     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    586   { R_PARISC_UNIMPLEMENTED, 0, 0, 0, false, 0, complain_overflow_bitfield,
    587     bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", false, 0, 0, false },
    588   { R_PARISC_LTOFF_TP14WR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    589     bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP14WR", false, 0, 0, false },
    590   { R_PARISC_LTOFF_TP14DR, 0, 0, 14, false, 0, complain_overflow_bitfield,
    591     bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP14DR", false, 0, 0, false },
    592   { R_PARISC_LTOFF_TP16F, 0, 0, 16, false, 0, complain_overflow_dont,
    593     bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP16F", false, 0, 0, false },
    594   { R_PARISC_LTOFF_TP16WF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    595     bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP16WF", false, 0, 0, false },
    596   { R_PARISC_LTOFF_TP16DF, 0, 0, 16, false, 0, complain_overflow_bitfield,
    597     bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP16DF", false, 0, 0, false },
     588  { R_PARISC_LTOFF_TP64, 0, 0, 64, FALSE, 0, complain_overflow_bitfield,
     589    bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP64", FALSE, 0, 0, FALSE },
     590  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     591    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     592  { R_PARISC_UNIMPLEMENTED, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
     593    bfd_elf_generic_reloc, "R_PARISC_UNIMPLEMENTED", FALSE, 0, 0, FALSE },
     594  { R_PARISC_LTOFF_TP14WR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     595    bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP14WR", FALSE, 0, 0, FALSE },
     596  { R_PARISC_LTOFF_TP14DR, 0, 0, 14, FALSE, 0, complain_overflow_bitfield,
     597    bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP14DR", FALSE, 0, 0, FALSE },
     598  { R_PARISC_LTOFF_TP16F, 0, 0, 16, FALSE, 0, complain_overflow_dont,
     599    bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP16F", FALSE, 0, 0, FALSE },
     600  { R_PARISC_LTOFF_TP16WF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     601    bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP16WF", FALSE, 0, 0, FALSE },
     602  { R_PARISC_LTOFF_TP16DF, 0, 0, 16, FALSE, 0, complain_overflow_bitfield,
     603    bfd_elf_generic_reloc, "R_PARISC_LTOFF_TP16DF", FALSE, 0, 0, FALSE },
    598604  /* 232 */
    599   { R_PARISC_GNU_VTENTRY, 0, 0, 0, false, 0, complain_overflow_dont,
    600     bfd_elf_generic_reloc, "R_PARISC_GNU_VTENTRY", false, 0, 0, false },
    601   { R_PARISC_GNU_VTINHERIT, 0, 0, 0, false, 0, complain_overflow_dont,
    602     bfd_elf_generic_reloc, "R_PARISC_GNU_VTINHERIT", false, 0, 0, false },
     605  { R_PARISC_GNU_VTENTRY, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     606    bfd_elf_generic_reloc, "R_PARISC_GNU_VTENTRY", FALSE, 0, 0, FALSE },
     607  { R_PARISC_GNU_VTINHERIT, 0, 0, 0, FALSE, 0, complain_overflow_dont,
     608    bfd_elf_generic_reloc, "R_PARISC_GNU_VTINHERIT", FALSE, 0, 0, FALSE },
    603609};
    604610
     
    606612#define OFFSET_14F_FROM_21L 5
    607613
    608 /* Return one (or more) BFD relocations which implement the base
    609    relocation with modifications based on format and field.  */
    610 
    611 elf_hppa_reloc_type **
    612 _bfd_elf_hppa_gen_reloc_type (abfd, base_type, format, field, ignore, sym)
     614/* Return the final relocation type for the given base type, instruction
     615   format, and field selector.  */
     616
     617elf_hppa_reloc_type
     618elf_hppa_reloc_final_type (abfd, base_type, format, field)
    613619     bfd *abfd;
    614620     elf_hppa_reloc_type base_type;
    615621     int format;
    616622     unsigned int field;
    617      int ignore ATTRIBUTE_UNUSED;
    618      asymbol *sym ATTRIBUTE_UNUSED;
    619623{
    620   elf_hppa_reloc_type *finaltype;
    621   elf_hppa_reloc_type **final_types;
    622 
    623   /* Allocate slots for the BFD relocation.  */
    624   final_types = ((elf_hppa_reloc_type **)
    625                  bfd_alloc (abfd, sizeof (elf_hppa_reloc_type *) * 2));
    626   if (final_types == NULL)
    627     return NULL;
    628 
    629   /* Allocate space for the relocation itself.  */
    630   finaltype = ((elf_hppa_reloc_type *)
    631                bfd_alloc (abfd, sizeof (elf_hppa_reloc_type)));
    632   if (finaltype == NULL)
    633     return NULL;
    634 
    635   /* Some reasonable defaults.  */
    636   final_types[0] = finaltype;
    637   final_types[1] = NULL;
    638 
    639 #define final_type finaltype[0]
    640 
    641   final_type = base_type;
     624  elf_hppa_reloc_type final_type = base_type;
    642625
    643626  /* Just a tangle of nested switch statements to deal with the braindamage
     
    678661              break;
    679662            default:
    680               return NULL;
     663              return R_PARISC_NONE;
    681664            }
    682665          break;
     
    694677              break;
    695678            default:
    696               return NULL;
     679              return R_PARISC_NONE;
    697680            }
    698681          break;
     
    718701              break;
    719702            default:
    720               return NULL;
     703              return R_PARISC_NONE;
    721704            }
    722705          break;
     
    731714                 uses 32bit section relative relocations.  */
    732715              if (bfd_get_arch_info (abfd)->bits_per_address != 32)
    733                 final_type = R_PARISC_SECREL32;
     716                final_type = R_PARISC_SECREL32;
    734717              break;
    735718            case e_psel:
     
    737720              break;
    738721            default:
    739               return NULL;
     722              return R_PARISC_NONE;
    740723            }
    741724          break;
     
    751734              break;
    752735            default:
    753               return NULL;
     736              return R_PARISC_NONE;
    754737            }
    755738          break;
    756739
    757740        default:
    758           return NULL;
     741          return R_PARISC_NONE;
    759742        }
    760743      break;
     
    777760              break;
    778761            default:
    779               return NULL;
     762              return R_PARISC_NONE;
    780763            }
    781764          break;
     
    793776              break;
    794777            default:
    795               return NULL;
     778              return R_PARISC_NONE;
    796779            }
    797780          break;
    798781
    799782        default:
    800           return NULL;
     783          return R_PARISC_NONE;
    801784        }
    802785      break;
     
    812795              break;
    813796            default:
    814               return NULL;
     797              return R_PARISC_NONE;
    815798            }
    816799          break;
     
    827810              break;
    828811            case e_fsel:
    829               final_type = R_PARISC_PCREL14F;
     812              if (bfd_get_mach (abfd) < 25)
     813                final_type = R_PARISC_PCREL14F;
     814              else
     815                final_type = R_PARISC_PCREL16F;
    830816              break;
    831817            default:
    832               return NULL;
     818              return R_PARISC_NONE;
    833819            }
    834820          break;
     
    846832              break;
    847833            default:
    848               return NULL;
     834              return R_PARISC_NONE;
    849835            }
    850836          break;
     
    861847              break;
    862848            default:
    863               return NULL;
     849              return R_PARISC_NONE;
    864850            }
    865851          break;
     
    872858              break;
    873859            default:
    874               return NULL;
     860              return R_PARISC_NONE;
    875861            }
    876862          break;
    877863
    878864        default:
    879           return NULL;
     865          return R_PARISC_NONE;
    880866        }
    881867      break;
     
    889875
    890876    default:
    891       return NULL;
     877      return R_PARISC_NONE;
    892878    }
     879
     880  return final_type;
     881}
     882
     883/* Return one (or more) BFD relocations which implement the base
     884   relocation with modifications based on format and field.  */
     885
     886elf_hppa_reloc_type **
     887_bfd_elf_hppa_gen_reloc_type (abfd, base_type, format, field, ignore, sym)
     888     bfd *abfd;
     889     elf_hppa_reloc_type base_type;
     890     int format;
     891     unsigned int field;
     892     int ignore ATTRIBUTE_UNUSED;
     893     asymbol *sym ATTRIBUTE_UNUSED;
     894{
     895  elf_hppa_reloc_type *finaltype;
     896  elf_hppa_reloc_type **final_types;
     897  bfd_size_type amt = sizeof (elf_hppa_reloc_type *) * 2;
     898
     899  /* Allocate slots for the BFD relocation.  */
     900  final_types = (elf_hppa_reloc_type **) bfd_alloc (abfd, amt);
     901  if (final_types == NULL)
     902    return NULL;
     903
     904  /* Allocate space for the relocation itself.  */
     905  amt = sizeof (elf_hppa_reloc_type);
     906  finaltype = (elf_hppa_reloc_type *) bfd_alloc (abfd, amt);
     907  if (finaltype == NULL)
     908    return NULL;
     909
     910  /* Some reasonable defaults.  */
     911  final_types[0] = finaltype;
     912  final_types[1] = NULL;
     913
     914  *finaltype = elf_hppa_reloc_final_type (abfd, base_type, format, field);
    893915
    894916  return final_types;
     
    914936     bfd *abfd ATTRIBUTE_UNUSED;
    915937     arelent *bfd_reloc;
    916      Elf_Internal_Rel *elf_reloc;
     938     Elf_Internal_Rela *elf_reloc;
    917939{
    918940  BFD_ASSERT (ELF_R_TYPE(elf_reloc->r_info)
     
    937959}
    938960
    939 /* Return true if SYM represents a local label symbol.  */
    940 
    941 static boolean
     961/* Return TRUE if SYM represents a local label symbol.  */
     962
     963static bfd_boolean
    942964elf_hppa_is_local_label_name (abfd, name)
    943965     bfd *abfd ATTRIBUTE_UNUSED;
     
    952974   section name, which is a hack, but ought to work.  */
    953975
    954 static boolean
     976static bfd_boolean
    955977elf_hppa_fake_sections (abfd, hdr, sec)
    956978     bfd *abfd;
    957      elf_hppa_internal_shdr *hdr;
     979     Elf_Internal_Shdr *hdr;
    958980     asection *sec;
    959981{
     
    9921014      hdr->sh_entsize = 4;
    9931015    }
    994   return true;
     1016  return TRUE;
    9951017}
    9961018
     
    9981020elf_hppa_final_write_processing (abfd, linker)
    9991021     bfd *abfd;
    1000      boolean linker ATTRIBUTE_UNUSED;
     1022     bfd_boolean linker ATTRIBUTE_UNUSED;
    10011023{
    10021024  int mach = bfd_get_mach (abfd);
     
    10231045}
    10241046
     1047/* Comparison function for qsort to sort unwind section during a
     1048   final link.  */
     1049
     1050static int
     1051hppa_unwind_entry_compare (a, b)
     1052     const PTR a;
     1053     const PTR b;
     1054{
     1055  const bfd_byte *ap, *bp;
     1056  unsigned long av, bv;
     1057
     1058  ap = (const bfd_byte *) a;
     1059  av = (unsigned long) ap[0] << 24;
     1060  av |= (unsigned long) ap[1] << 16;
     1061  av |= (unsigned long) ap[2] << 8;
     1062  av |= (unsigned long) ap[3];
     1063
     1064  bp = (const bfd_byte *) b;
     1065  bv = (unsigned long) bp[0] << 24;
     1066  bv |= (unsigned long) bp[1] << 16;
     1067  bv |= (unsigned long) bp[2] << 8;
     1068  bv |= (unsigned long) bp[3];
     1069
     1070  return av < bv ? -1 : av > bv ? 1 : 0;
     1071}
     1072
     1073static bfd_boolean elf_hppa_sort_unwind (abfd)
     1074     bfd *abfd;
     1075{
     1076  asection *s;
     1077
     1078  /* Magic section names, but this is much safer than having
     1079     relocate_section remember where SEGREL32 relocs occurred.
     1080     Consider what happens if someone inept creates a linker script
     1081     that puts unwind information in .text.  */
     1082  s = bfd_get_section_by_name (abfd, ".PARISC.unwind");
     1083  if (s != NULL)
     1084    {
     1085      bfd_size_type size;
     1086      char *contents;
     1087
     1088      size = s->_raw_size;
     1089      contents = bfd_malloc (size);
     1090      if (contents == NULL)
     1091        return FALSE;
     1092
     1093      if (! bfd_get_section_contents (abfd, s, contents, (file_ptr) 0, size))
     1094        return FALSE;
     1095
     1096      qsort (contents, (size_t) (size / 16), 16, hppa_unwind_entry_compare);
     1097
     1098      if (! bfd_set_section_contents (abfd, s, contents, (file_ptr) 0, size))
     1099        return FALSE;
     1100    }
     1101
     1102  return TRUE;
     1103}
     1104
    10251105#if ARCH_SIZE == 64
    10261106/* Hook called by the linker routine which adds symbols from an object
     
    10281108   indices, which we have to handle.  */
    10291109
    1030 static boolean
     1110static bfd_boolean
    10311111elf_hppa_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp)
    10321112     bfd *abfd;
     
    10551135    }
    10561136
    1057   return true;
     1137  return TRUE;
    10581138}
    10591139
    1060 static boolean
     1140static bfd_boolean
    10611141elf_hppa_unmark_useless_dynamic_symbols (h, data)
    10621142     struct elf_link_hash_entry *h;
     
    10641144{
    10651145  struct bfd_link_info *info = (struct bfd_link_info *)data;
     1146
     1147  if (h->root.type == bfd_link_hash_warning)
     1148    h = (struct elf_link_hash_entry *) h->root.u.i.link;
    10661149
    10671150  /* If we are not creating a shared library, and this symbol is
     
    10881171    }
    10891172
    1090   return true;
     1173  return TRUE;
    10911174}
    10921175
    1093 static boolean
     1176static bfd_boolean
    10941177elf_hppa_remark_useless_dynamic_symbols (h, data)
    10951178     struct elf_link_hash_entry *h;
     
    10971180{
    10981181  struct bfd_link_info *info = (struct bfd_link_info *)data;
     1182
     1183  if (h->root.type == bfd_link_hash_warning)
     1184    h = (struct elf_link_hash_entry *) h->root.u.i.link;
    10991185
    11001186  /* If we are not creating a shared library, and this symbol is
     
    11221208    }
    11231209
    1124   return true;
     1210  return TRUE;
     1211}
     1212
     1213static bfd_boolean
     1214elf_hppa_is_dynamic_loader_symbol (name)
     1215     const char * name;
     1216{
     1217  return (! strcmp (name, "__CPU_REVISION")
     1218          || ! strcmp (name, "__CPU_KEYBITS_1")
     1219          || ! strcmp (name, "__SYSTEM_ID_D")
     1220          || ! strcmp (name, "__FPU_MODEL")
     1221          || ! strcmp (name, "__FPU_REVISION")
     1222          || ! strcmp (name, "__ARGC")
     1223          || ! strcmp (name, "__ARGV")
     1224          || ! strcmp (name, "__ENVP")
     1225          || ! strcmp (name, "__TLS_SIZE_D")
     1226          || ! strcmp (name, "__LOAD_INFO")
     1227          || ! strcmp (name, "__systab"));
    11251228}
    11261229
     
    11551258   fall back to the generic ELF final link routine.  */
    11561259
    1157 static boolean
     1260static bfd_boolean
    11581261elf_hppa_final_link (abfd, info)
    11591262     bfd *abfd;
    11601263     struct bfd_link_info *info;
    11611264{
    1162   boolean retval;
     1265  bfd_boolean retval;
    11631266  struct elf64_hppa_link_hash_table *hppa_info = elf64_hppa_hash_table (info);
    11641267
     
    11721275         in the hash table.  If that fails, just compute the value __gp
    11731276         should have had.  */
    1174       gp = elf_link_hash_lookup (elf_hash_table (info), "__gp", false,
    1175                                  false, false);
     1277      gp = elf_link_hash_lookup (elf_hash_table (info), "__gp", FALSE,
     1278                                 FALSE, FALSE);
    11761279
    11771280      if (gp)
     
    11951298
    11961299             If no .plt is found, then look for .dlt, .opd and .data (in
    1197              that order) and set __gp to the base address of whichever section
    1198             is found first.  */
     1300             that order) and set __gp to the base address of whichever
     1301             section is found first.  */
    11991302
    12001303          sec = hppa_info->plt_sec;
    1201           if (sec)
     1304          if (sec && ! (sec->flags & SEC_EXCLUDE))
    12021305            gp_val = (sec->output_offset
    12031306                      + sec->output_section->vma
     
    12061309            {
    12071310              sec = hppa_info->dlt_sec;
    1208               if (!sec)
     1311              if (!sec || (sec->flags & SEC_EXCLUDE))
    12091312                sec = hppa_info->opd_sec;
    1210               if (!sec)
     1313              if (!sec || (sec->flags & SEC_EXCLUDE))
    12111314                sec = bfd_get_section_by_name (abfd, ".data");
    1212               if (!sec)
    1213                 return false;
     1315              if (!sec || (sec->flags & SEC_EXCLUDE))
     1316                return FALSE;
    12141317
    12151318              gp_val = sec->output_offset + sec->output_section->vma;
     
    12471350                          info);
    12481351
     1352  /* If we're producing a final executable, sort the contents of the
     1353     unwind section. */
     1354  if (retval)
     1355    retval = elf_hppa_sort_unwind (abfd);
     1356
    12491357  return retval;
    12501358}
     
    12521360/* Relocate an HPPA ELF section.  */
    12531361
    1254 static boolean
     1362static bfd_boolean
    12551363elf_hppa_relocate_section (output_bfd, info, input_bfd, input_section,
    12561364                           contents, relocs, local_syms, local_sections)
     
    12671375  Elf_Internal_Rela *rel;
    12681376  Elf_Internal_Rela *relend;
    1269   struct elf64_hppa_link_hash_table *hppa_info = elf64_hppa_hash_table (info);
    1270 
     1377  struct elf64_hppa_link_hash_table *hppa_info;
     1378
     1379  if (info->relocateable)
     1380    return TRUE;
     1381
     1382  hppa_info = elf64_hppa_hash_table (info);
    12711383  symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
    12721384
     
    12931405        {
    12941406          bfd_set_error (bfd_error_bad_value);
    1295           return false;
     1407          return FALSE;
    12961408        }
    12971409
     1410      /* This is a final link.  */
    12981411      r_symndx = ELF_R_SYM (rel->r_info);
    1299 
    1300       if (info->relocateable)
    1301         {
    1302           /* This is a relocateable link.  We don't have to change
    1303              anything, unless the reloc is against a section symbol,
    1304              in which case we have to adjust according to where the
    1305              section symbol winds up in the output section.  */
    1306           if (r_symndx < symtab_hdr->sh_info)
    1307             {
    1308               sym = local_syms + r_symndx;
    1309               if (ELF_ST_TYPE (sym->st_info) == STT_SECTION)
    1310                 {
    1311                   sym_sec = local_sections[r_symndx];
    1312                   rel->r_addend += sym_sec->output_offset;
    1313                 }
    1314             }
    1315 
    1316           continue;
    1317         }
    1318 
    1319       /* This is a final link.  */
    13201412      h = NULL;
    13211413      sym = NULL;
     
    13261418          sym = local_syms + r_symndx;
    13271419          sym_sec = local_sections[r_symndx];
    1328           relocation = ((ELF_ST_TYPE (sym->st_info) == STT_SECTION
    1329                            ? 0 : sym->st_value)
    1330                          + sym_sec->output_offset
    1331                          + sym_sec->output_section->vma);
     1420          relocation = _bfd_elf_rela_local_sym (output_bfd, sym, sym_sec, rel);
    13321421
    13331422          /* If this symbol has an entry in the PA64 dynamic hash
     
    13361425                                   &dynh_buf, &dynh_buflen);
    13371426          dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table,
    1338                                               dyn_name, false, false);
     1427                                              dyn_name, FALSE, FALSE);
    13391428
    13401429        }
     
    13591448                                       &dynh_buf, &dynh_buflen);
    13601449              dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table,
    1361                                                   dyn_name, false, false);
     1450                                                  dyn_name, FALSE, FALSE);
    13621451
    13631452              /* If we have a relocation against a symbol defined in a
     
    13681457                  (*_bfd_error_handler)
    13691458                    (_("%s: warning: unresolvable relocation against symbol `%s' from %s section"),
    1370                      bfd_get_filename (input_bfd), h->root.root.string,
     1459                     bfd_archive_filename (input_bfd), h->root.root.string,
    13711460                     bfd_get_section_name (input_bfd, input_section));
    13721461                  relocation = 0;
     
    13821471            }
    13831472          /* Allow undefined symbols in shared libraries.  */
    1384           else if (info->shared && !info->no_undefined
     1473          else if (info->shared && !info->no_undefined
    13851474                   && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
    13861475            {
     
    13881477                (*info->callbacks->undefined_symbol)
    13891478                  (info, h->root.root.string, input_bfd,
    1390                    input_section, rel->r_offset, false);
     1479                   input_section, rel->r_offset, FALSE);
    13911480
    13921481              /* If this symbol has an entry in the PA64 dynamic hash
     
    13951484                                       &dynh_buf, &dynh_buflen);
    13961485              dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table,
    1397                                                   dyn_name, false, false);
     1486                                                  dyn_name, FALSE, FALSE);
    13981487
    13991488              if (dyn_h == NULL)
     
    14011490                  (*_bfd_error_handler)
    14021491                    (_("%s: warning: unresolvable relocation against symbol `%s' from %s section"),
    1403                      bfd_get_filename (input_bfd), h->root.root.string,
     1492                     bfd_archive_filename (input_bfd), h->root.root.string,
    14041493                     bfd_get_section_name (input_bfd, input_section));
    14051494                  relocation = 0;
     
    14111500          else
    14121501            {
    1413               if (!((*info->callbacks->undefined_symbol)
    1414                     (info, h->root.root.string, input_bfd,
    1415                      input_section, rel->r_offset, true)))
    1416                 return false;
    1417               break;
     1502              /* Ignore dynamic loader defined symbols.  */
     1503              if (elf_hppa_is_dynamic_loader_symbol (h->root.root.string))
     1504                relocation = 0;
     1505              else
     1506                {
     1507                  if (!((*info->callbacks->undefined_symbol)
     1508                        (info, h->root.root.string, input_bfd,
     1509                         input_section, rel->r_offset, TRUE)))
     1510                    return FALSE;
     1511                  break;
     1512                }
    14181513            }
    14191514        }
     
    14271522                                                      sym->st_name);
    14281523          if (sym_name == NULL)
    1429             return false;
     1524            return FALSE;
    14301525          if (*sym_name == '\0')
    14311526            sym_name = bfd_section_name (input_bfd, sym_sec);
     
    14481543                      (info, sym_name, howto->name, (bfd_vma) 0,
    14491544                        input_bfd, input_section, rel->r_offset)))
    1450                   return false;
     1545                  return FALSE;
    14511546              }
    14521547              break;
     
    14541549        }
    14551550    }
    1456   return true;
     1551  return TRUE;
    14571552}
    14581553
     
    14851580     struct elf64_hppa_dyn_hash_entry *dyn_h;
    14861581{
    1487   unsigned int insn;
     1582  int insn;
    14881583  bfd_vma offset = rel->r_offset;
    1489   bfd_vma addend = rel->r_addend;
     1584  bfd_signed_vma addend = rel->r_addend;
    14901585  reloc_howto_type *howto = elf_hppa_howto_table + ELF_R_TYPE (rel->r_info);
    14911586  unsigned int r_type = howto->type;
     
    15001595      break;
    15011596
    1502     /* Basic function call support.  I'm not entirely sure if PCREL14F is
    1503        actually needed or even handled correctly.
     1597    /* Basic function call support.
    15041598
    15051599       Note for a call to a function defined in another dynamic library
     
    15391633
    15401634        /* Apply the relocation to the given instruction.  */
    1541         insn = elf_hppa_relocate_insn (insn, value, r_type);
     1635        insn = elf_hppa_relocate_insn (insn, (int) value, r_type);
    15421636        break;
    15431637      }
     
    15711665
    15721666        /* Apply the relocation to the given instruction.  */
    1573         insn = elf_hppa_relocate_insn (insn, value, r_type);
     1667        insn = elf_hppa_relocate_insn (insn, (int) value, r_type);
    15741668        break;
    15751669      }
     
    16121706        if (dyn_h->h == NULL)
    16131707          {
    1614             bfd_put_64 (hppa_info->dlt_sec->owner,
    1615                         value,
    1616                         hppa_info->dlt_sec->contents + dyn_h->dlt_offset);
    1617 
    1618             /* Now handle .opd creation if needed.  */
     1708            /* Now do .opd creation if needed.  */
    16191709            if (r_type == R_PARISC_LTOFF_FPTR14R
    16201710                || r_type == R_PARISC_LTOFF_FPTR14DR
     
    16301720
    16311721                /* The next word is the address of the function.  */
    1632                 bfd_put_64 (hppa_info->opd_sec->owner, value,
     1722                bfd_put_64 (hppa_info->opd_sec->owner, value + addend,
    16331723                            (hppa_info->opd_sec->contents
    16341724                             + dyn_h->opd_offset + 16));
     
    16401730                            (hppa_info->opd_sec->contents
    16411731                             + dyn_h->opd_offset + 24));
     1732
     1733                /* The DLT value is the address of the .opd entry.  */
     1734                value = (dyn_h->opd_offset
     1735                         + hppa_info->opd_sec->output_offset
     1736                         + hppa_info->opd_sec->output_section->vma);
     1737                addend = 0;
    16421738              }
     1739
     1740            bfd_put_64 (hppa_info->dlt_sec->owner,
     1741                        value + addend,
     1742                        hppa_info->dlt_sec->contents + dyn_h->dlt_offset);
    16431743          }
    16441744
     
    16581758            || r_type == R_PARISC_LTOFF_FPTR21L
    16591759            || r_type == R_PARISC_LTOFF_TP21L)
    1660           value = hppa_field_adjust (value, addend, e_lrsel);
     1760          value = hppa_field_adjust (value, 0, e_lsel);
    16611761        else if (r_type == R_PARISC_DLTIND14F
    16621762                 || r_type == R_PARISC_LTOFF_FPTR16F
     
    16691769                 || r_type == R_PARISC_LTOFF_TP16WF
    16701770                 || r_type == R_PARISC_LTOFF_TP16DF)
    1671           value = hppa_field_adjust (value, addend, e_fsel);
     1771          value = hppa_field_adjust (value, 0, e_fsel);
    16721772        else
    1673           value = hppa_field_adjust (value, addend, e_rrsel);
    1674 
    1675         insn = elf_hppa_relocate_insn (insn, value, r_type);
     1773          value = hppa_field_adjust (value, 0, e_rsel);
     1774
     1775        insn = elf_hppa_relocate_insn (insn, (int) value, r_type);
    16761776        break;
    16771777      }
     
    17101810          value = hppa_field_adjust (value, addend, e_rrsel);
    17111811
    1712         insn = elf_hppa_relocate_insn (insn, value, r_type);
     1812        insn = elf_hppa_relocate_insn (insn, (int) value, r_type);
    17131813        break;
    17141814      }
     
    17471847          }
    17481848
    1749         insn = elf_hppa_relocate_insn (insn, value, r_type);
     1849        insn = elf_hppa_relocate_insn (insn, (int) value, r_type);
    17501850        break;
    17511851      }
     
    17821882          value = hppa_field_adjust (value, addend, e_rrsel);
    17831883
    1784         insn = elf_hppa_relocate_insn (insn, value, r_type);
     1884        insn = elf_hppa_relocate_insn (insn, (int) value, r_type);
    17851885        break;
    17861886      }
     
    17961896
    17971897            /* The next word is the address of the function.  */
    1798             bfd_put_64 (hppa_info->opd_sec->owner, value,
     1898            bfd_put_64 (hppa_info->opd_sec->owner, value + addend,
    17991899                        (hppa_info->opd_sec->contents
    18001900                         + dyn_h->opd_offset + 16));
     
    18051905            bfd_put_64 (hppa_info->opd_sec->owner, value,
    18061906                        hppa_info->opd_sec->contents + dyn_h->opd_offset + 24);
     1907
     1908            /* The DLT value is the address of the .opd entry.  */
     1909            value = (dyn_h->opd_offset
     1910                     + hppa_info->opd_sec->output_offset
     1911                     + hppa_info->opd_sec->output_section->vma);
     1912
     1913            bfd_put_64 (hppa_info->dlt_sec->owner,
     1914                        value,
     1915                        hppa_info->dlt_sec->contents + dyn_h->dlt_offset);
    18071916          }
    18081917
     
    18301939
    18311940            /* The next word is the address of the function.  */
    1832             bfd_put_64 (hppa_info->opd_sec->owner, value,
     1941            bfd_put_64 (hppa_info->opd_sec->owner, value + addend,
    18331942                        (hppa_info->opd_sec->contents
    18341943                         + dyn_h->opd_offset + 16));
     
    18391948            bfd_put_64 (hppa_info->opd_sec->owner, value,
    18401949                        hppa_info->opd_sec->contents + dyn_h->opd_offset + 24);
     1950
     1951            /* The DLT value is the address of the .opd entry.  */
     1952            value = (dyn_h->opd_offset
     1953                     + hppa_info->opd_sec->output_offset
     1954                     + hppa_info->opd_sec->output_section->vma);
     1955
     1956            bfd_put_64 (hppa_info->dlt_sec->owner,
     1957                        value,
     1958                        hppa_info->dlt_sec->contents + dyn_h->dlt_offset);
    18411959          }
    18421960
     
    19302048
    19312049            /* The next word is the address of the function.  */
    1932             bfd_put_64 (hppa_info->opd_sec->owner, value,
     2050            bfd_put_64 (hppa_info->opd_sec->owner, value + addend,
    19332051                        (hppa_info->opd_sec->contents
    19342052                         + dyn_h->opd_offset + 16));
     
    19412059          }
    19422060
    1943         /* We want the value of the OPD offset for this symbol, not
    1944            the symbol's actual address.  */
    1945         value = (dyn_h->opd_offset
    1946                  + hppa_info->opd_sec->output_offset
    1947                  + hppa_info->opd_sec->output_section->vma);
    1948 
    1949         bfd_put_64 (input_bfd, value + addend, hit_data);
     2061        if (dyn_h->want_opd)
     2062          /* We want the value of the OPD offset for this symbol.  */
     2063          value = (dyn_h->opd_offset
     2064                   + hppa_info->opd_sec->output_offset
     2065                   + hppa_info->opd_sec->output_section->vma);
     2066        else
     2067          /* We want the address of the symbol.  */
     2068          value += addend;
     2069
     2070        bfd_put_64 (input_bfd, value, hit_data);
    19502071        return bfd_reloc_ok;
    19512072      }
     
    19832104        else
    19842105          bfd_put_64 (input_bfd, value, hit_data);
    1985         return bfd_reloc_ok;
     2106        return bfd_reloc_ok;
    19862107      }
    19872108
     
    19922113
    19932114  /* Update the instruction word.  */
    1994   bfd_put_32 (input_bfd, insn, hit_data);
     2115  bfd_put_32 (input_bfd, (bfd_vma) insn, hit_data);
    19952116  return bfd_reloc_ok;
    19962117}
     
    20022123   to insert the relocation into the given instruction.  */
    20032124
    2004 static unsigned int
     2125static int
    20052126elf_hppa_relocate_insn (insn, sym_value, r_type)
    2006      unsigned int insn;
    2007      unsigned int sym_value;
     2127     int insn;
     2128     int sym_value;
    20082129     unsigned int r_type;
    20092130{
     
    20142135    case R_PARISC_PCREL22F:
    20152136    case R_PARISC_PCREL22C:
    2016       return (insn & ~ 0x3ff1ffd) | re_assemble_22 (sym_value);
     2137      return (insn & ~0x3ff1ffd) | re_assemble_22 (sym_value);
    20172138
    20182139      /* This is any 12 bit branch.  */
    20192140    case R_PARISC_PCREL12F:
    2020       return (insn & ~ 0x1ffd) | re_assemble_12 (sym_value);
     2141      return (insn & ~0x1ffd) | re_assemble_12 (sym_value);
    20212142
    20222143    /* This is any 17 bit branch.  In PA2.0 syntax it also corresponds
     
    20272148    case R_PARISC_PCREL17C:
    20282149    case R_PARISC_PCREL17R:
    2029       return (insn & ~ 0x1f1ffd) | re_assemble_17 (sym_value);
     2150      return (insn & ~0x1f1ffd) | re_assemble_17 (sym_value);
    20302151
    20312152    /* ADDIL or LDIL instructions.  */
     
    20382159    case R_PARISC_PLTOFF21L:
    20392160    case R_PARISC_DIR21L:
    2040       return (insn & ~ 0x1fffff) | re_assemble_21 (sym_value);
     2161      return (insn & ~0x1fffff) | re_assemble_21 (sym_value);
    20412162
    20422163    /* LDO and integer loads/stores with 14 bit displacements.  */
     
    20462167    case R_PARISC_DLTIND14F:
    20472168    case R_PARISC_LTOFF_FPTR14R:
    2048     case R_PARISC_LTOFF_FPTR16F:
    20492169    case R_PARISC_PCREL14R:
    20502170    case R_PARISC_PCREL14F:
    2051     case R_PARISC_PCREL16F:
    20522171    case R_PARISC_LTOFF_TP14R:
    20532172    case R_PARISC_LTOFF_TP14F:
    2054     case R_PARISC_LTOFF_TP16F:
    20552173    case R_PARISC_DPREL14R:
    20562174    case R_PARISC_DPREL14F:
    2057     case R_PARISC_GPREL16F:
    20582175    case R_PARISC_PLTOFF14R:
    20592176    case R_PARISC_PLTOFF14F:
    2060     case R_PARISC_PLTOFF16F:
    20612177    case R_PARISC_DIR14R:
    20622178    case R_PARISC_DIR14F:
     2179      return (insn & ~0x3fff) | low_sign_unext (sym_value, 14);
     2180
     2181    /* PA2.0W LDO and integer loads/stores with 16 bit displacements.  */
     2182    case R_PARISC_LTOFF_FPTR16F:
     2183    case R_PARISC_PCREL16F:
     2184    case R_PARISC_LTOFF_TP16F:
     2185    case R_PARISC_GPREL16F:
     2186    case R_PARISC_PLTOFF16F:
    20632187    case R_PARISC_DIR16F:
    20642188    case R_PARISC_LTOFF16F:
    2065       return (insn & ~ 0x3fff) | low_sign_unext (sym_value, 14);
     2189      return (insn & ~0xffff) | re_assemble_16 (sym_value);
    20662190
    20672191    /* Doubleword loads and stores with a 14 bit displacement.  */
     
    20812205    case R_PARISC_DIR16DF:
    20822206    case R_PARISC_LTOFF16DF:
    2083       return (insn & ~ 0x3ff1) | (((sym_value & 0x2000) >> 13)
    2084                                   | ((sym_value & 0x1ff8) << 1));
     2207      return (insn & ~0x3ff1) | (((sym_value & 0x2000) >> 13)
     2208                                 | ((sym_value & 0x1ff8) << 1));
    20852209
    20862210    /* Floating point single word load/store instructions.  */
     
    21002224    case R_PARISC_DIR14WR:
    21012225    case R_PARISC_LTOFF16WF:
    2102       return (insn & ~ 0x3ff9) | (((sym_value & 0x2000) >> 13)
    2103                                   | ((sym_value & 0x1ffc) << 1));
     2226      return (insn & ~0x3ff9) | (((sym_value & 0x2000) >> 13)
     2227                                 | ((sym_value & 0x1ffc) << 1));
    21042228
    21052229    default:
Note: See TracChangeset for help on using the changeset viewer.