-static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup
- PARAMS ((bfd *abfd, bfd_reloc_code_real_type code));
-static void d30v_info_to_howto_rel
- PARAMS ((bfd *, arelent *, Elf32_Internal_Rel *));
-static void d30v_info_to_howto_rela
- PARAMS ((bfd *, arelent *, Elf32_Internal_Rela *));
-static bfd_reloc_status_type bfd_elf_d30v_reloc PARAMS ((
- bfd *abfd,
- arelent *reloc_entry,
- asymbol *symbol,
- PTR data,
- asection *input_section,
- bfd *output_bfd,
- char **error_message));
-static bfd_reloc_status_type bfd_elf_d30v_reloc_21 PARAMS ((
- bfd *abfd,
- arelent *reloc_entry,
- asymbol *symbol,
- PTR data,
- asection *input_section,
- bfd *output_bfd,
- char **error_message));
-
-static reloc_howto_type elf_d30v_howto_table[] =
-{
- /* This reloc does nothing. */
- HOWTO (R_D30V_NONE, /* type */
- 0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 32, /* bitsize */
- false, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
- "R_D30V_NONE", /* name */
- false, /* partial_inplace */
- 0, /* src_mask */
- 0, /* dst_mask */
- false), /* pcrel_offset */
-
- /* A 6 bit absolute relocation */
- HOWTO (R_D30V_6, /* type */
- 0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 6, /* bitsize */
- false, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
- "R_D30V_6", /* name */
- false, /* partial_inplace */
- 0x3f, /* src_mask */
- 0x3f, /* dst_mask */
- false), /* pcrel_offset */
-
- /* A relative 9 bit relocation, right shifted by 3 */
- HOWTO (R_D30V_9_PCREL, /* type */
- 3, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 6, /* bitsize */
- true, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_d30v_reloc_21, /* special_function */
- "R_D30V_9_PCREL", /* name */
- false, /* partial_inplace */
- 0x3f, /* src_mask */
- 0x3f, /* dst_mask */
- true), /* pcrel_offset */
-
- /* A relative 9 bit relocation, right shifted by 3 */
- HOWTO (R_D30V_9_PCREL_R, /* type */
- 3, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 6, /* bitsize */
- true, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_d30v_reloc_21, /* special_function */
- "R_D30V_9_PCREL_R", /* name */
- false, /* partial_inplace */
- 0x3f, /* src_mask */
- 0x3f, /* dst_mask */
- true), /* pcrel_offset */
-
- /* An absolute 15 bit relocation, right shifted by 3 */
- HOWTO (R_D30V_15, /* type */
- 3, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 12, /* bitsize */
- false, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
- "R_D30V_15", /* name */
- false, /* partial_inplace */
- 0xfff, /* src_mask */
- 0xfff, /* dst_mask */
- false), /* pcrel_offset */
-
- /* A relative 15 bit relocation, right shifted by 3 */
- HOWTO (R_D30V_15_PCREL, /* type */
- 3, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 12, /* bitsize */
- true, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_d30v_reloc_21, /* special_function */
- "R_D30V_15_PCREL", /* name */
- false, /* partial_inplace */
- 0xfff, /* src_mask */
- 0xfff, /* dst_mask */
- true), /* pcrel_offset */
-
- /* A relative 15 bit relocation, right shifted by 3 */
- HOWTO (R_D30V_15_PCREL_R, /* type */
- 3, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 12, /* bitsize */
- true, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_d30v_reloc_21, /* special_function */
- "R_D30V_15_PCREL_R", /* name */
- false, /* partial_inplace */
- 0xfff, /* src_mask */
- 0xfff, /* dst_mask */
- true), /* pcrel_offset */
-
- /* An absolute 21 bit relocation, right shifted by 3 */
- HOWTO (R_D30V_21, /* type */
- 3, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 18, /* bitsize */
- false, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
- "R_D30V_21", /* name */
- false, /* partial_inplace */
- 0x3ffff, /* src_mask */
- 0x3ffff, /* dst_mask */
- false), /* pcrel_offset */
-
- /* A relative 21 bit relocation, right shifted by 3 */
- HOWTO (R_D30V_21_PCREL, /* type */
- 3, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 18, /* bitsize */
- true, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_d30v_reloc_21, /* special_function */
- "R_D30V_21_PCREL", /* name */
- false, /* partial_inplace */
- 0x3ffff, /* src_mask */
- 0x3ffff, /* dst_mask */
- true), /* pcrel_offset */
-
- /* A relative 21 bit relocation, right shifted by 3, in the Right container */
- HOWTO (R_D30V_21_PCREL_R, /* type */
- 3, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 18, /* bitsize */
- true, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_d30v_reloc_21, /* special_function */
- "R_D30V_21_PCREL_R", /* name */
- false, /* partial_inplace */
- 0x3ffff, /* src_mask */
- 0x3ffff, /* dst_mask */
- true), /* pcrel_offset */
-
- /* A D30V 32 bit absolute relocation */
- HOWTO (R_D30V_32, /* type */
- 0, /* rightshift */
- 4, /* size (0 = byte, 1 = short, 2 = long) */
- 32, /* bitsize */
- false, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
- bfd_elf_d30v_reloc, /* special_function */
- "R_D30V_32", /* name */
- false, /* partial_inplace */
- 0xffffffff, /* src_mask */
- 0xffffffff, /* dst_mask */
- false), /* pcrel_offset */
-
- /* A relative 32 bit relocation */
- HOWTO (R_D30V_32_PCREL, /* type */
- 0, /* rightshift */
- 4, /* size (0 = byte, 1 = short, 2 = long) */
- 32, /* bitsize */
- true, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_d30v_reloc, /* special_function */
- "R_D30V_32_PCREL", /* name */
- false, /* partial_inplace */
- 0xffffffff, /* src_mask */
- 0xffffffff, /* dst_mask */
- true), /* pcrel_offset */
-
- /* A regular 32 bit absolute relocation */
- HOWTO (R_D30V_32_NORMAL, /* type */
- 0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 32, /* bitsize */
- false, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
- "R_D30V_32_NORMAL", /* name */
- false, /* partial_inplace */
- 0xffffffff, /* src_mask */
- 0xffffffff, /* dst_mask */
- false), /* pcrel_offset */
-
-};
-