elf32-sh-relocs.h revision 214571
1214571Sdim /* No relocation. */ 2214571Sdim HOWTO (R_SH_NONE, /* type */ 3214571Sdim 0, /* rightshift */ 4214571Sdim 0, /* size (0 = byte, 1 = short, 2 = long) */ 5214571Sdim 0, /* bitsize */ 6214571Sdim FALSE, /* pc_relative */ 7214571Sdim 0, /* bitpos */ 8214571Sdim complain_overflow_dont, /* complain_on_overflow */ 9214571Sdim sh_elf_ignore_reloc, /* special_function */ 10214571Sdim "R_SH_NONE", /* name */ 11214571Sdim FALSE, /* partial_inplace */ 12214571Sdim 0, /* src_mask */ 13214571Sdim 0, /* dst_mask */ 14214571Sdim FALSE), /* pcrel_offset */ 15214571Sdim 16214571Sdim /* 32 bit absolute relocation. Setting partial_inplace to TRUE and 17214571Sdim src_mask to a non-zero value is similar to the COFF toolchain. */ 18214571Sdim HOWTO (R_SH_DIR32, /* type */ 19214571Sdim 0, /* rightshift */ 20214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 21214571Sdim 32, /* bitsize */ 22214571Sdim FALSE, /* pc_relative */ 23214571Sdim 0, /* bitpos */ 24214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 25214571Sdim SH_ELF_RELOC, /* special_function */ 26214571Sdim "R_SH_DIR32", /* name */ 27214571Sdim SH_PARTIAL32, /* partial_inplace */ 28214571Sdim SH_SRC_MASK32, /* src_mask */ 29214571Sdim 0xffffffff, /* dst_mask */ 30214571Sdim FALSE), /* pcrel_offset */ 31214571Sdim 32214571Sdim /* 32 bit PC relative relocation. */ 33214571Sdim HOWTO (R_SH_REL32, /* type */ 34214571Sdim 0, /* rightshift */ 35214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 36214571Sdim 32, /* bitsize */ 37214571Sdim TRUE, /* pc_relative */ 38214571Sdim 0, /* bitpos */ 39214571Sdim complain_overflow_signed, /* complain_on_overflow */ 40214571Sdim sh_elf_ignore_reloc, /* special_function */ 41214571Sdim "R_SH_REL32", /* name */ 42214571Sdim SH_PARTIAL32, /* partial_inplace */ 43214571Sdim SH_SRC_MASK32, /* src_mask */ 44214571Sdim 0xffffffff, /* dst_mask */ 45214571Sdim TRUE), /* pcrel_offset */ 46214571Sdim 47214571Sdim /* 8 bit PC relative branch divided by 2. */ 48214571Sdim HOWTO (R_SH_DIR8WPN, /* type */ 49214571Sdim 1, /* rightshift */ 50214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 51214571Sdim 8, /* bitsize */ 52214571Sdim TRUE, /* pc_relative */ 53214571Sdim 0, /* bitpos */ 54214571Sdim complain_overflow_signed, /* complain_on_overflow */ 55214571Sdim sh_elf_ignore_reloc, /* special_function */ 56214571Sdim "R_SH_DIR8WPN", /* name */ 57214571Sdim TRUE, /* partial_inplace */ 58214571Sdim 0xff, /* src_mask */ 59214571Sdim 0xff, /* dst_mask */ 60214571Sdim TRUE), /* pcrel_offset */ 61214571Sdim 62214571Sdim /* 12 bit PC relative branch divided by 2. */ 63214571Sdim /* This cannot be partial_inplace because relaxation can't know the 64214571Sdim eventual value of a symbol. */ 65214571Sdim HOWTO (R_SH_IND12W, /* type */ 66214571Sdim 1, /* rightshift */ 67214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 68214571Sdim 12, /* bitsize */ 69214571Sdim TRUE, /* pc_relative */ 70214571Sdim 0, /* bitpos */ 71214571Sdim complain_overflow_signed, /* complain_on_overflow */ 72214571Sdim NULL, /* special_function */ 73214571Sdim "R_SH_IND12W", /* name */ 74214571Sdim FALSE, /* partial_inplace */ 75214571Sdim 0x0, /* src_mask */ 76214571Sdim 0xfff, /* dst_mask */ 77214571Sdim TRUE), /* pcrel_offset */ 78214571Sdim 79214571Sdim /* 8 bit unsigned PC relative divided by 4. */ 80214571Sdim HOWTO (R_SH_DIR8WPL, /* type */ 81214571Sdim 2, /* rightshift */ 82214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 83214571Sdim 8, /* bitsize */ 84214571Sdim TRUE, /* pc_relative */ 85214571Sdim 0, /* bitpos */ 86214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 87214571Sdim sh_elf_ignore_reloc, /* special_function */ 88214571Sdim "R_SH_DIR8WPL", /* name */ 89214571Sdim TRUE, /* partial_inplace */ 90214571Sdim 0xff, /* src_mask */ 91214571Sdim 0xff, /* dst_mask */ 92214571Sdim TRUE), /* pcrel_offset */ 93214571Sdim 94214571Sdim /* 8 bit unsigned PC relative divided by 2. */ 95214571Sdim HOWTO (R_SH_DIR8WPZ, /* type */ 96214571Sdim 1, /* rightshift */ 97214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 98214571Sdim 8, /* bitsize */ 99214571Sdim TRUE, /* pc_relative */ 100214571Sdim 0, /* bitpos */ 101214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 102214571Sdim sh_elf_ignore_reloc, /* special_function */ 103214571Sdim "R_SH_DIR8WPZ", /* name */ 104214571Sdim TRUE, /* partial_inplace */ 105214571Sdim 0xff, /* src_mask */ 106214571Sdim 0xff, /* dst_mask */ 107214571Sdim TRUE), /* pcrel_offset */ 108214571Sdim 109214571Sdim /* 8 bit GBR relative. FIXME: This only makes sense if we have some 110214571Sdim special symbol for the GBR relative area, and that is not 111214571Sdim implemented. */ 112214571Sdim HOWTO (R_SH_DIR8BP, /* type */ 113214571Sdim 0, /* rightshift */ 114214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 115214571Sdim 8, /* bitsize */ 116214571Sdim FALSE, /* pc_relative */ 117214571Sdim 0, /* bitpos */ 118214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 119214571Sdim sh_elf_ignore_reloc, /* special_function */ 120214571Sdim "R_SH_DIR8BP", /* name */ 121214571Sdim FALSE, /* partial_inplace */ 122214571Sdim 0, /* src_mask */ 123214571Sdim 0xff, /* dst_mask */ 124214571Sdim TRUE), /* pcrel_offset */ 125214571Sdim 126214571Sdim /* 8 bit GBR relative divided by 2. FIXME: This only makes sense if 127214571Sdim we have some special symbol for the GBR relative area, and that 128214571Sdim is not implemented. */ 129214571Sdim HOWTO (R_SH_DIR8W, /* type */ 130214571Sdim 1, /* rightshift */ 131214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 132214571Sdim 8, /* bitsize */ 133214571Sdim FALSE, /* pc_relative */ 134214571Sdim 0, /* bitpos */ 135214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 136214571Sdim sh_elf_ignore_reloc, /* special_function */ 137214571Sdim "R_SH_DIR8W", /* name */ 138214571Sdim FALSE, /* partial_inplace */ 139214571Sdim 0, /* src_mask */ 140214571Sdim 0xff, /* dst_mask */ 141214571Sdim TRUE), /* pcrel_offset */ 142214571Sdim 143214571Sdim /* 8 bit GBR relative divided by 4. FIXME: This only makes sense if 144214571Sdim we have some special symbol for the GBR relative area, and that 145214571Sdim is not implemented. */ 146214571Sdim HOWTO (R_SH_DIR8L, /* type */ 147214571Sdim 2, /* rightshift */ 148214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 149214571Sdim 8, /* bitsize */ 150214571Sdim FALSE, /* pc_relative */ 151214571Sdim 0, /* bitpos */ 152214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 153214571Sdim sh_elf_ignore_reloc, /* special_function */ 154214571Sdim "R_SH_DIR8L", /* name */ 155214571Sdim FALSE, /* partial_inplace */ 156214571Sdim 0, /* src_mask */ 157214571Sdim 0xff, /* dst_mask */ 158214571Sdim TRUE), /* pcrel_offset */ 159214571Sdim 160214571Sdim /* 8 bit PC relative divided by 2 - but specified in a very odd way. */ 161214571Sdim HOWTO (R_SH_LOOP_START, /* type */ 162214571Sdim 1, /* rightshift */ 163214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 164214571Sdim 8, /* bitsize */ 165214571Sdim FALSE, /* pc_relative */ 166214571Sdim 0, /* bitpos */ 167214571Sdim complain_overflow_signed, /* complain_on_overflow */ 168214571Sdim sh_elf_ignore_reloc, /* special_function */ 169214571Sdim "R_SH_LOOP_START", /* name */ 170214571Sdim TRUE, /* partial_inplace */ 171214571Sdim 0xff, /* src_mask */ 172214571Sdim 0xff, /* dst_mask */ 173214571Sdim TRUE), /* pcrel_offset */ 174214571Sdim 175214571Sdim /* 8 bit PC relative divided by 2 - but specified in a very odd way. */ 176214571Sdim HOWTO (R_SH_LOOP_END, /* type */ 177214571Sdim 1, /* rightshift */ 178214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 179214571Sdim 8, /* bitsize */ 180214571Sdim FALSE, /* pc_relative */ 181214571Sdim 0, /* bitpos */ 182214571Sdim complain_overflow_signed, /* complain_on_overflow */ 183214571Sdim sh_elf_ignore_reloc, /* special_function */ 184214571Sdim "R_SH_LOOP_END", /* name */ 185214571Sdim TRUE, /* partial_inplace */ 186214571Sdim 0xff, /* src_mask */ 187214571Sdim 0xff, /* dst_mask */ 188214571Sdim TRUE), /* pcrel_offset */ 189214571Sdim 190214571Sdim EMPTY_HOWTO (12), 191214571Sdim EMPTY_HOWTO (13), 192214571Sdim EMPTY_HOWTO (14), 193214571Sdim EMPTY_HOWTO (15), 194214571Sdim EMPTY_HOWTO (16), 195214571Sdim EMPTY_HOWTO (17), 196214571Sdim EMPTY_HOWTO (18), 197214571Sdim EMPTY_HOWTO (19), 198214571Sdim EMPTY_HOWTO (20), 199214571Sdim EMPTY_HOWTO (21), 200214571Sdim 201214571Sdim /* The remaining relocs are a GNU extension used for relaxing. The 202214571Sdim final pass of the linker never needs to do anything with any of 203214571Sdim these relocs. Any required operations are handled by the 204214571Sdim relaxation code. */ 205214571Sdim 206214571Sdim /* GNU extension to record C++ vtable hierarchy */ 207214571Sdim HOWTO (R_SH_GNU_VTINHERIT, /* type */ 208214571Sdim 0, /* rightshift */ 209214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 210214571Sdim 0, /* bitsize */ 211214571Sdim FALSE, /* pc_relative */ 212214571Sdim 0, /* bitpos */ 213214571Sdim complain_overflow_dont, /* complain_on_overflow */ 214214571Sdim NULL, /* special_function */ 215214571Sdim "R_SH_GNU_VTINHERIT", /* name */ 216214571Sdim FALSE, /* partial_inplace */ 217214571Sdim 0, /* src_mask */ 218214571Sdim 0, /* dst_mask */ 219214571Sdim FALSE), /* pcrel_offset */ 220214571Sdim 221214571Sdim /* GNU extension to record C++ vtable member usage */ 222214571Sdim HOWTO (R_SH_GNU_VTENTRY, /* type */ 223214571Sdim 0, /* rightshift */ 224214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 225214571Sdim 0, /* bitsize */ 226214571Sdim FALSE, /* pc_relative */ 227214571Sdim 0, /* bitpos */ 228214571Sdim complain_overflow_dont, /* complain_on_overflow */ 229214571Sdim _bfd_elf_rel_vtable_reloc_fn, /* special_function */ 230214571Sdim "R_SH_GNU_VTENTRY", /* name */ 231214571Sdim FALSE, /* partial_inplace */ 232214571Sdim 0, /* src_mask */ 233214571Sdim 0, /* dst_mask */ 234214571Sdim FALSE), /* pcrel_offset */ 235214571Sdim 236214571Sdim /* An 8 bit switch table entry. This is generated for an expression 237214571Sdim such as ``.word L1 - L2''. The offset holds the difference 238214571Sdim between the reloc address and L2. */ 239214571Sdim HOWTO (R_SH_SWITCH8, /* type */ 240214571Sdim 0, /* rightshift */ 241214571Sdim 0, /* size (0 = byte, 1 = short, 2 = long) */ 242214571Sdim 8, /* bitsize */ 243214571Sdim FALSE, /* pc_relative */ 244214571Sdim 0, /* bitpos */ 245214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 246214571Sdim sh_elf_ignore_reloc, /* special_function */ 247214571Sdim "R_SH_SWITCH8", /* name */ 248214571Sdim FALSE, /* partial_inplace */ 249214571Sdim 0, /* src_mask */ 250214571Sdim 0, /* dst_mask */ 251214571Sdim TRUE), /* pcrel_offset */ 252214571Sdim 253214571Sdim /* A 16 bit switch table entry. This is generated for an expression 254214571Sdim such as ``.word L1 - L2''. The offset holds the difference 255214571Sdim between the reloc address and L2. */ 256214571Sdim HOWTO (R_SH_SWITCH16, /* type */ 257214571Sdim 0, /* rightshift */ 258214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 259214571Sdim 16, /* bitsize */ 260214571Sdim FALSE, /* pc_relative */ 261214571Sdim 0, /* bitpos */ 262214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 263214571Sdim sh_elf_ignore_reloc, /* special_function */ 264214571Sdim "R_SH_SWITCH16", /* name */ 265214571Sdim FALSE, /* partial_inplace */ 266214571Sdim 0, /* src_mask */ 267214571Sdim 0, /* dst_mask */ 268214571Sdim TRUE), /* pcrel_offset */ 269214571Sdim 270214571Sdim /* A 32 bit switch table entry. This is generated for an expression 271214571Sdim such as ``.long L1 - L2''. The offset holds the difference 272214571Sdim between the reloc address and L2. */ 273214571Sdim HOWTO (R_SH_SWITCH32, /* type */ 274214571Sdim 0, /* rightshift */ 275214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 276214571Sdim 32, /* bitsize */ 277214571Sdim FALSE, /* pc_relative */ 278214571Sdim 0, /* bitpos */ 279214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 280214571Sdim sh_elf_ignore_reloc, /* special_function */ 281214571Sdim "R_SH_SWITCH32", /* name */ 282214571Sdim FALSE, /* partial_inplace */ 283214571Sdim 0, /* src_mask */ 284214571Sdim 0, /* dst_mask */ 285214571Sdim TRUE), /* pcrel_offset */ 286214571Sdim 287214571Sdim /* Indicates a .uses pseudo-op. The compiler will generate .uses 288214571Sdim pseudo-ops when it finds a function call which can be relaxed. 289214571Sdim The offset field holds the PC relative offset to the instruction 290214571Sdim which loads the register used in the function call. */ 291214571Sdim HOWTO (R_SH_USES, /* type */ 292214571Sdim 0, /* rightshift */ 293214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 294214571Sdim 0, /* bitsize */ 295214571Sdim FALSE, /* pc_relative */ 296214571Sdim 0, /* bitpos */ 297214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 298214571Sdim sh_elf_ignore_reloc, /* special_function */ 299214571Sdim "R_SH_USES", /* name */ 300214571Sdim FALSE, /* partial_inplace */ 301214571Sdim 0, /* src_mask */ 302214571Sdim 0, /* dst_mask */ 303214571Sdim TRUE), /* pcrel_offset */ 304214571Sdim 305214571Sdim /* The assembler will generate this reloc for addresses referred to 306214571Sdim by the register loads associated with USES relocs. The offset 307214571Sdim field holds the number of times the address is referenced in the 308214571Sdim object file. */ 309214571Sdim HOWTO (R_SH_COUNT, /* type */ 310214571Sdim 0, /* rightshift */ 311214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 312214571Sdim 0, /* bitsize */ 313214571Sdim FALSE, /* pc_relative */ 314214571Sdim 0, /* bitpos */ 315214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 316214571Sdim sh_elf_ignore_reloc, /* special_function */ 317214571Sdim "R_SH_COUNT", /* name */ 318214571Sdim FALSE, /* partial_inplace */ 319214571Sdim 0, /* src_mask */ 320214571Sdim 0, /* dst_mask */ 321214571Sdim TRUE), /* pcrel_offset */ 322214571Sdim 323214571Sdim /* Indicates an alignment statement. The offset field is the power 324214571Sdim of 2 to which subsequent portions of the object file must be 325214571Sdim aligned. */ 326214571Sdim HOWTO (R_SH_ALIGN, /* type */ 327214571Sdim 0, /* rightshift */ 328214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 329214571Sdim 0, /* bitsize */ 330214571Sdim FALSE, /* pc_relative */ 331214571Sdim 0, /* bitpos */ 332214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 333214571Sdim sh_elf_ignore_reloc, /* special_function */ 334214571Sdim "R_SH_ALIGN", /* name */ 335214571Sdim FALSE, /* partial_inplace */ 336214571Sdim 0, /* src_mask */ 337214571Sdim 0, /* dst_mask */ 338214571Sdim TRUE), /* pcrel_offset */ 339214571Sdim 340214571Sdim /* The assembler will generate this reloc before a block of 341214571Sdim instructions. A section should be processed as assuming it 342214571Sdim contains data, unless this reloc is seen. */ 343214571Sdim HOWTO (R_SH_CODE, /* type */ 344214571Sdim 0, /* rightshift */ 345214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 346214571Sdim 0, /* bitsize */ 347214571Sdim FALSE, /* pc_relative */ 348214571Sdim 0, /* bitpos */ 349214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 350214571Sdim sh_elf_ignore_reloc, /* special_function */ 351214571Sdim "R_SH_CODE", /* name */ 352214571Sdim FALSE, /* partial_inplace */ 353214571Sdim 0, /* src_mask */ 354214571Sdim 0, /* dst_mask */ 355214571Sdim TRUE), /* pcrel_offset */ 356214571Sdim 357214571Sdim /* The assembler will generate this reloc after a block of 358214571Sdim instructions when it sees data that is not instructions. */ 359214571Sdim HOWTO (R_SH_DATA, /* type */ 360214571Sdim 0, /* rightshift */ 361214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 362214571Sdim 0, /* bitsize */ 363214571Sdim FALSE, /* pc_relative */ 364214571Sdim 0, /* bitpos */ 365214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 366214571Sdim sh_elf_ignore_reloc, /* special_function */ 367214571Sdim "R_SH_DATA", /* name */ 368214571Sdim FALSE, /* partial_inplace */ 369214571Sdim 0, /* src_mask */ 370214571Sdim 0, /* dst_mask */ 371214571Sdim TRUE), /* pcrel_offset */ 372214571Sdim 373214571Sdim /* The assembler generates this reloc for each label within a block 374214571Sdim of instructions. This permits the linker to avoid swapping 375214571Sdim instructions which are the targets of branches. */ 376214571Sdim HOWTO (R_SH_LABEL, /* type */ 377214571Sdim 0, /* rightshift */ 378214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 379214571Sdim 0, /* bitsize */ 380214571Sdim FALSE, /* pc_relative */ 381214571Sdim 0, /* bitpos */ 382214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 383214571Sdim sh_elf_ignore_reloc, /* special_function */ 384214571Sdim "R_SH_LABEL", /* name */ 385214571Sdim FALSE, /* partial_inplace */ 386214571Sdim 0, /* src_mask */ 387214571Sdim 0, /* dst_mask */ 388214571Sdim TRUE), /* pcrel_offset */ 389214571Sdim 390214571Sdim /* The next 12 are only supported via linking in SHC-generated objects. */ 391214571Sdim HOWTO (R_SH_DIR16, /* type */ 392214571Sdim 0, /* rightshift */ 393214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 394214571Sdim 16, /* bitsize */ 395214571Sdim FALSE, /* pc_relative */ 396214571Sdim 0, /* bitpos */ 397214571Sdim complain_overflow_dont, /* complain_on_overflow */ 398214571Sdim bfd_elf_generic_reloc, /* special_function */ 399214571Sdim "R_SH_DIR16", /* name */ 400214571Sdim FALSE, /* partial_inplace */ 401214571Sdim 0, /* src_mask */ 402214571Sdim 0xffff, /* dst_mask */ 403214571Sdim FALSE), /* pcrel_offset */ 404214571Sdim 405214571Sdim HOWTO (R_SH_DIR8, /* type */ 406214571Sdim 0, /* rightshift */ 407214571Sdim 0, /* size (0 = byte, 1 = short, 2 = long) */ 408214571Sdim 8, /* bitsize */ 409214571Sdim FALSE, /* pc_relative */ 410214571Sdim 0, /* bitpos */ 411214571Sdim complain_overflow_dont, /* complain_on_overflow */ 412214571Sdim bfd_elf_generic_reloc, /* special_function */ 413214571Sdim "R_SH_DIR8", /* name */ 414214571Sdim FALSE, /* partial_inplace */ 415214571Sdim 0, /* src_mask */ 416214571Sdim 0xff, /* dst_mask */ 417214571Sdim FALSE), /* pcrel_offset */ 418214571Sdim 419214571Sdim HOWTO (R_SH_DIR8UL, /* type */ 420214571Sdim 2, /* rightshift */ 421214571Sdim 0, /* size (0 = byte, 1 = short, 2 = long) */ 422214571Sdim 8, /* bitsize */ 423214571Sdim FALSE, /* pc_relative */ 424214571Sdim 0, /* bitpos */ 425214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 426214571Sdim bfd_elf_generic_reloc, /* special_function */ 427214571Sdim "R_SH_DIR8UL", /* name */ 428214571Sdim FALSE, /* partial_inplace */ 429214571Sdim 0, /* src_mask */ 430214571Sdim 0xff, /* dst_mask */ 431214571Sdim FALSE), /* pcrel_offset */ 432214571Sdim 433214571Sdim HOWTO (R_SH_DIR8UW, /* type */ 434214571Sdim 1, /* rightshift */ 435214571Sdim 0, /* size (0 = byte, 1 = short, 2 = long) */ 436214571Sdim 8, /* bitsize */ 437214571Sdim FALSE, /* pc_relative */ 438214571Sdim 0, /* bitpos */ 439214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 440214571Sdim bfd_elf_generic_reloc, /* special_function */ 441214571Sdim "R_SH_DIR8UW", /* name */ 442214571Sdim FALSE, /* partial_inplace */ 443214571Sdim 0, /* src_mask */ 444214571Sdim 0xff, /* dst_mask */ 445214571Sdim FALSE), /* pcrel_offset */ 446214571Sdim 447214571Sdim HOWTO (R_SH_DIR8U, /* type */ 448214571Sdim 0, /* rightshift */ 449214571Sdim 0, /* size (0 = byte, 1 = short, 2 = long) */ 450214571Sdim 8, /* bitsize */ 451214571Sdim FALSE, /* pc_relative */ 452214571Sdim 0, /* bitpos */ 453214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 454214571Sdim bfd_elf_generic_reloc, /* special_function */ 455214571Sdim "R_SH_DIR8U", /* name */ 456214571Sdim FALSE, /* partial_inplace */ 457214571Sdim 0, /* src_mask */ 458214571Sdim 0xff, /* dst_mask */ 459214571Sdim FALSE), /* pcrel_offset */ 460214571Sdim 461214571Sdim HOWTO (R_SH_DIR8SW, /* type */ 462214571Sdim 1, /* rightshift */ 463214571Sdim 0, /* size (0 = byte, 1 = short, 2 = long) */ 464214571Sdim 8, /* bitsize */ 465214571Sdim FALSE, /* pc_relative */ 466214571Sdim 0, /* bitpos */ 467214571Sdim complain_overflow_signed, /* complain_on_overflow */ 468214571Sdim bfd_elf_generic_reloc, /* special_function */ 469214571Sdim "R_SH_DIR8SW", /* name */ 470214571Sdim FALSE, /* partial_inplace */ 471214571Sdim 0, /* src_mask */ 472214571Sdim 0xff, /* dst_mask */ 473214571Sdim FALSE), /* pcrel_offset */ 474214571Sdim 475214571Sdim HOWTO (R_SH_DIR8S, /* type */ 476214571Sdim 0, /* rightshift */ 477214571Sdim 0, /* size (0 = byte, 1 = short, 2 = long) */ 478214571Sdim 8, /* bitsize */ 479214571Sdim FALSE, /* pc_relative */ 480214571Sdim 0, /* bitpos */ 481214571Sdim complain_overflow_signed, /* complain_on_overflow */ 482214571Sdim bfd_elf_generic_reloc, /* special_function */ 483214571Sdim "R_SH_DIR8S", /* name */ 484214571Sdim FALSE, /* partial_inplace */ 485214571Sdim 0, /* src_mask */ 486214571Sdim 0xff, /* dst_mask */ 487214571Sdim FALSE), /* pcrel_offset */ 488214571Sdim 489214571Sdim HOWTO (R_SH_DIR4UL, /* type */ 490214571Sdim 2, /* rightshift */ 491214571Sdim 0, /* size (0 = byte, 1 = short, 2 = long) */ 492214571Sdim 4, /* bitsize */ 493214571Sdim FALSE, /* pc_relative */ 494214571Sdim 0, /* bitpos */ 495214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 496214571Sdim bfd_elf_generic_reloc, /* special_function */ 497214571Sdim "R_SH_DIR4UL", /* name */ 498214571Sdim FALSE, /* partial_inplace */ 499214571Sdim 0, /* src_mask */ 500214571Sdim 0x0f, /* dst_mask */ 501214571Sdim FALSE), /* pcrel_offset */ 502214571Sdim 503214571Sdim HOWTO (R_SH_DIR4UW, /* type */ 504214571Sdim 1, /* rightshift */ 505214571Sdim 0, /* size (0 = byte, 1 = short, 2 = long) */ 506214571Sdim 4, /* bitsize */ 507214571Sdim FALSE, /* pc_relative */ 508214571Sdim 0, /* bitpos */ 509214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 510214571Sdim bfd_elf_generic_reloc, /* special_function */ 511214571Sdim "R_SH_DIR4UW", /* name */ 512214571Sdim FALSE, /* partial_inplace */ 513214571Sdim 0, /* src_mask */ 514214571Sdim 0x0f, /* dst_mask */ 515214571Sdim FALSE), /* pcrel_offset */ 516214571Sdim 517214571Sdim HOWTO (R_SH_DIR4U, /* type */ 518214571Sdim 0, /* rightshift */ 519214571Sdim 0, /* size (0 = byte, 1 = short, 2 = long) */ 520214571Sdim 4, /* bitsize */ 521214571Sdim FALSE, /* pc_relative */ 522214571Sdim 0, /* bitpos */ 523214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 524214571Sdim bfd_elf_generic_reloc, /* special_function */ 525214571Sdim "R_SH_DIR4U", /* name */ 526214571Sdim FALSE, /* partial_inplace */ 527214571Sdim 0, /* src_mask */ 528214571Sdim 0x0f, /* dst_mask */ 529214571Sdim FALSE), /* pcrel_offset */ 530214571Sdim 531214571Sdim HOWTO (R_SH_PSHA, /* type */ 532214571Sdim 0, /* rightshift */ 533214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 534214571Sdim 7, /* bitsize */ 535214571Sdim FALSE, /* pc_relative */ 536214571Sdim 4, /* bitpos */ 537214571Sdim complain_overflow_signed, /* complain_on_overflow */ 538214571Sdim bfd_elf_generic_reloc, /* special_function */ 539214571Sdim "R_SH_PSHA", /* name */ 540214571Sdim FALSE, /* partial_inplace */ 541214571Sdim 0, /* src_mask */ 542214571Sdim 0x0f, /* dst_mask */ 543214571Sdim FALSE), /* pcrel_offset */ 544214571Sdim 545214571Sdim HOWTO (R_SH_PSHL, /* type */ 546214571Sdim 0, /* rightshift */ 547214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 548214571Sdim 7, /* bitsize */ 549214571Sdim FALSE, /* pc_relative */ 550214571Sdim 4, /* bitpos */ 551214571Sdim complain_overflow_signed, /* complain_on_overflow */ 552214571Sdim bfd_elf_generic_reloc, /* special_function */ 553214571Sdim "R_SH_PSHL", /* name */ 554214571Sdim FALSE, /* partial_inplace */ 555214571Sdim 0, /* src_mask */ 556214571Sdim 0x0f, /* dst_mask */ 557214571Sdim FALSE), /* pcrel_offset */ 558214571Sdim 559214571Sdim#ifdef INCLUDE_SHMEDIA 560214571Sdim /* Used in SHLLI.L and SHLRI.L. */ 561214571Sdim HOWTO (R_SH_DIR5U, /* type */ 562214571Sdim 0, /* rightshift */ 563214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 564214571Sdim 5, /* bitsize */ 565214571Sdim FALSE, /* pc_relative */ 566214571Sdim 10, /* bitpos */ 567214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 568214571Sdim bfd_elf_generic_reloc, /* special_function */ 569214571Sdim "R_SH_DIR5U", /* name */ 570214571Sdim FALSE, /* partial_inplace */ 571214571Sdim 0, /* src_mask */ 572214571Sdim 0xfc00, /* dst_mask */ 573214571Sdim FALSE), /* pcrel_offset */ 574214571Sdim 575214571Sdim /* Used in SHARI, SHLLI et al. */ 576214571Sdim HOWTO (R_SH_DIR6U, /* type */ 577214571Sdim 0, /* rightshift */ 578214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 579214571Sdim 6, /* bitsize */ 580214571Sdim FALSE, /* pc_relative */ 581214571Sdim 10, /* bitpos */ 582214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 583214571Sdim bfd_elf_generic_reloc, /* special_function */ 584214571Sdim "R_SH_DIR6U", /* name */ 585214571Sdim FALSE, /* partial_inplace */ 586214571Sdim 0, /* src_mask */ 587214571Sdim 0xfc00, /* dst_mask */ 588214571Sdim FALSE), /* pcrel_offset */ 589214571Sdim 590214571Sdim /* Used in BxxI, LDHI.L et al. */ 591214571Sdim HOWTO (R_SH_DIR6S, /* type */ 592214571Sdim 0, /* rightshift */ 593214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 594214571Sdim 6, /* bitsize */ 595214571Sdim FALSE, /* pc_relative */ 596214571Sdim 10, /* bitpos */ 597214571Sdim complain_overflow_signed, /* complain_on_overflow */ 598214571Sdim bfd_elf_generic_reloc, /* special_function */ 599214571Sdim "R_SH_DIR6S", /* name */ 600214571Sdim FALSE, /* partial_inplace */ 601214571Sdim 0, /* src_mask */ 602214571Sdim 0xfc00, /* dst_mask */ 603214571Sdim FALSE), /* pcrel_offset */ 604214571Sdim 605214571Sdim /* Used in ADDI, ANDI et al. */ 606214571Sdim HOWTO (R_SH_DIR10S, /* type */ 607214571Sdim 0, /* rightshift */ 608214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 609214571Sdim 10, /* bitsize */ 610214571Sdim FALSE, /* pc_relative */ 611214571Sdim 10, /* bitpos */ 612214571Sdim complain_overflow_signed, /* complain_on_overflow */ 613214571Sdim bfd_elf_generic_reloc, /* special_function */ 614214571Sdim "R_SH_DIR10S", /* name */ 615214571Sdim FALSE, /* partial_inplace */ 616214571Sdim 0, /* src_mask */ 617214571Sdim 0xffc00, /* dst_mask */ 618214571Sdim FALSE), /* pcrel_offset */ 619214571Sdim 620214571Sdim /* Used in LD.UW, ST.W et al. */ 621214571Sdim HOWTO (R_SH_DIR10SW, /* type */ 622214571Sdim 1, /* rightshift */ 623214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 624214571Sdim 11, /* bitsize */ 625214571Sdim FALSE, /* pc_relative */ 626214571Sdim 10, /* bitpos */ 627214571Sdim complain_overflow_signed, /* complain_on_overflow */ 628214571Sdim bfd_elf_generic_reloc, /* special_function */ 629214571Sdim "R_SH_DIR10SW", /* name */ 630214571Sdim FALSE, /* partial_inplace */ 631214571Sdim 0, /* src_mask */ 632214571Sdim 0xffc00, /* dst_mask */ 633214571Sdim FALSE), /* pcrel_offset */ 634214571Sdim 635214571Sdim /* Used in LD.L, FLD.S et al. */ 636214571Sdim HOWTO (R_SH_DIR10SL, /* type */ 637214571Sdim 2, /* rightshift */ 638214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 639214571Sdim 12, /* bitsize */ 640214571Sdim FALSE, /* pc_relative */ 641214571Sdim 10, /* bitpos */ 642214571Sdim complain_overflow_signed, /* complain_on_overflow */ 643214571Sdim bfd_elf_generic_reloc, /* special_function */ 644214571Sdim "R_SH_DIR10SL", /* name */ 645214571Sdim FALSE, /* partial_inplace */ 646214571Sdim 0, /* src_mask */ 647214571Sdim 0xffc00, /* dst_mask */ 648214571Sdim FALSE), /* pcrel_offset */ 649214571Sdim 650214571Sdim /* Used in FLD.D, FST.P et al. */ 651214571Sdim HOWTO (R_SH_DIR10SQ, /* type */ 652214571Sdim 3, /* rightshift */ 653214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 654214571Sdim 13, /* bitsize */ 655214571Sdim FALSE, /* pc_relative */ 656214571Sdim 10, /* bitpos */ 657214571Sdim complain_overflow_signed, /* complain_on_overflow */ 658214571Sdim bfd_elf_generic_reloc, /* special_function */ 659214571Sdim "R_SH_DIR10SQ", /* name */ 660214571Sdim FALSE, /* partial_inplace */ 661214571Sdim 0, /* src_mask */ 662214571Sdim 0xffc00, /* dst_mask */ 663214571Sdim FALSE), /* pcrel_offset */ 664214571Sdim 665214571Sdim#else 666214571Sdim EMPTY_HOWTO (45), 667214571Sdim EMPTY_HOWTO (46), 668214571Sdim EMPTY_HOWTO (47), 669214571Sdim EMPTY_HOWTO (48), 670214571Sdim EMPTY_HOWTO (49), 671214571Sdim EMPTY_HOWTO (50), 672214571Sdim EMPTY_HOWTO (51), 673214571Sdim#endif 674214571Sdim 675214571Sdim EMPTY_HOWTO (52), 676214571Sdim 677214571Sdim HOWTO (R_SH_DIR16S, /* type */ 678214571Sdim 0, /* rightshift */ 679214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 680214571Sdim 16, /* bitsize */ 681214571Sdim FALSE, /* pc_relative */ 682214571Sdim 0, /* bitpos */ 683214571Sdim complain_overflow_signed, /* complain_on_overflow */ 684214571Sdim bfd_elf_generic_reloc, /* special_function */ 685214571Sdim "R_SH_DIR16S", /* name */ 686214571Sdim FALSE, /* partial_inplace */ 687214571Sdim 0, /* src_mask */ 688214571Sdim 0xffff, /* dst_mask */ 689214571Sdim FALSE), /* pcrel_offset */ 690214571Sdim 691214571Sdim EMPTY_HOWTO (54), 692214571Sdim EMPTY_HOWTO (55), 693214571Sdim EMPTY_HOWTO (56), 694214571Sdim EMPTY_HOWTO (57), 695214571Sdim EMPTY_HOWTO (58), 696214571Sdim EMPTY_HOWTO (59), 697214571Sdim EMPTY_HOWTO (60), 698214571Sdim EMPTY_HOWTO (61), 699214571Sdim EMPTY_HOWTO (62), 700214571Sdim EMPTY_HOWTO (63), 701214571Sdim EMPTY_HOWTO (64), 702214571Sdim EMPTY_HOWTO (65), 703214571Sdim EMPTY_HOWTO (66), 704214571Sdim EMPTY_HOWTO (67), 705214571Sdim EMPTY_HOWTO (68), 706214571Sdim EMPTY_HOWTO (69), 707214571Sdim EMPTY_HOWTO (70), 708214571Sdim EMPTY_HOWTO (71), 709214571Sdim EMPTY_HOWTO (72), 710214571Sdim EMPTY_HOWTO (73), 711214571Sdim EMPTY_HOWTO (74), 712214571Sdim EMPTY_HOWTO (75), 713214571Sdim EMPTY_HOWTO (76), 714214571Sdim EMPTY_HOWTO (77), 715214571Sdim EMPTY_HOWTO (78), 716214571Sdim EMPTY_HOWTO (79), 717214571Sdim EMPTY_HOWTO (80), 718214571Sdim EMPTY_HOWTO (81), 719214571Sdim EMPTY_HOWTO (82), 720214571Sdim EMPTY_HOWTO (83), 721214571Sdim EMPTY_HOWTO (84), 722214571Sdim EMPTY_HOWTO (85), 723214571Sdim EMPTY_HOWTO (86), 724214571Sdim EMPTY_HOWTO (87), 725214571Sdim EMPTY_HOWTO (88), 726214571Sdim EMPTY_HOWTO (89), 727214571Sdim EMPTY_HOWTO (90), 728214571Sdim EMPTY_HOWTO (91), 729214571Sdim EMPTY_HOWTO (92), 730214571Sdim EMPTY_HOWTO (93), 731214571Sdim EMPTY_HOWTO (94), 732214571Sdim EMPTY_HOWTO (95), 733214571Sdim EMPTY_HOWTO (96), 734214571Sdim EMPTY_HOWTO (97), 735214571Sdim EMPTY_HOWTO (98), 736214571Sdim EMPTY_HOWTO (99), 737214571Sdim EMPTY_HOWTO (100), 738214571Sdim EMPTY_HOWTO (101), 739214571Sdim EMPTY_HOWTO (102), 740214571Sdim EMPTY_HOWTO (103), 741214571Sdim EMPTY_HOWTO (104), 742214571Sdim EMPTY_HOWTO (105), 743214571Sdim EMPTY_HOWTO (106), 744214571Sdim EMPTY_HOWTO (107), 745214571Sdim EMPTY_HOWTO (108), 746214571Sdim EMPTY_HOWTO (109), 747214571Sdim EMPTY_HOWTO (110), 748214571Sdim EMPTY_HOWTO (111), 749214571Sdim EMPTY_HOWTO (112), 750214571Sdim EMPTY_HOWTO (113), 751214571Sdim EMPTY_HOWTO (114), 752214571Sdim EMPTY_HOWTO (115), 753214571Sdim EMPTY_HOWTO (116), 754214571Sdim EMPTY_HOWTO (117), 755214571Sdim EMPTY_HOWTO (118), 756214571Sdim EMPTY_HOWTO (119), 757214571Sdim EMPTY_HOWTO (120), 758214571Sdim EMPTY_HOWTO (121), 759214571Sdim EMPTY_HOWTO (122), 760214571Sdim EMPTY_HOWTO (123), 761214571Sdim EMPTY_HOWTO (124), 762214571Sdim EMPTY_HOWTO (125), 763214571Sdim EMPTY_HOWTO (126), 764214571Sdim EMPTY_HOWTO (127), 765214571Sdim EMPTY_HOWTO (128), 766214571Sdim EMPTY_HOWTO (129), 767214571Sdim EMPTY_HOWTO (130), 768214571Sdim EMPTY_HOWTO (131), 769214571Sdim EMPTY_HOWTO (132), 770214571Sdim EMPTY_HOWTO (133), 771214571Sdim EMPTY_HOWTO (134), 772214571Sdim EMPTY_HOWTO (135), 773214571Sdim EMPTY_HOWTO (136), 774214571Sdim EMPTY_HOWTO (137), 775214571Sdim EMPTY_HOWTO (138), 776214571Sdim EMPTY_HOWTO (139), 777214571Sdim EMPTY_HOWTO (140), 778214571Sdim EMPTY_HOWTO (141), 779214571Sdim EMPTY_HOWTO (142), 780214571Sdim EMPTY_HOWTO (143), 781214571Sdim 782214571Sdim HOWTO (R_SH_TLS_GD_32, /* type */ 783214571Sdim 0, /* rightshift */ 784214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 785214571Sdim 32, /* bitsize */ 786214571Sdim FALSE, /* pc_relative */ 787214571Sdim 0, /* bitpos */ 788214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 789214571Sdim bfd_elf_generic_reloc, /* */ 790214571Sdim "R_SH_TLS_GD_32", /* name */ 791214571Sdim SH_PARTIAL32, /* partial_inplace */ 792214571Sdim SH_SRC_MASK32, /* src_mask */ 793214571Sdim 0xffffffff, /* dst_mask */ 794214571Sdim FALSE), /* pcrel_offset */ 795214571Sdim 796214571Sdim HOWTO (R_SH_TLS_LD_32, /* type */ 797214571Sdim 0, /* rightshift */ 798214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 799214571Sdim 32, /* bitsize */ 800214571Sdim FALSE, /* pc_relative */ 801214571Sdim 0, /* bitpos */ 802214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 803214571Sdim bfd_elf_generic_reloc, /* */ 804214571Sdim "R_SH_TLS_LD_32", /* name */ 805214571Sdim SH_PARTIAL32, /* partial_inplace */ 806214571Sdim SH_SRC_MASK32, /* src_mask */ 807214571Sdim 0xffffffff, /* dst_mask */ 808214571Sdim FALSE), /* pcrel_offset */ 809214571Sdim 810214571Sdim HOWTO (R_SH_TLS_LDO_32, /* type */ 811214571Sdim 0, /* rightshift */ 812214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 813214571Sdim 32, /* bitsize */ 814214571Sdim FALSE, /* pc_relative */ 815214571Sdim 0, /* bitpos */ 816214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 817214571Sdim bfd_elf_generic_reloc, /* */ 818214571Sdim "R_SH_TLS_LDO_32", /* name */ 819214571Sdim SH_PARTIAL32, /* partial_inplace */ 820214571Sdim SH_SRC_MASK32, /* src_mask */ 821214571Sdim 0xffffffff, /* dst_mask */ 822214571Sdim FALSE), /* pcrel_offset */ 823214571Sdim 824214571Sdim HOWTO (R_SH_TLS_IE_32, /* type */ 825214571Sdim 0, /* rightshift */ 826214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 827214571Sdim 32, /* bitsize */ 828214571Sdim FALSE, /* pc_relative */ 829214571Sdim 0, /* bitpos */ 830214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 831214571Sdim bfd_elf_generic_reloc, /* */ 832214571Sdim "R_SH_TLS_IE_32", /* name */ 833214571Sdim SH_PARTIAL32, /* partial_inplace */ 834214571Sdim SH_SRC_MASK32, /* src_mask */ 835214571Sdim 0xffffffff, /* dst_mask */ 836214571Sdim FALSE), /* pcrel_offset */ 837214571Sdim 838214571Sdim HOWTO (R_SH_TLS_LE_32, /* type */ 839214571Sdim 0, /* rightshift */ 840214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 841214571Sdim 32, /* bitsize */ 842214571Sdim FALSE, /* pc_relative */ 843214571Sdim 0, /* bitpos */ 844214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 845214571Sdim bfd_elf_generic_reloc, /* */ 846214571Sdim "R_SH_TLS_LE_32", /* name */ 847214571Sdim SH_PARTIAL32, /* partial_inplace */ 848214571Sdim SH_SRC_MASK32, /* src_mask */ 849214571Sdim 0xffffffff, /* dst_mask */ 850214571Sdim FALSE), /* pcrel_offset */ 851214571Sdim 852214571Sdim HOWTO (R_SH_TLS_DTPMOD32, /* type */ 853214571Sdim 0, /* rightshift */ 854214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 855214571Sdim 32, /* bitsize */ 856214571Sdim FALSE, /* pc_relative */ 857214571Sdim 0, /* bitpos */ 858214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 859214571Sdim bfd_elf_generic_reloc, /* */ 860214571Sdim "R_SH_TLS_DTPMOD32", /* name */ 861214571Sdim SH_PARTIAL32, /* partial_inplace */ 862214571Sdim SH_SRC_MASK32, /* src_mask */ 863214571Sdim 0xffffffff, /* dst_mask */ 864214571Sdim FALSE), /* pcrel_offset */ 865214571Sdim 866214571Sdim HOWTO (R_SH_TLS_DTPOFF32, /* type */ 867214571Sdim 0, /* rightshift */ 868214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 869214571Sdim 32, /* bitsize */ 870214571Sdim FALSE, /* pc_relative */ 871214571Sdim 0, /* bitpos */ 872214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 873214571Sdim bfd_elf_generic_reloc, /* */ 874214571Sdim "R_SH_TLS_DTPOFF32", /* name */ 875214571Sdim SH_PARTIAL32, /* partial_inplace */ 876214571Sdim SH_SRC_MASK32, /* src_mask */ 877214571Sdim 0xffffffff, /* dst_mask */ 878214571Sdim FALSE), /* pcrel_offset */ 879214571Sdim 880214571Sdim HOWTO (R_SH_TLS_TPOFF32, /* type */ 881214571Sdim 0, /* rightshift */ 882214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 883214571Sdim 32, /* bitsize */ 884214571Sdim FALSE, /* pc_relative */ 885214571Sdim 0, /* bitpos */ 886214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 887214571Sdim bfd_elf_generic_reloc, /* */ 888214571Sdim "R_SH_TLS_TPOFF32", /* name */ 889214571Sdim SH_PARTIAL32, /* partial_inplace */ 890214571Sdim SH_SRC_MASK32, /* src_mask */ 891214571Sdim 0xffffffff, /* dst_mask */ 892214571Sdim FALSE), /* pcrel_offset */ 893214571Sdim 894214571Sdim EMPTY_HOWTO (152), 895214571Sdim EMPTY_HOWTO (153), 896214571Sdim EMPTY_HOWTO (154), 897214571Sdim EMPTY_HOWTO (155), 898214571Sdim EMPTY_HOWTO (156), 899214571Sdim EMPTY_HOWTO (157), 900214571Sdim EMPTY_HOWTO (158), 901214571Sdim EMPTY_HOWTO (159), 902214571Sdim 903214571Sdim HOWTO (R_SH_GOT32, /* type */ 904214571Sdim 0, /* rightshift */ 905214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 906214571Sdim 32, /* bitsize */ 907214571Sdim FALSE, /* pc_relative */ 908214571Sdim 0, /* bitpos */ 909214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 910214571Sdim bfd_elf_generic_reloc, /* */ 911214571Sdim "R_SH_GOT32", /* name */ 912214571Sdim SH_PARTIAL32, /* partial_inplace */ 913214571Sdim SH_SRC_MASK32, /* src_mask */ 914214571Sdim 0xffffffff, /* dst_mask */ 915214571Sdim FALSE), /* pcrel_offset */ 916214571Sdim 917214571Sdim HOWTO (R_SH_PLT32, /* type */ 918214571Sdim 0, /* rightshift */ 919214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 920214571Sdim 32, /* bitsize */ 921214571Sdim TRUE, /* pc_relative */ 922214571Sdim 0, /* bitpos */ 923214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 924214571Sdim bfd_elf_generic_reloc, /* */ 925214571Sdim "R_SH_PLT32", /* name */ 926214571Sdim SH_PARTIAL32, /* partial_inplace */ 927214571Sdim SH_SRC_MASK32, /* src_mask */ 928214571Sdim 0xffffffff, /* dst_mask */ 929214571Sdim TRUE), /* pcrel_offset */ 930214571Sdim 931214571Sdim HOWTO (R_SH_COPY, /* type */ 932214571Sdim 0, /* rightshift */ 933214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 934214571Sdim 32, /* bitsize */ 935214571Sdim FALSE, /* pc_relative */ 936214571Sdim 0, /* bitpos */ 937214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 938214571Sdim bfd_elf_generic_reloc, /* */ 939214571Sdim "R_SH_COPY", /* name */ 940214571Sdim SH_PARTIAL32, /* partial_inplace */ 941214571Sdim SH_SRC_MASK32, /* src_mask */ 942214571Sdim 0xffffffff, /* dst_mask */ 943214571Sdim FALSE), /* pcrel_offset */ 944214571Sdim 945214571Sdim HOWTO (R_SH_GLOB_DAT, /* type */ 946214571Sdim 0, /* rightshift */ 947214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 948214571Sdim 32, /* bitsize */ 949214571Sdim FALSE, /* pc_relative */ 950214571Sdim 0, /* bitpos */ 951214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 952214571Sdim bfd_elf_generic_reloc, /* */ 953214571Sdim "R_SH_GLOB_DAT", /* name */ 954214571Sdim SH_PARTIAL32, /* partial_inplace */ 955214571Sdim SH_SRC_MASK32, /* src_mask */ 956214571Sdim 0xffffffff, /* dst_mask */ 957214571Sdim FALSE), /* pcrel_offset */ 958214571Sdim 959214571Sdim HOWTO (R_SH_JMP_SLOT, /* type */ 960214571Sdim 0, /* rightshift */ 961214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 962214571Sdim 32, /* bitsize */ 963214571Sdim FALSE, /* pc_relative */ 964214571Sdim 0, /* bitpos */ 965214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 966214571Sdim bfd_elf_generic_reloc, /* */ 967214571Sdim "R_SH_JMP_SLOT", /* name */ 968214571Sdim SH_PARTIAL32, /* partial_inplace */ 969214571Sdim SH_SRC_MASK32, /* src_mask */ 970214571Sdim 0xffffffff, /* dst_mask */ 971214571Sdim FALSE), /* pcrel_offset */ 972214571Sdim 973214571Sdim HOWTO (R_SH_RELATIVE, /* type */ 974214571Sdim 0, /* rightshift */ 975214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 976214571Sdim 32, /* bitsize */ 977214571Sdim FALSE, /* pc_relative */ 978214571Sdim 0, /* bitpos */ 979214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 980214571Sdim bfd_elf_generic_reloc, /* */ 981214571Sdim "R_SH_RELATIVE", /* name */ 982214571Sdim SH_PARTIAL32, /* partial_inplace */ 983214571Sdim SH_SRC_MASK32, /* src_mask */ 984214571Sdim 0xffffffff, /* dst_mask */ 985214571Sdim FALSE), /* pcrel_offset */ 986214571Sdim 987214571Sdim HOWTO (R_SH_GOTOFF, /* type */ 988214571Sdim 0, /* rightshift */ 989214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 990214571Sdim 32, /* bitsize */ 991214571Sdim FALSE, /* pc_relative */ 992214571Sdim 0, /* bitpos */ 993214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 994214571Sdim bfd_elf_generic_reloc, /* */ 995214571Sdim "R_SH_GOTOFF", /* name */ 996214571Sdim SH_PARTIAL32, /* partial_inplace */ 997214571Sdim SH_SRC_MASK32, /* src_mask */ 998214571Sdim 0xffffffff, /* dst_mask */ 999214571Sdim FALSE), /* pcrel_offset */ 1000214571Sdim 1001214571Sdim HOWTO (R_SH_GOTPC, /* type */ 1002214571Sdim 0, /* rightshift */ 1003214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1004214571Sdim 32, /* bitsize */ 1005214571Sdim TRUE, /* pc_relative */ 1006214571Sdim 0, /* bitpos */ 1007214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 1008214571Sdim bfd_elf_generic_reloc, /* */ 1009214571Sdim "R_SH_GOTPC", /* name */ 1010214571Sdim SH_PARTIAL32, /* partial_inplace */ 1011214571Sdim SH_SRC_MASK32, /* src_mask */ 1012214571Sdim 0xffffffff, /* dst_mask */ 1013214571Sdim TRUE), /* pcrel_offset */ 1014214571Sdim 1015214571Sdim HOWTO (R_SH_GOTPLT32, /* type */ 1016214571Sdim 0, /* rightshift */ 1017214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1018214571Sdim 32, /* bitsize */ 1019214571Sdim FALSE, /* pc_relative */ 1020214571Sdim 0, /* bitpos */ 1021214571Sdim complain_overflow_bitfield, /* complain_on_overflow */ 1022214571Sdim bfd_elf_generic_reloc, /* */ 1023214571Sdim "R_SH_GOTPLT32", /* name */ 1024214571Sdim FALSE, /* partial_inplace */ 1025214571Sdim /* ??? Why not 0? */ 1026214571Sdim SH_SRC_MASK32, /* src_mask */ 1027214571Sdim 0xffffffff, /* dst_mask */ 1028214571Sdim FALSE), /* pcrel_offset */ 1029214571Sdim 1030214571Sdim#ifdef INCLUDE_SHMEDIA 1031214571Sdim /* Used in MOVI and SHORI (x & 65536). */ 1032214571Sdim HOWTO (R_SH_GOT_LOW16, /* type */ 1033214571Sdim 0, /* rightshift */ 1034214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1035214571Sdim 64, /* bitsize */ 1036214571Sdim FALSE, /* pc_relative */ 1037214571Sdim 10, /* bitpos */ 1038214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1039214571Sdim bfd_elf_generic_reloc, /* special_function */ 1040214571Sdim "R_SH_GOT_LOW16", /* name */ 1041214571Sdim FALSE, /* partial_inplace */ 1042214571Sdim 0, /* src_mask */ 1043214571Sdim 0x3fffc00, /* dst_mask */ 1044214571Sdim FALSE), /* pcrel_offset */ 1045214571Sdim 1046214571Sdim /* Used in MOVI and SHORI ((x >> 16) & 65536). */ 1047214571Sdim HOWTO (R_SH_GOT_MEDLOW16, /* type */ 1048214571Sdim 16, /* rightshift */ 1049214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1050214571Sdim 64, /* bitsize */ 1051214571Sdim FALSE, /* pc_relative */ 1052214571Sdim 10, /* bitpos */ 1053214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1054214571Sdim bfd_elf_generic_reloc, /* special_function */ 1055214571Sdim "R_SH_GOT_MEDLOW16", /* name */ 1056214571Sdim FALSE, /* partial_inplace */ 1057214571Sdim 0, /* src_mask */ 1058214571Sdim 0x3fffc00, /* dst_mask */ 1059214571Sdim FALSE), /* pcrel_offset */ 1060214571Sdim 1061214571Sdim /* Used in MOVI and SHORI ((x >> 32) & 65536). */ 1062214571Sdim HOWTO (R_SH_GOT_MEDHI16, /* type */ 1063214571Sdim 32, /* rightshift */ 1064214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1065214571Sdim 64, /* bitsize */ 1066214571Sdim FALSE, /* pc_relative */ 1067214571Sdim 10, /* bitpos */ 1068214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1069214571Sdim bfd_elf_generic_reloc, /* special_function */ 1070214571Sdim "R_SH_GOT_MEDHI16", /* name */ 1071214571Sdim FALSE, /* partial_inplace */ 1072214571Sdim 0, /* src_mask */ 1073214571Sdim 0x3fffc00, /* dst_mask */ 1074214571Sdim FALSE), /* pcrel_offset */ 1075214571Sdim 1076214571Sdim /* Used in MOVI and SHORI ((x >> 48) & 65536). */ 1077214571Sdim HOWTO (R_SH_GOT_HI16, /* type */ 1078214571Sdim 48, /* rightshift */ 1079214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1080214571Sdim 64, /* bitsize */ 1081214571Sdim FALSE, /* pc_relative */ 1082214571Sdim 10, /* bitpos */ 1083214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1084214571Sdim bfd_elf_generic_reloc, /* special_function */ 1085214571Sdim "R_SH_GOT_HI16", /* name */ 1086214571Sdim FALSE, /* partial_inplace */ 1087214571Sdim 0, /* src_mask */ 1088214571Sdim 0x3fffc00, /* dst_mask */ 1089214571Sdim FALSE), /* pcrel_offset */ 1090214571Sdim 1091214571Sdim /* Used in MOVI and SHORI (x & 65536). */ 1092214571Sdim HOWTO (R_SH_GOTPLT_LOW16, /* type */ 1093214571Sdim 0, /* rightshift */ 1094214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1095214571Sdim 64, /* bitsize */ 1096214571Sdim FALSE, /* pc_relative */ 1097214571Sdim 10, /* bitpos */ 1098214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1099214571Sdim bfd_elf_generic_reloc, /* special_function */ 1100214571Sdim "R_SH_GOTPLT_LOW16", /* name */ 1101214571Sdim FALSE, /* partial_inplace */ 1102214571Sdim 0, /* src_mask */ 1103214571Sdim 0x3fffc00, /* dst_mask */ 1104214571Sdim FALSE), /* pcrel_offset */ 1105214571Sdim 1106214571Sdim /* Used in MOVI and SHORI ((x >> 16) & 65536). */ 1107214571Sdim HOWTO (R_SH_GOTPLT_MEDLOW16, /* type */ 1108214571Sdim 16, /* rightshift */ 1109214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1110214571Sdim 64, /* bitsize */ 1111214571Sdim FALSE, /* pc_relative */ 1112214571Sdim 10, /* bitpos */ 1113214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1114214571Sdim bfd_elf_generic_reloc, /* special_function */ 1115214571Sdim "R_SH_GOTPLT_MEDLOW16", /* name */ 1116214571Sdim FALSE, /* partial_inplace */ 1117214571Sdim 0, /* src_mask */ 1118214571Sdim 0x3fffc00, /* dst_mask */ 1119214571Sdim FALSE), /* pcrel_offset */ 1120214571Sdim 1121214571Sdim /* Used in MOVI and SHORI ((x >> 32) & 65536). */ 1122214571Sdim HOWTO (R_SH_GOTPLT_MEDHI16, /* type */ 1123214571Sdim 32, /* rightshift */ 1124214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1125214571Sdim 64, /* bitsize */ 1126214571Sdim FALSE, /* pc_relative */ 1127214571Sdim 10, /* bitpos */ 1128214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1129214571Sdim bfd_elf_generic_reloc, /* special_function */ 1130214571Sdim "R_SH_GOTPLT_MEDHI16", /* name */ 1131214571Sdim FALSE, /* partial_inplace */ 1132214571Sdim 0, /* src_mask */ 1133214571Sdim 0x3fffc00, /* dst_mask */ 1134214571Sdim FALSE), /* pcrel_offset */ 1135214571Sdim 1136214571Sdim /* Used in MOVI and SHORI ((x >> 48) & 65536). */ 1137214571Sdim HOWTO (R_SH_GOTPLT_HI16, /* type */ 1138214571Sdim 48, /* rightshift */ 1139214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1140214571Sdim 64, /* bitsize */ 1141214571Sdim FALSE, /* pc_relative */ 1142214571Sdim 10, /* bitpos */ 1143214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1144214571Sdim bfd_elf_generic_reloc, /* special_function */ 1145214571Sdim "R_SH_GOTPLT_HI16", /* name */ 1146214571Sdim FALSE, /* partial_inplace */ 1147214571Sdim 0, /* src_mask */ 1148214571Sdim 0x3fffc00, /* dst_mask */ 1149214571Sdim FALSE), /* pcrel_offset */ 1150214571Sdim 1151214571Sdim /* Used in MOVI and SHORI (x & 65536). */ 1152214571Sdim HOWTO (R_SH_PLT_LOW16, /* type */ 1153214571Sdim 0, /* rightshift */ 1154214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1155214571Sdim 64, /* bitsize */ 1156214571Sdim TRUE, /* pc_relative */ 1157214571Sdim 10, /* bitpos */ 1158214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1159214571Sdim bfd_elf_generic_reloc, /* special_function */ 1160214571Sdim "R_SH_PLT_LOW16", /* name */ 1161214571Sdim FALSE, /* partial_inplace */ 1162214571Sdim 0, /* src_mask */ 1163214571Sdim 0x3fffc00, /* dst_mask */ 1164214571Sdim TRUE), /* pcrel_offset */ 1165214571Sdim 1166214571Sdim /* Used in MOVI and SHORI ((x >> 16) & 65536). */ 1167214571Sdim HOWTO (R_SH_PLT_MEDLOW16, /* type */ 1168214571Sdim 16, /* rightshift */ 1169214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1170214571Sdim 64, /* bitsize */ 1171214571Sdim TRUE, /* pc_relative */ 1172214571Sdim 10, /* bitpos */ 1173214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1174214571Sdim bfd_elf_generic_reloc, /* special_function */ 1175214571Sdim "R_SH_PLT_MEDLOW16", /* name */ 1176214571Sdim FALSE, /* partial_inplace */ 1177214571Sdim 0, /* src_mask */ 1178214571Sdim 0x3fffc00, /* dst_mask */ 1179214571Sdim TRUE), /* pcrel_offset */ 1180214571Sdim 1181214571Sdim /* Used in MOVI and SHORI ((x >> 32) & 65536). */ 1182214571Sdim HOWTO (R_SH_PLT_MEDHI16, /* type */ 1183214571Sdim 32, /* rightshift */ 1184214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1185214571Sdim 64, /* bitsize */ 1186214571Sdim TRUE, /* pc_relative */ 1187214571Sdim 10, /* bitpos */ 1188214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1189214571Sdim bfd_elf_generic_reloc, /* special_function */ 1190214571Sdim "R_SH_PLT_MEDHI16", /* name */ 1191214571Sdim FALSE, /* partial_inplace */ 1192214571Sdim 0, /* src_mask */ 1193214571Sdim 0x3fffc00, /* dst_mask */ 1194214571Sdim TRUE), /* pcrel_offset */ 1195214571Sdim 1196214571Sdim /* Used in MOVI and SHORI ((x >> 48) & 65536). */ 1197214571Sdim HOWTO (R_SH_PLT_HI16, /* type */ 1198214571Sdim 48, /* rightshift */ 1199214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1200214571Sdim 64, /* bitsize */ 1201214571Sdim TRUE, /* pc_relative */ 1202214571Sdim 10, /* bitpos */ 1203214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1204214571Sdim bfd_elf_generic_reloc, /* special_function */ 1205214571Sdim "R_SH_PLT_HI16", /* name */ 1206214571Sdim FALSE, /* partial_inplace */ 1207214571Sdim 0, /* src_mask */ 1208214571Sdim 0x3fffc00, /* dst_mask */ 1209214571Sdim TRUE), /* pcrel_offset */ 1210214571Sdim 1211214571Sdim /* Used in MOVI and SHORI (x & 65536). */ 1212214571Sdim HOWTO (R_SH_GOTOFF_LOW16, /* type */ 1213214571Sdim 0, /* rightshift */ 1214214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1215214571Sdim 64, /* bitsize */ 1216214571Sdim FALSE, /* pc_relative */ 1217214571Sdim 10, /* bitpos */ 1218214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1219214571Sdim bfd_elf_generic_reloc, /* special_function */ 1220214571Sdim "R_SH_GOTOFF_LOW16", /* name */ 1221214571Sdim FALSE, /* partial_inplace */ 1222214571Sdim 0, /* src_mask */ 1223214571Sdim 0x3fffc00, /* dst_mask */ 1224214571Sdim FALSE), /* pcrel_offset */ 1225214571Sdim 1226214571Sdim /* Used in MOVI and SHORI ((x >> 16) & 65536). */ 1227214571Sdim HOWTO (R_SH_GOTOFF_MEDLOW16, /* type */ 1228214571Sdim 16, /* rightshift */ 1229214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1230214571Sdim 64, /* bitsize */ 1231214571Sdim FALSE, /* pc_relative */ 1232214571Sdim 10, /* bitpos */ 1233214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1234214571Sdim bfd_elf_generic_reloc, /* special_function */ 1235214571Sdim "R_SH_GOTOFF_MEDLOW16", /* name */ 1236214571Sdim FALSE, /* partial_inplace */ 1237214571Sdim 0, /* src_mask */ 1238214571Sdim 0x3fffc00, /* dst_mask */ 1239214571Sdim FALSE), /* pcrel_offset */ 1240214571Sdim 1241214571Sdim /* Used in MOVI and SHORI ((x >> 32) & 65536). */ 1242214571Sdim HOWTO (R_SH_GOTOFF_MEDHI16, /* type */ 1243214571Sdim 32, /* rightshift */ 1244214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1245214571Sdim 64, /* bitsize */ 1246214571Sdim FALSE, /* pc_relative */ 1247214571Sdim 10, /* bitpos */ 1248214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1249214571Sdim bfd_elf_generic_reloc, /* special_function */ 1250214571Sdim "R_SH_GOTOFF_MEDHI16", /* name */ 1251214571Sdim FALSE, /* partial_inplace */ 1252214571Sdim 0, /* src_mask */ 1253214571Sdim 0x3fffc00, /* dst_mask */ 1254214571Sdim FALSE), /* pcrel_offset */ 1255214571Sdim 1256214571Sdim /* Used in MOVI and SHORI ((x >> 48) & 65536). */ 1257214571Sdim HOWTO (R_SH_GOTOFF_HI16, /* type */ 1258214571Sdim 48, /* rightshift */ 1259214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1260214571Sdim 64, /* bitsize */ 1261214571Sdim FALSE, /* pc_relative */ 1262214571Sdim 10, /* bitpos */ 1263214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1264214571Sdim bfd_elf_generic_reloc, /* special_function */ 1265214571Sdim "R_SH_GOTOFF_HI16", /* name */ 1266214571Sdim FALSE, /* partial_inplace */ 1267214571Sdim 0, /* src_mask */ 1268214571Sdim 0x3fffc00, /* dst_mask */ 1269214571Sdim FALSE), /* pcrel_offset */ 1270214571Sdim 1271214571Sdim /* Used in MOVI and SHORI (x & 65536). */ 1272214571Sdim HOWTO (R_SH_GOTPC_LOW16, /* type */ 1273214571Sdim 0, /* rightshift */ 1274214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1275214571Sdim 64, /* bitsize */ 1276214571Sdim TRUE, /* pc_relative */ 1277214571Sdim 10, /* bitpos */ 1278214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1279214571Sdim bfd_elf_generic_reloc, /* special_function */ 1280214571Sdim "R_SH_GOTPC_LOW16", /* name */ 1281214571Sdim FALSE, /* partial_inplace */ 1282214571Sdim 0, /* src_mask */ 1283214571Sdim 0x3fffc00, /* dst_mask */ 1284214571Sdim TRUE), /* pcrel_offset */ 1285214571Sdim 1286214571Sdim /* Used in MOVI and SHORI ((x >> 16) & 65536). */ 1287214571Sdim HOWTO (R_SH_GOTPC_MEDLOW16, /* type */ 1288214571Sdim 16, /* rightshift */ 1289214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1290214571Sdim 64, /* bitsize */ 1291214571Sdim TRUE, /* pc_relative */ 1292214571Sdim 10, /* bitpos */ 1293214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1294214571Sdim bfd_elf_generic_reloc, /* special_function */ 1295214571Sdim "R_SH_GOTPC_MEDLOW16", /* name */ 1296214571Sdim FALSE, /* partial_inplace */ 1297214571Sdim 0, /* src_mask */ 1298214571Sdim 0x3fffc00, /* dst_mask */ 1299214571Sdim TRUE), /* pcrel_offset */ 1300214571Sdim 1301214571Sdim /* Used in MOVI and SHORI ((x >> 32) & 65536). */ 1302214571Sdim HOWTO (R_SH_GOTPC_MEDHI16, /* type */ 1303214571Sdim 32, /* rightshift */ 1304214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1305214571Sdim 64, /* bitsize */ 1306214571Sdim TRUE, /* pc_relative */ 1307214571Sdim 10, /* bitpos */ 1308214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1309214571Sdim bfd_elf_generic_reloc, /* special_function */ 1310214571Sdim "R_SH_GOTPC_MEDHI16", /* name */ 1311214571Sdim FALSE, /* partial_inplace */ 1312214571Sdim 0, /* src_mask */ 1313214571Sdim 0x3fffc00, /* dst_mask */ 1314214571Sdim TRUE), /* pcrel_offset */ 1315214571Sdim 1316214571Sdim /* Used in MOVI and SHORI ((x >> 48) & 65536). */ 1317214571Sdim HOWTO (R_SH_GOTPC_HI16, /* type */ 1318214571Sdim 48, /* rightshift */ 1319214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1320214571Sdim 64, /* bitsize */ 1321214571Sdim TRUE, /* pc_relative */ 1322214571Sdim 10, /* bitpos */ 1323214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1324214571Sdim bfd_elf_generic_reloc, /* special_function */ 1325214571Sdim "R_SH_GOTPC_HI16", /* name */ 1326214571Sdim FALSE, /* partial_inplace */ 1327214571Sdim 0, /* src_mask */ 1328214571Sdim 0x3fffc00, /* dst_mask */ 1329214571Sdim TRUE), /* pcrel_offset */ 1330214571Sdim 1331214571Sdim /* Used in LD.L, FLD.S et al. */ 1332214571Sdim HOWTO (R_SH_GOT10BY4, /* type */ 1333214571Sdim 2, /* rightshift */ 1334214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1335214571Sdim 12, /* bitsize */ 1336214571Sdim FALSE, /* pc_relative */ 1337214571Sdim 10, /* bitpos */ 1338214571Sdim complain_overflow_signed, /* complain_on_overflow */ 1339214571Sdim bfd_elf_generic_reloc, /* special_function */ 1340214571Sdim "R_SH_GOT10BY4", /* name */ 1341214571Sdim FALSE, /* partial_inplace */ 1342214571Sdim 0, /* src_mask */ 1343214571Sdim 0xffc00, /* dst_mask */ 1344214571Sdim FALSE), /* pcrel_offset */ 1345214571Sdim 1346214571Sdim /* Used in LD.L, FLD.S et al. */ 1347214571Sdim HOWTO (R_SH_GOTPLT10BY4, /* type */ 1348214571Sdim 2, /* rightshift */ 1349214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1350214571Sdim 12, /* bitsize */ 1351214571Sdim FALSE, /* pc_relative */ 1352214571Sdim 10, /* bitpos */ 1353214571Sdim complain_overflow_signed, /* complain_on_overflow */ 1354214571Sdim bfd_elf_generic_reloc, /* special_function */ 1355214571Sdim "R_SH_GOTPLT10BY4", /* name */ 1356214571Sdim FALSE, /* partial_inplace */ 1357214571Sdim 0, /* src_mask */ 1358214571Sdim 0xffc00, /* dst_mask */ 1359214571Sdim FALSE), /* pcrel_offset */ 1360214571Sdim 1361214571Sdim /* Used in FLD.D, FST.P et al. */ 1362214571Sdim HOWTO (R_SH_GOT10BY8, /* type */ 1363214571Sdim 3, /* rightshift */ 1364214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1365214571Sdim 13, /* bitsize */ 1366214571Sdim FALSE, /* pc_relative */ 1367214571Sdim 10, /* bitpos */ 1368214571Sdim complain_overflow_signed, /* complain_on_overflow */ 1369214571Sdim bfd_elf_generic_reloc, /* special_function */ 1370214571Sdim "R_SH_GOT10BY8", /* name */ 1371214571Sdim FALSE, /* partial_inplace */ 1372214571Sdim 0, /* src_mask */ 1373214571Sdim 0xffc00, /* dst_mask */ 1374214571Sdim FALSE), /* pcrel_offset */ 1375214571Sdim 1376214571Sdim /* Used in FLD.D, FST.P et al. */ 1377214571Sdim HOWTO (R_SH_GOTPLT10BY8, /* type */ 1378214571Sdim 3, /* rightshift */ 1379214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1380214571Sdim 13, /* bitsize */ 1381214571Sdim FALSE, /* pc_relative */ 1382214571Sdim 10, /* bitpos */ 1383214571Sdim complain_overflow_signed, /* complain_on_overflow */ 1384214571Sdim bfd_elf_generic_reloc, /* special_function */ 1385214571Sdim "R_SH_GOTPLT10BY8", /* name */ 1386214571Sdim FALSE, /* partial_inplace */ 1387214571Sdim 0, /* src_mask */ 1388214571Sdim 0xffc00, /* dst_mask */ 1389214571Sdim FALSE), /* pcrel_offset */ 1390214571Sdim 1391214571Sdim HOWTO (R_SH_COPY64, /* type */ 1392214571Sdim 0, /* rightshift */ 1393214571Sdim 4, /* size (0 = byte, 1 = short, 2 = long) */ 1394214571Sdim 64, /* bitsize */ 1395214571Sdim FALSE, /* pc_relative */ 1396214571Sdim 0, /* bitpos */ 1397214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1398214571Sdim bfd_elf_generic_reloc, /* special_function */ 1399214571Sdim "R_SH_COPY64", /* name */ 1400214571Sdim FALSE, /* partial_inplace */ 1401214571Sdim 0, /* src_mask */ 1402214571Sdim ((bfd_vma) 0) - 1, /* dst_mask */ 1403214571Sdim FALSE), /* pcrel_offset */ 1404214571Sdim 1405214571Sdim HOWTO (R_SH_GLOB_DAT64, /* type */ 1406214571Sdim 0, /* rightshift */ 1407214571Sdim 4, /* size (0 = byte, 1 = short, 2 = long) */ 1408214571Sdim 64, /* bitsize */ 1409214571Sdim FALSE, /* pc_relative */ 1410214571Sdim 0, /* bitpos */ 1411214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1412214571Sdim bfd_elf_generic_reloc, /* special_function */ 1413214571Sdim "R_SH_GLOB_DAT64", /* name */ 1414214571Sdim FALSE, /* partial_inplace */ 1415214571Sdim 0, /* src_mask */ 1416214571Sdim ((bfd_vma) 0) - 1, /* dst_mask */ 1417214571Sdim FALSE), /* pcrel_offset */ 1418214571Sdim 1419214571Sdim HOWTO (R_SH_JMP_SLOT64, /* type */ 1420214571Sdim 0, /* rightshift */ 1421214571Sdim 4, /* size (0 = byte, 1 = short, 2 = long) */ 1422214571Sdim 64, /* bitsize */ 1423214571Sdim FALSE, /* pc_relative */ 1424214571Sdim 0, /* bitpos */ 1425214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1426214571Sdim bfd_elf_generic_reloc, /* special_function */ 1427214571Sdim "R_SH_JMP_SLOT64", /* name */ 1428214571Sdim FALSE, /* partial_inplace */ 1429214571Sdim 0, /* src_mask */ 1430214571Sdim ((bfd_vma) 0) - 1, /* dst_mask */ 1431214571Sdim FALSE), /* pcrel_offset */ 1432214571Sdim 1433214571Sdim HOWTO (R_SH_RELATIVE64, /* type */ 1434214571Sdim 0, /* rightshift */ 1435214571Sdim 4, /* size (0 = byte, 1 = short, 2 = long) */ 1436214571Sdim 64, /* bitsize */ 1437214571Sdim FALSE, /* pc_relative */ 1438214571Sdim 0, /* bitpos */ 1439214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1440214571Sdim bfd_elf_generic_reloc, /* special_function */ 1441214571Sdim "R_SH_RELATIVE64", /* name */ 1442214571Sdim FALSE, /* partial_inplace */ 1443214571Sdim 0, /* src_mask */ 1444214571Sdim ((bfd_vma) 0) - 1, /* dst_mask */ 1445214571Sdim FALSE), /* pcrel_offset */ 1446214571Sdim 1447214571Sdim EMPTY_HOWTO (197), 1448214571Sdim EMPTY_HOWTO (198), 1449214571Sdim EMPTY_HOWTO (199), 1450214571Sdim EMPTY_HOWTO (200), 1451214571Sdim EMPTY_HOWTO (201), 1452214571Sdim EMPTY_HOWTO (202), 1453214571Sdim EMPTY_HOWTO (203), 1454214571Sdim EMPTY_HOWTO (204), 1455214571Sdim EMPTY_HOWTO (205), 1456214571Sdim EMPTY_HOWTO (206), 1457214571Sdim EMPTY_HOWTO (207), 1458214571Sdim EMPTY_HOWTO (208), 1459214571Sdim EMPTY_HOWTO (209), 1460214571Sdim EMPTY_HOWTO (210), 1461214571Sdim EMPTY_HOWTO (211), 1462214571Sdim EMPTY_HOWTO (212), 1463214571Sdim EMPTY_HOWTO (213), 1464214571Sdim EMPTY_HOWTO (214), 1465214571Sdim EMPTY_HOWTO (215), 1466214571Sdim EMPTY_HOWTO (216), 1467214571Sdim EMPTY_HOWTO (217), 1468214571Sdim EMPTY_HOWTO (218), 1469214571Sdim EMPTY_HOWTO (219), 1470214571Sdim EMPTY_HOWTO (220), 1471214571Sdim EMPTY_HOWTO (221), 1472214571Sdim EMPTY_HOWTO (222), 1473214571Sdim EMPTY_HOWTO (223), 1474214571Sdim EMPTY_HOWTO (224), 1475214571Sdim EMPTY_HOWTO (225), 1476214571Sdim EMPTY_HOWTO (226), 1477214571Sdim EMPTY_HOWTO (227), 1478214571Sdim EMPTY_HOWTO (228), 1479214571Sdim EMPTY_HOWTO (229), 1480214571Sdim EMPTY_HOWTO (230), 1481214571Sdim EMPTY_HOWTO (231), 1482214571Sdim EMPTY_HOWTO (232), 1483214571Sdim EMPTY_HOWTO (233), 1484214571Sdim EMPTY_HOWTO (234), 1485214571Sdim EMPTY_HOWTO (235), 1486214571Sdim EMPTY_HOWTO (236), 1487214571Sdim EMPTY_HOWTO (237), 1488214571Sdim EMPTY_HOWTO (238), 1489214571Sdim EMPTY_HOWTO (239), 1490214571Sdim EMPTY_HOWTO (240), 1491214571Sdim EMPTY_HOWTO (241), 1492214571Sdim 1493214571Sdim /* Relocations for SHmedia code. None of these are partial_inplace or 1494214571Sdim use the field being relocated (except R_SH_PT_16). */ 1495214571Sdim 1496214571Sdim /* The assembler will generate this reloc before a block of SHmedia 1497214571Sdim instructions. A section should be processed as assuming it contains 1498214571Sdim data, unless this reloc is seen. Note that a block of SHcompact 1499214571Sdim instructions are instead preceded by R_SH_CODE. 1500214571Sdim This is currently not implemented, but should be used for SHmedia 1501214571Sdim linker relaxation. */ 1502214571Sdim HOWTO (R_SH_SHMEDIA_CODE, /* type */ 1503214571Sdim 0, /* rightshift */ 1504214571Sdim 1, /* size (0 = byte, 1 = short, 2 = long) */ 1505214571Sdim 0, /* bitsize */ 1506214571Sdim FALSE, /* pc_relative */ 1507214571Sdim 0, /* bitpos */ 1508214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 1509214571Sdim sh_elf_ignore_reloc, /* special_function */ 1510214571Sdim "R_SH_SHMEDIA_CODE", /* name */ 1511214571Sdim FALSE, /* partial_inplace */ 1512214571Sdim 0, /* src_mask */ 1513214571Sdim 0, /* dst_mask */ 1514214571Sdim FALSE), /* pcrel_offset */ 1515214571Sdim 1516214571Sdim /* The assembler will generate this reloc at a PTA or PTB instruction, 1517214571Sdim and the linker checks the right type of target, or changes a PTA to a 1518214571Sdim PTB, if the original insn was PT. */ 1519214571Sdim HOWTO (R_SH_PT_16, /* type */ 1520214571Sdim 2, /* rightshift */ 1521214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1522214571Sdim 18, /* bitsize */ 1523214571Sdim TRUE, /* pc_relative */ 1524214571Sdim 10, /* bitpos */ 1525214571Sdim complain_overflow_signed, /* complain_on_overflow */ 1526214571Sdim bfd_elf_generic_reloc, /* special_function */ 1527214571Sdim "R_SH_PT_16", /* name */ 1528214571Sdim FALSE, /* partial_inplace */ 1529214571Sdim 0, /* src_mask */ 1530214571Sdim 0x3fffc00, /* dst_mask */ 1531214571Sdim TRUE), /* pcrel_offset */ 1532214571Sdim 1533214571Sdim /* Used in unexpanded MOVI. */ 1534214571Sdim HOWTO (R_SH_IMMS16, /* type */ 1535214571Sdim 0, /* rightshift */ 1536214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1537214571Sdim 16, /* bitsize */ 1538214571Sdim FALSE, /* pc_relative */ 1539214571Sdim 10, /* bitpos */ 1540214571Sdim complain_overflow_signed, /* complain_on_overflow */ 1541214571Sdim bfd_elf_generic_reloc, /* special_function */ 1542214571Sdim "R_SH_IMMS16", /* name */ 1543214571Sdim FALSE, /* partial_inplace */ 1544214571Sdim 0, /* src_mask */ 1545214571Sdim 0x3fffc00, /* dst_mask */ 1546214571Sdim FALSE), /* pcrel_offset */ 1547214571Sdim 1548214571Sdim /* Used in SHORI. */ 1549214571Sdim HOWTO (R_SH_IMMU16, /* type */ 1550214571Sdim 0, /* rightshift */ 1551214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1552214571Sdim 16, /* bitsize */ 1553214571Sdim FALSE, /* pc_relative */ 1554214571Sdim 10, /* bitpos */ 1555214571Sdim complain_overflow_unsigned, /* complain_on_overflow */ 1556214571Sdim bfd_elf_generic_reloc, /* special_function */ 1557214571Sdim "R_SH_IMMU16", /* name */ 1558214571Sdim FALSE, /* partial_inplace */ 1559214571Sdim 0, /* src_mask */ 1560214571Sdim 0x3fffc00, /* dst_mask */ 1561214571Sdim FALSE), /* pcrel_offset */ 1562214571Sdim 1563214571Sdim /* Used in MOVI and SHORI (x & 65536). */ 1564214571Sdim HOWTO (R_SH_IMM_LOW16, /* type */ 1565214571Sdim 0, /* rightshift */ 1566214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1567214571Sdim 64, /* bitsize */ 1568214571Sdim FALSE, /* pc_relative */ 1569214571Sdim 10, /* bitpos */ 1570214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1571214571Sdim bfd_elf_generic_reloc, /* special_function */ 1572214571Sdim "R_SH_IMM_LOW16", /* name */ 1573214571Sdim FALSE, /* partial_inplace */ 1574214571Sdim 0, /* src_mask */ 1575214571Sdim 0x3fffc00, /* dst_mask */ 1576214571Sdim FALSE), /* pcrel_offset */ 1577214571Sdim 1578214571Sdim /* Used in MOVI and SHORI ((x - $) & 65536). */ 1579214571Sdim HOWTO (R_SH_IMM_LOW16_PCREL, /* type */ 1580214571Sdim 0, /* rightshift */ 1581214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1582214571Sdim 64, /* bitsize */ 1583214571Sdim TRUE, /* pc_relative */ 1584214571Sdim 10, /* bitpos */ 1585214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1586214571Sdim bfd_elf_generic_reloc, /* special_function */ 1587214571Sdim "R_SH_IMM_LOW16_PCREL", /* name */ 1588214571Sdim FALSE, /* partial_inplace */ 1589214571Sdim 0, /* src_mask */ 1590214571Sdim 0x3fffc00, /* dst_mask */ 1591214571Sdim TRUE), /* pcrel_offset */ 1592214571Sdim 1593214571Sdim /* Used in MOVI and SHORI ((x >> 16) & 65536). */ 1594214571Sdim HOWTO (R_SH_IMM_MEDLOW16, /* type */ 1595214571Sdim 16, /* rightshift */ 1596214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1597214571Sdim 64, /* bitsize */ 1598214571Sdim FALSE, /* pc_relative */ 1599214571Sdim 10, /* bitpos */ 1600214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1601214571Sdim bfd_elf_generic_reloc, /* special_function */ 1602214571Sdim "R_SH_IMM_MEDLOW16", /* name */ 1603214571Sdim FALSE, /* partial_inplace */ 1604214571Sdim 0, /* src_mask */ 1605214571Sdim 0x3fffc00, /* dst_mask */ 1606214571Sdim FALSE), /* pcrel_offset */ 1607214571Sdim 1608214571Sdim /* Used in MOVI and SHORI (((x - $) >> 16) & 65536). */ 1609214571Sdim HOWTO (R_SH_IMM_MEDLOW16_PCREL, /* type */ 1610214571Sdim 16, /* rightshift */ 1611214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1612214571Sdim 64, /* bitsize */ 1613214571Sdim TRUE, /* pc_relative */ 1614214571Sdim 10, /* bitpos */ 1615214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1616214571Sdim bfd_elf_generic_reloc, /* special_function */ 1617214571Sdim "R_SH_IMM_MEDLOW16_PCREL", /* name */ 1618214571Sdim FALSE, /* partial_inplace */ 1619214571Sdim 0, /* src_mask */ 1620214571Sdim 0x3fffc00, /* dst_mask */ 1621214571Sdim TRUE), /* pcrel_offset */ 1622214571Sdim 1623214571Sdim /* Used in MOVI and SHORI ((x >> 32) & 65536). */ 1624214571Sdim HOWTO (R_SH_IMM_MEDHI16, /* type */ 1625214571Sdim 32, /* rightshift */ 1626214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1627214571Sdim 64, /* bitsize */ 1628214571Sdim FALSE, /* pc_relative */ 1629214571Sdim 10, /* bitpos */ 1630214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1631214571Sdim bfd_elf_generic_reloc, /* special_function */ 1632214571Sdim "R_SH_IMM_MEDHI16", /* name */ 1633214571Sdim FALSE, /* partial_inplace */ 1634214571Sdim 0, /* src_mask */ 1635214571Sdim 0x3fffc00, /* dst_mask */ 1636214571Sdim FALSE), /* pcrel_offset */ 1637214571Sdim 1638214571Sdim /* Used in MOVI and SHORI (((x - $) >> 32) & 65536). */ 1639214571Sdim HOWTO (R_SH_IMM_MEDHI16_PCREL, /* type */ 1640214571Sdim 32, /* rightshift */ 1641214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1642214571Sdim 64, /* bitsize */ 1643214571Sdim TRUE, /* pc_relative */ 1644214571Sdim 10, /* bitpos */ 1645214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1646214571Sdim bfd_elf_generic_reloc, /* special_function */ 1647214571Sdim "R_SH_IMM_MEDHI16_PCREL", /* name */ 1648214571Sdim FALSE, /* partial_inplace */ 1649214571Sdim 0, /* src_mask */ 1650214571Sdim 0x3fffc00, /* dst_mask */ 1651214571Sdim TRUE), /* pcrel_offset */ 1652214571Sdim 1653214571Sdim /* Used in MOVI and SHORI ((x >> 48) & 65536). */ 1654214571Sdim HOWTO (R_SH_IMM_HI16, /* type */ 1655214571Sdim 48, /* rightshift */ 1656214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1657214571Sdim 64, /* bitsize */ 1658214571Sdim FALSE, /* pc_relative */ 1659214571Sdim 10, /* bitpos */ 1660214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1661214571Sdim bfd_elf_generic_reloc, /* special_function */ 1662214571Sdim "R_SH_IMM_HI16", /* name */ 1663214571Sdim FALSE, /* partial_inplace */ 1664214571Sdim 0, /* src_mask */ 1665214571Sdim 0x3fffc00, /* dst_mask */ 1666214571Sdim FALSE), /* pcrel_offset */ 1667214571Sdim 1668214571Sdim /* Used in MOVI and SHORI (((x - $) >> 48) & 65536). */ 1669214571Sdim HOWTO (R_SH_IMM_HI16_PCREL, /* type */ 1670214571Sdim 48, /* rightshift */ 1671214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1672214571Sdim 64, /* bitsize */ 1673214571Sdim TRUE, /* pc_relative */ 1674214571Sdim 10, /* bitpos */ 1675214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1676214571Sdim bfd_elf_generic_reloc, /* special_function */ 1677214571Sdim "R_SH_IMM_HI16_PCREL", /* name */ 1678214571Sdim FALSE, /* partial_inplace */ 1679214571Sdim 0, /* src_mask */ 1680214571Sdim 0x3fffc00, /* dst_mask */ 1681214571Sdim TRUE), /* pcrel_offset */ 1682214571Sdim 1683214571Sdim /* For the .uaquad pseudo. */ 1684214571Sdim HOWTO (R_SH_64, /* type */ 1685214571Sdim 0, /* rightshift */ 1686214571Sdim 4, /* size (0 = byte, 1 = short, 2 = long) */ 1687214571Sdim 64, /* bitsize */ 1688214571Sdim FALSE, /* pc_relative */ 1689214571Sdim 0, /* bitpos */ 1690214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1691214571Sdim bfd_elf_generic_reloc, /* special_function */ 1692214571Sdim "R_SH_64", /* name */ 1693214571Sdim FALSE, /* partial_inplace */ 1694214571Sdim 0, /* src_mask */ 1695214571Sdim ((bfd_vma) 0) - 1, /* dst_mask */ 1696214571Sdim FALSE), /* pcrel_offset */ 1697214571Sdim 1698214571Sdim /* For the .uaquad pseudo, (x - $). */ 1699214571Sdim HOWTO (R_SH_64_PCREL, /* type */ 1700214571Sdim 48, /* rightshift */ 1701214571Sdim 2, /* size (0 = byte, 1 = short, 2 = long) */ 1702214571Sdim 64, /* bitsize */ 1703214571Sdim TRUE, /* pc_relative */ 1704214571Sdim 10, /* bitpos */ 1705214571Sdim complain_overflow_dont, /* complain_on_overflow */ 1706214571Sdim bfd_elf_generic_reloc, /* special_function */ 1707214571Sdim "R_SH_64_PCREL", /* name */ 1708214571Sdim FALSE, /* partial_inplace */ 1709214571Sdim 0, /* src_mask */ 1710214571Sdim ((bfd_vma) 0) - 1, /* dst_mask */ 1711214571Sdim TRUE), /* pcrel_offset */ 1712214571Sdim 1713214571Sdim#endif 1714214571Sdim#undef SH_PARTIAL32 1715214571Sdim#undef SH_SRC_MASK32 1716214571Sdim#undef SH_ELF_RELOC 1717