Changeset 609 for branches/GNU/src/binutils/bfd/elf-hppa.h
- Timestamp:
- Aug 16, 2003, 6:59:22 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GNU/src/binutils/bfd/elf-hppa.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* 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. 3 3 4 4 This file is part of BFD, the Binary File Descriptor library. … … 29 29 #define ELF_R_TYPE(X) ELF64_R_TYPE(X) 30 30 #define ELF_R_SYM(X) ELF64_R_SYM(X) 31 #define elf_hppa_ internal_shdr Elf64_Internal_Shdr31 #define elf_hppa_reloc_final_type elf64_hppa_reloc_final_type 32 32 #define _bfd_elf_hppa_gen_reloc_type _bfd_elf64_hppa_gen_reloc_type 33 33 #define elf_hppa_relocate_section elf64_hppa_relocate_section … … 38 38 #define ELF_R_TYPE(X) ELF32_R_TYPE(X) 39 39 #define ELF_R_SYM(X) ELF32_R_SYM(X) 40 #define elf_hppa_ internal_shdr Elf32_Internal_Shdr40 #define elf_hppa_reloc_final_type elf32_hppa_reloc_final_type 41 41 #define _bfd_elf_hppa_gen_reloc_type _bfd_elf32_hppa_gen_reloc_type 42 42 #define elf_hppa_relocate_section elf32_hppa_relocate_section … … 45 45 #endif 46 46 47 elf_hppa_reloc_type ** _bfd_elf_hppa_gen_reloc_type48 PARAMS ((bfd *, elf_hppa_reloc_type, int, unsigned int, int, asymbol *));49 50 47 static void elf_hppa_info_to_howto 51 48 PARAMS ((bfd *, arelent *, Elf_Internal_Rela *)); 52 49 53 50 static void elf_hppa_info_to_howto_rel 54 PARAMS ((bfd *, arelent *, Elf_Internal_Rel *));51 PARAMS ((bfd *, arelent *, Elf_Internal_Rela *)); 55 52 56 53 static reloc_howto_type * elf_hppa_reloc_type_lookup 57 54 PARAMS ((bfd *, bfd_reloc_code_real_type)); 58 55 59 static b oolean elf_hppa_is_local_label_name56 static bfd_boolean elf_hppa_is_local_label_name 60 57 PARAMS ((bfd *, const char *)); 61 58 62 static b oolean elf_hppa_fake_sections63 PARAMS ((bfd *abfd, elf_hppa_internal_shdr *, asection *));59 static bfd_boolean elf_hppa_fake_sections 60 PARAMS ((bfd *abfd, Elf_Internal_Shdr *, asection *)); 64 61 65 62 static void elf_hppa_final_write_processing 66 PARAMS ((bfd *, boolean)); 63 PARAMS ((bfd *, bfd_boolean)); 64 65 static int hppa_unwind_entry_compare 66 PARAMS ((const PTR, const PTR)); 67 68 static bfd_boolean elf_hppa_sort_unwind 69 PARAMS ((bfd *)); 67 70 68 71 #if ARCH_SIZE == 64 69 static b oolean elf_hppa_add_symbol_hook72 static bfd_boolean elf_hppa_add_symbol_hook 70 73 PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, 71 74 const char **, flagword *, asection **, bfd_vma *)); 72 75 73 static b oolean elf_hppa_unmark_useless_dynamic_symbols76 static bfd_boolean elf_hppa_unmark_useless_dynamic_symbols 74 77 PARAMS ((struct elf_link_hash_entry *, PTR)); 75 78 76 static b oolean elf_hppa_remark_useless_dynamic_symbols79 static bfd_boolean elf_hppa_remark_useless_dynamic_symbols 77 80 PARAMS ((struct elf_link_hash_entry *, PTR)); 81 82 static bfd_boolean elf_hppa_is_dynamic_loader_symbol 83 PARAMS ((const char *)); 78 84 79 85 static void elf_hppa_record_segment_addrs 80 86 PARAMS ((bfd *, asection *, PTR)); 81 87 82 static b oolean elf_hppa_final_link88 static bfd_boolean elf_hppa_final_link 83 89 PARAMS ((bfd *, struct bfd_link_info *)); 84 90 85 static b oolean elf_hppa_relocate_section91 static bfd_boolean elf_hppa_relocate_section 86 92 PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, 87 93 bfd_byte *, Elf_Internal_Rela *, Elf_Internal_Sym *, asection **)); 88 94 89 95 static bfd_reloc_status_type elf_hppa_final_link_relocate 90 96 PARAMS ((Elf_Internal_Rela *, bfd *, bfd *, asection *, 91 92 97 bfd_byte *, bfd_vma, struct bfd_link_info *, 98 asection *, struct elf_link_hash_entry *, 93 99 struct elf64_hppa_dyn_hash_entry *)); 94 100 95 static unsignedint elf_hppa_relocate_insn96 PARAMS (( unsigned int, unsignedint, unsigned int));101 static int elf_hppa_relocate_insn 102 PARAMS ((int, int, unsigned int)); 97 103 #endif 98 104 … … 101 107 static reloc_howto_type elf_hppa_howto_table[ELF_HOWTO_TABLE_SIZE] = 102 108 { 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 }, 105 111 106 112 /* The values in DIR32 are to placate the check in 107 113 _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 }, 122 128 /* 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 }, 139 145 /* 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 }, 156 162 /* 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 }, 173 179 /* 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 }, 190 196 /* 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 }, 207 213 /* 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 }, 224 230 /* 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 }, 241 247 /* 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 }, 258 264 /* 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 }, 275 281 /* 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 }, 292 298 /* 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 }, 309 315 /* 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 }, 326 332 /* 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 }, 343 349 /* 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 }, 360 366 /* 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 }, 377 383 /* 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 }, 394 400 /* 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 }, 411 417 /* 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 }, 428 434 /* 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 }, 445 451 /* 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 }, 462 468 /* 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 }, 479 485 /* 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 }, 496 502 /* 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 }, 513 519 /* 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 }, 530 536 /* 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 }, 547 553 /* 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 }, 564 570 /* 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 }, 581 587 /* 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 }, 598 604 /* 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 }, 603 609 }; 604 610 … … 606 612 #define OFFSET_14F_FROM_21L 5 607 613 608 /* Return one (or more) BFD relocations which implement the base609 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 617 elf_hppa_reloc_type 618 elf_hppa_reloc_final_type (abfd, base_type, format, field) 613 619 bfd *abfd; 614 620 elf_hppa_reloc_type base_type; 615 621 int format; 616 622 unsigned int field; 617 int ignore ATTRIBUTE_UNUSED;618 asymbol *sym ATTRIBUTE_UNUSED;619 623 { 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; 642 625 643 626 /* Just a tangle of nested switch statements to deal with the braindamage … … 678 661 break; 679 662 default: 680 return NULL;663 return R_PARISC_NONE; 681 664 } 682 665 break; … … 694 677 break; 695 678 default: 696 return NULL;679 return R_PARISC_NONE; 697 680 } 698 681 break; … … 718 701 break; 719 702 default: 720 return NULL;703 return R_PARISC_NONE; 721 704 } 722 705 break; … … 731 714 uses 32bit section relative relocations. */ 732 715 if (bfd_get_arch_info (abfd)->bits_per_address != 32) 733 716 final_type = R_PARISC_SECREL32; 734 717 break; 735 718 case e_psel: … … 737 720 break; 738 721 default: 739 return NULL;722 return R_PARISC_NONE; 740 723 } 741 724 break; … … 751 734 break; 752 735 default: 753 return NULL;736 return R_PARISC_NONE; 754 737 } 755 738 break; 756 739 757 740 default: 758 return NULL;741 return R_PARISC_NONE; 759 742 } 760 743 break; … … 777 760 break; 778 761 default: 779 return NULL;762 return R_PARISC_NONE; 780 763 } 781 764 break; … … 793 776 break; 794 777 default: 795 return NULL;778 return R_PARISC_NONE; 796 779 } 797 780 break; 798 781 799 782 default: 800 return NULL;783 return R_PARISC_NONE; 801 784 } 802 785 break; … … 812 795 break; 813 796 default: 814 return NULL;797 return R_PARISC_NONE; 815 798 } 816 799 break; … … 827 810 break; 828 811 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; 830 816 break; 831 817 default: 832 return NULL;818 return R_PARISC_NONE; 833 819 } 834 820 break; … … 846 832 break; 847 833 default: 848 return NULL;834 return R_PARISC_NONE; 849 835 } 850 836 break; … … 861 847 break; 862 848 default: 863 return NULL;849 return R_PARISC_NONE; 864 850 } 865 851 break; … … 872 858 break; 873 859 default: 874 return NULL;860 return R_PARISC_NONE; 875 861 } 876 862 break; 877 863 878 864 default: 879 return NULL;865 return R_PARISC_NONE; 880 866 } 881 867 break; … … 889 875 890 876 default: 891 return NULL;877 return R_PARISC_NONE; 892 878 } 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 886 elf_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); 893 915 894 916 return final_types; … … 914 936 bfd *abfd ATTRIBUTE_UNUSED; 915 937 arelent *bfd_reloc; 916 Elf_Internal_Rel *elf_reloc;938 Elf_Internal_Rela *elf_reloc; 917 939 { 918 940 BFD_ASSERT (ELF_R_TYPE(elf_reloc->r_info) … … 937 959 } 938 960 939 /* Return trueif SYM represents a local label symbol. */940 941 static b oolean961 /* Return TRUE if SYM represents a local label symbol. */ 962 963 static bfd_boolean 942 964 elf_hppa_is_local_label_name (abfd, name) 943 965 bfd *abfd ATTRIBUTE_UNUSED; … … 952 974 section name, which is a hack, but ought to work. */ 953 975 954 static b oolean976 static bfd_boolean 955 977 elf_hppa_fake_sections (abfd, hdr, sec) 956 978 bfd *abfd; 957 elf_hppa_internal_shdr *hdr;979 Elf_Internal_Shdr *hdr; 958 980 asection *sec; 959 981 { … … 992 1014 hdr->sh_entsize = 4; 993 1015 } 994 return true;1016 return TRUE; 995 1017 } 996 1018 … … 998 1020 elf_hppa_final_write_processing (abfd, linker) 999 1021 bfd *abfd; 1000 b oolean linker ATTRIBUTE_UNUSED;1022 bfd_boolean linker ATTRIBUTE_UNUSED; 1001 1023 { 1002 1024 int mach = bfd_get_mach (abfd); … … 1023 1045 } 1024 1046 1047 /* Comparison function for qsort to sort unwind section during a 1048 final link. */ 1049 1050 static int 1051 hppa_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 1073 static 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 1025 1105 #if ARCH_SIZE == 64 1026 1106 /* Hook called by the linker routine which adds symbols from an object … … 1028 1108 indices, which we have to handle. */ 1029 1109 1030 static b oolean1110 static bfd_boolean 1031 1111 elf_hppa_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp) 1032 1112 bfd *abfd; … … 1055 1135 } 1056 1136 1057 return true;1137 return TRUE; 1058 1138 } 1059 1139 1060 static b oolean1140 static bfd_boolean 1061 1141 elf_hppa_unmark_useless_dynamic_symbols (h, data) 1062 1142 struct elf_link_hash_entry *h; … … 1064 1144 { 1065 1145 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; 1066 1149 1067 1150 /* If we are not creating a shared library, and this symbol is … … 1088 1171 } 1089 1172 1090 return true;1173 return TRUE; 1091 1174 } 1092 1175 1093 static b oolean1176 static bfd_boolean 1094 1177 elf_hppa_remark_useless_dynamic_symbols (h, data) 1095 1178 struct elf_link_hash_entry *h; … … 1097 1180 { 1098 1181 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; 1099 1185 1100 1186 /* If we are not creating a shared library, and this symbol is … … 1122 1208 } 1123 1209 1124 return true; 1210 return TRUE; 1211 } 1212 1213 static bfd_boolean 1214 elf_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")); 1125 1228 } 1126 1229 … … 1155 1258 fall back to the generic ELF final link routine. */ 1156 1259 1157 static b oolean1260 static bfd_boolean 1158 1261 elf_hppa_final_link (abfd, info) 1159 1262 bfd *abfd; 1160 1263 struct bfd_link_info *info; 1161 1264 { 1162 b oolean retval;1265 bfd_boolean retval; 1163 1266 struct elf64_hppa_link_hash_table *hppa_info = elf64_hppa_hash_table (info); 1164 1267 … … 1172 1275 in the hash table. If that fails, just compute the value __gp 1173 1276 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); 1176 1279 1177 1280 if (gp) … … 1195 1298 1196 1299 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 section1198 is found first. */1300 that order) and set __gp to the base address of whichever 1301 section is found first. */ 1199 1302 1200 1303 sec = hppa_info->plt_sec; 1201 if (sec )1304 if (sec && ! (sec->flags & SEC_EXCLUDE)) 1202 1305 gp_val = (sec->output_offset 1203 1306 + sec->output_section->vma … … 1206 1309 { 1207 1310 sec = hppa_info->dlt_sec; 1208 if (!sec )1311 if (!sec || (sec->flags & SEC_EXCLUDE)) 1209 1312 sec = hppa_info->opd_sec; 1210 if (!sec )1313 if (!sec || (sec->flags & SEC_EXCLUDE)) 1211 1314 sec = bfd_get_section_by_name (abfd, ".data"); 1212 if (!sec )1213 return false;1315 if (!sec || (sec->flags & SEC_EXCLUDE)) 1316 return FALSE; 1214 1317 1215 1318 gp_val = sec->output_offset + sec->output_section->vma; … … 1247 1350 info); 1248 1351 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 1249 1357 return retval; 1250 1358 } … … 1252 1360 /* Relocate an HPPA ELF section. */ 1253 1361 1254 static b oolean1362 static bfd_boolean 1255 1363 elf_hppa_relocate_section (output_bfd, info, input_bfd, input_section, 1256 1364 contents, relocs, local_syms, local_sections) … … 1267 1375 Elf_Internal_Rela *rel; 1268 1376 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); 1271 1383 symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; 1272 1384 … … 1293 1405 { 1294 1406 bfd_set_error (bfd_error_bad_value); 1295 return false;1407 return FALSE; 1296 1408 } 1297 1409 1410 /* This is a final link. */ 1298 1411 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 change1303 anything, unless the reloc is against a section symbol,1304 in which case we have to adjust according to where the1305 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. */1320 1412 h = NULL; 1321 1413 sym = NULL; … … 1326 1418 sym = local_syms + r_symndx; 1327 1419 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); 1332 1421 1333 1422 /* If this symbol has an entry in the PA64 dynamic hash … … 1336 1425 &dynh_buf, &dynh_buflen); 1337 1426 dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table, 1338 dyn_name, false, false);1427 dyn_name, FALSE, FALSE); 1339 1428 1340 1429 } … … 1359 1448 &dynh_buf, &dynh_buflen); 1360 1449 dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table, 1361 dyn_name, false, false);1450 dyn_name, FALSE, FALSE); 1362 1451 1363 1452 /* If we have a relocation against a symbol defined in a … … 1368 1457 (*_bfd_error_handler) 1369 1458 (_("%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, 1371 1460 bfd_get_section_name (input_bfd, input_section)); 1372 1461 relocation = 0; … … 1382 1471 } 1383 1472 /* Allow undefined symbols in shared libraries. */ 1384 1473 else if (info->shared && !info->no_undefined 1385 1474 && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) 1386 1475 { … … 1388 1477 (*info->callbacks->undefined_symbol) 1389 1478 (info, h->root.root.string, input_bfd, 1390 input_section, rel->r_offset, false);1479 input_section, rel->r_offset, FALSE); 1391 1480 1392 1481 /* If this symbol has an entry in the PA64 dynamic hash … … 1395 1484 &dynh_buf, &dynh_buflen); 1396 1485 dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table, 1397 dyn_name, false, false);1486 dyn_name, FALSE, FALSE); 1398 1487 1399 1488 if (dyn_h == NULL) … … 1401 1490 (*_bfd_error_handler) 1402 1491 (_("%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, 1404 1493 bfd_get_section_name (input_bfd, input_section)); 1405 1494 relocation = 0; … … 1411 1500 else 1412 1501 { 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 } 1418 1513 } 1419 1514 } … … 1427 1522 sym->st_name); 1428 1523 if (sym_name == NULL) 1429 return false;1524 return FALSE; 1430 1525 if (*sym_name == '\0') 1431 1526 sym_name = bfd_section_name (input_bfd, sym_sec); … … 1448 1543 (info, sym_name, howto->name, (bfd_vma) 0, 1449 1544 input_bfd, input_section, rel->r_offset))) 1450 return false;1545 return FALSE; 1451 1546 } 1452 1547 break; … … 1454 1549 } 1455 1550 } 1456 return true;1551 return TRUE; 1457 1552 } 1458 1553 … … 1485 1580 struct elf64_hppa_dyn_hash_entry *dyn_h; 1486 1581 { 1487 unsignedint insn;1582 int insn; 1488 1583 bfd_vma offset = rel->r_offset; 1489 bfd_ vma addend = rel->r_addend;1584 bfd_signed_vma addend = rel->r_addend; 1490 1585 reloc_howto_type *howto = elf_hppa_howto_table + ELF_R_TYPE (rel->r_info); 1491 1586 unsigned int r_type = howto->type; … … 1500 1595 break; 1501 1596 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. 1504 1598 1505 1599 Note for a call to a function defined in another dynamic library … … 1539 1633 1540 1634 /* 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); 1542 1636 break; 1543 1637 } … … 1571 1665 1572 1666 /* 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); 1574 1668 break; 1575 1669 } … … 1612 1706 if (dyn_h->h == NULL) 1613 1707 { 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. */ 1619 1709 if (r_type == R_PARISC_LTOFF_FPTR14R 1620 1710 || r_type == R_PARISC_LTOFF_FPTR14DR … … 1630 1720 1631 1721 /* 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, 1633 1723 (hppa_info->opd_sec->contents 1634 1724 + dyn_h->opd_offset + 16)); … … 1640 1730 (hppa_info->opd_sec->contents 1641 1731 + 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; 1642 1738 } 1739 1740 bfd_put_64 (hppa_info->dlt_sec->owner, 1741 value + addend, 1742 hppa_info->dlt_sec->contents + dyn_h->dlt_offset); 1643 1743 } 1644 1744 … … 1658 1758 || r_type == R_PARISC_LTOFF_FPTR21L 1659 1759 || r_type == R_PARISC_LTOFF_TP21L) 1660 value = hppa_field_adjust (value, addend, e_lrsel);1760 value = hppa_field_adjust (value, 0, e_lsel); 1661 1761 else if (r_type == R_PARISC_DLTIND14F 1662 1762 || r_type == R_PARISC_LTOFF_FPTR16F … … 1669 1769 || r_type == R_PARISC_LTOFF_TP16WF 1670 1770 || r_type == R_PARISC_LTOFF_TP16DF) 1671 value = hppa_field_adjust (value, addend, e_fsel);1771 value = hppa_field_adjust (value, 0, e_fsel); 1672 1772 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); 1676 1776 break; 1677 1777 } … … 1710 1810 value = hppa_field_adjust (value, addend, e_rrsel); 1711 1811 1712 insn = elf_hppa_relocate_insn (insn, value, r_type);1812 insn = elf_hppa_relocate_insn (insn, (int) value, r_type); 1713 1813 break; 1714 1814 } … … 1747 1847 } 1748 1848 1749 insn = elf_hppa_relocate_insn (insn, value, r_type);1849 insn = elf_hppa_relocate_insn (insn, (int) value, r_type); 1750 1850 break; 1751 1851 } … … 1782 1882 value = hppa_field_adjust (value, addend, e_rrsel); 1783 1883 1784 insn = elf_hppa_relocate_insn (insn, value, r_type);1884 insn = elf_hppa_relocate_insn (insn, (int) value, r_type); 1785 1885 break; 1786 1886 } … … 1796 1896 1797 1897 /* 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, 1799 1899 (hppa_info->opd_sec->contents 1800 1900 + dyn_h->opd_offset + 16)); … … 1805 1905 bfd_put_64 (hppa_info->opd_sec->owner, value, 1806 1906 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); 1807 1916 } 1808 1917 … … 1830 1939 1831 1940 /* 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, 1833 1942 (hppa_info->opd_sec->contents 1834 1943 + dyn_h->opd_offset + 16)); … … 1839 1948 bfd_put_64 (hppa_info->opd_sec->owner, value, 1840 1949 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); 1841 1959 } 1842 1960 … … 1930 2048 1931 2049 /* 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, 1933 2051 (hppa_info->opd_sec->contents 1934 2052 + dyn_h->opd_offset + 16)); … … 1941 2059 } 1942 2060 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); 1950 2071 return bfd_reloc_ok; 1951 2072 } … … 1983 2104 else 1984 2105 bfd_put_64 (input_bfd, value, hit_data); 1985 2106 return bfd_reloc_ok; 1986 2107 } 1987 2108 … … 1992 2113 1993 2114 /* Update the instruction word. */ 1994 bfd_put_32 (input_bfd, insn, hit_data);2115 bfd_put_32 (input_bfd, (bfd_vma) insn, hit_data); 1995 2116 return bfd_reloc_ok; 1996 2117 } … … 2002 2123 to insert the relocation into the given instruction. */ 2003 2124 2004 static unsignedint2125 static int 2005 2126 elf_hppa_relocate_insn (insn, sym_value, r_type) 2006 unsignedint insn;2007 unsignedint sym_value;2127 int insn; 2128 int sym_value; 2008 2129 unsigned int r_type; 2009 2130 { … … 2014 2135 case R_PARISC_PCREL22F: 2015 2136 case R_PARISC_PCREL22C: 2016 return (insn & ~ 2137 return (insn & ~0x3ff1ffd) | re_assemble_22 (sym_value); 2017 2138 2018 2139 /* This is any 12 bit branch. */ 2019 2140 case R_PARISC_PCREL12F: 2020 return (insn & ~ 2141 return (insn & ~0x1ffd) | re_assemble_12 (sym_value); 2021 2142 2022 2143 /* This is any 17 bit branch. In PA2.0 syntax it also corresponds … … 2027 2148 case R_PARISC_PCREL17C: 2028 2149 case R_PARISC_PCREL17R: 2029 return (insn & ~ 2150 return (insn & ~0x1f1ffd) | re_assemble_17 (sym_value); 2030 2151 2031 2152 /* ADDIL or LDIL instructions. */ … … 2038 2159 case R_PARISC_PLTOFF21L: 2039 2160 case R_PARISC_DIR21L: 2040 return (insn & ~ 2161 return (insn & ~0x1fffff) | re_assemble_21 (sym_value); 2041 2162 2042 2163 /* LDO and integer loads/stores with 14 bit displacements. */ … … 2046 2167 case R_PARISC_DLTIND14F: 2047 2168 case R_PARISC_LTOFF_FPTR14R: 2048 case R_PARISC_LTOFF_FPTR16F:2049 2169 case R_PARISC_PCREL14R: 2050 2170 case R_PARISC_PCREL14F: 2051 case R_PARISC_PCREL16F:2052 2171 case R_PARISC_LTOFF_TP14R: 2053 2172 case R_PARISC_LTOFF_TP14F: 2054 case R_PARISC_LTOFF_TP16F:2055 2173 case R_PARISC_DPREL14R: 2056 2174 case R_PARISC_DPREL14F: 2057 case R_PARISC_GPREL16F:2058 2175 case R_PARISC_PLTOFF14R: 2059 2176 case R_PARISC_PLTOFF14F: 2060 case R_PARISC_PLTOFF16F:2061 2177 case R_PARISC_DIR14R: 2062 2178 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: 2063 2187 case R_PARISC_DIR16F: 2064 2188 case R_PARISC_LTOFF16F: 2065 return (insn & ~ 0x3fff) | low_sign_unext (sym_value, 14);2189 return (insn & ~0xffff) | re_assemble_16 (sym_value); 2066 2190 2067 2191 /* Doubleword loads and stores with a 14 bit displacement. */ … … 2081 2205 case R_PARISC_DIR16DF: 2082 2206 case R_PARISC_LTOFF16DF: 2083 return (insn & ~ 2084 2207 return (insn & ~0x3ff1) | (((sym_value & 0x2000) >> 13) 2208 | ((sym_value & 0x1ff8) << 1)); 2085 2209 2086 2210 /* Floating point single word load/store instructions. */ … … 2100 2224 case R_PARISC_DIR14WR: 2101 2225 case R_PARISC_LTOFF16WF: 2102 return (insn & ~ 2103 2226 return (insn & ~0x3ff9) | (((sym_value & 0x2000) >> 13) 2227 | ((sym_value & 0x1ffc) << 1)); 2104 2228 2105 2229 default: -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.