#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (1) reloc_howto_type tic30_coff_howto_table[] = { HOWTO (R_TIC30_ABS16, 2, 1, 16, FALSE, 0, 0, NULL, "16", FALSE, 0x0000FFFF, 0x0000FFFF, FALSE), HOWTO (R_TIC30_ABS24, 2, 2, 24, FALSE, 8, complain_overflow_bitfield, NULL, "24", FALSE, 0xFFFFFF00, 0xFFFFFF00, FALSE), HOWTO (R_TIC30_LDP, 18, 0, 24, FALSE, 0, complain_overflow_bitfield, NULL, "LDP", FALSE, 0x00FF0000, 0x000000FF, FALSE), HOWTO (R_TIC30_ABS32, 2, 2, 32, FALSE, 0, complain_overflow_bitfield, NULL, "32", FALSE, 0xFFFFFFFF, 0xFFFFFFFF, FALSE), HOWTO (R_TIC30_PC16, 2, 1, 16, TRUE, 0, complain_overflow_signed, NULL, "PCREL", FALSE, 0x0000FFFF, 0x0000FFFF, FALSE), EMPTY_HOWTO (-1) }; #ifndef coff_bfd_reloc_type_lookup #define coff_bfd_reloc_type_lookup tic30_coff_reloc_type_lookup #define coff_bfd_reloc_name_lookup tic30_coff_reloc_name_lookup /* For the case statement use the code values used in tc_gen_reloc to map to the howto table entries that match those in both the aout and coff implementations. */ static reloc_howto_type * tic30_coff_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, bfd_reloc_code_real_type code) { switch (code)
/* A page relocation */ HOWTO (R_M68HC11_PAGE, /* type */ 0, /* rightshift */ 0, /* size (0 = byte, 1 = short, 2 = long) */ 8, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ m68hc11_elf_special_reloc,/* special_function */ "R_M68HC12_PAGE", /* name */ FALSE, /* partial_inplace */ 0x00ff, /* src_mask */ 0x00ff, /* dst_mask */ FALSE), /* pcrel_offset */ EMPTY_HOWTO (14), /* A 16 bit absolute relocation. */ HOWTO (R_M68HC12_16B, /* type */ 0, /* rightshift */ 1, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_bitfield, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_M68HC12_16B", /* name */ FALSE, /* partial_inplace */ 0xffff, /* src_mask */ 0xffff, /* dst_mask */ FALSE), /* pcrel_offset */
/* A page relocation */ HOWTO (R_M68HC11_PAGE, /* type */ 0, /* rightshift */ 0, /* size (0 = byte, 1 = short, 2 = long) */ 8, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_bitfield, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_M68HC11_PAGE", /* name */ FALSE, /* partial_inplace */ 0x00ff, /* src_mask */ 0x00ff, /* dst_mask */ FALSE), /* pcrel_offset */ EMPTY_HOWTO (14), EMPTY_HOWTO (15), EMPTY_HOWTO (16), EMPTY_HOWTO (17), EMPTY_HOWTO (18), EMPTY_HOWTO (19), /* Mark beginning of a jump instruction (any form). */ HOWTO (R_M68HC11_RL_JUMP, /* type */ 0, /* rightshift */ 1, /* size (0 = byte, 1 = short, 2 = long) */ 0, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ m68hc11_elf_ignore_reloc, /* special_function */
#include "sysdep.h" #include "bfd.h" #include "libbfd.h" #include "coff/ia64.h" #include "coff/internal.h" #include "coff/pe.h" #include "libcoff.h" #define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (2) /* Windows ia64 uses 8K page size. */ #define COFF_PAGE_SIZE 0x2000 static reloc_howto_type howto_table[] = { EMPTY_HOWTO (0), }; #define BADMAG(x) IA64BADMAG(x) #define IA64 1 /* Customize coffcode.h */ #ifdef COFF_WITH_pep # undef AOUTSZ # define AOUTSZ PEPAOUTSZ # define PEAOUTHDR PEPAOUTHDR #endif #define RTYPE2HOWTO(cache_ptr, dst) \ (cache_ptr)->howto = howto_table; #ifdef COFF_WITH_PE
Handled by the function mips_gprel_reloc. */ HOWTO (MIPS_R_LITERAL, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ mips_gprel_reloc, /* special_function */ "LITERAL", /* name */ TRUE, /* partial_inplace */ 0xffff, /* src_mask */ 0xffff, /* dst_mask */ FALSE), /* pcrel_offset */ EMPTY_HOWTO (8), EMPTY_HOWTO (9), EMPTY_HOWTO (10), EMPTY_HOWTO (11), /* FIXME: This relocation is used (internally only) to represent branches when assembling. It should never appear in output files, and be removed. (It used to be used for embedded-PIC support.) */ HOWTO (MIPS_R_PCREL16, /* type */ 2, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ TRUE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ mips_generic_reloc, /* special_function */
HOWTO (R_RISCV_TLS_TPREL64, /* type */ 0, /* rightshift */ 4, /* size */ 64, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_RISCV_TLS_TPREL64", /* name */ FALSE, /* partial_inplace */ MINUS_ONE, /* src_mask */ MINUS_ONE, /* dst_mask */ FALSE), /* pcrel_offset */ /* Reserved for future relocs that the dynamic linker must understand. */ EMPTY_HOWTO (12), EMPTY_HOWTO (13), EMPTY_HOWTO (14), EMPTY_HOWTO (15), /* 12-bit PC-relative branch offset. */ HOWTO (R_RISCV_BRANCH, /* type */ 0, /* rightshift */ 2, /* size */ 32, /* bitsize */ TRUE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_RISCV_BRANCH", /* name */ FALSE, /* partial_inplace */
along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #include "sysdep.h" #include "bfd.h" #include "libbfd.h" #include "coff/we32k.h" #include "coff/internal.h" #include "libcoff.h" #define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (3) static reloc_howto_type howto_table[] = { EMPTY_HOWTO (0), EMPTY_HOWTO (1), EMPTY_HOWTO (2), EMPTY_HOWTO (3), EMPTY_HOWTO (4), EMPTY_HOWTO (5), HOWTO(R_DIR32, 0, 2, 32, FALSE, 0,complain_overflow_bitfield, 0, "dir32", TRUE, 0xffffffff,0xffffffff, FALSE), EMPTY_HOWTO (7), EMPTY_HOWTO (010), EMPTY_HOWTO (011), EMPTY_HOWTO (012), EMPTY_HOWTO (013), EMPTY_HOWTO (014), EMPTY_HOWTO (015), EMPTY_HOWTO (016), HOWTO(R_RELBYTE, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, 0, "8", TRUE, 0x000000ff,0x000000ff, FALSE),
PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); static reloc_howto_type *elf32_i960_reloc_type_lookup PARAMS ((bfd *, bfd_reloc_code_real_type)); #define USE_REL 1 #define bfd_elf32_bfd_reloc_type_lookup elf32_i960_reloc_type_lookup #define elf_info_to_howto elf32_i960_info_to_howto #define elf_info_to_howto_rel elf32_i960_info_to_howto_rel static reloc_howto_type elf_howto_table[]= { HOWTO(R_960_NONE, 0, 0, 0, false, 0, complain_overflow_bitfield, elf32_i960_relocate, "R_960_NONE", true, 0x00000000, 0x00000000, false), EMPTY_HOWTO (1), HOWTO (R_960_32, 0, 2, 32, false, 0, complain_overflow_bitfield, elf32_i960_relocate, "R_960_32", true, 0xffffffff, 0xffffffff, false), HOWTO (R_960_IP24, 0, 2, 24, true, 0, complain_overflow_signed, elf32_i960_relocate, "R_960_IP24 ", true, 0x00ffffff, 0x00ffffff, false), EMPTY_HOWTO (4), EMPTY_HOWTO (5), EMPTY_HOWTO (6), EMPTY_HOWTO (7) }; static enum elf_i960_reloc_type elf32_i960_bfd_to_reloc_type (bfd_reloc_code_real_type code) {
HOWTO(R_386_TLS_IE_32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_386_TLS_IE_32", TRUE, 0xffffffff, 0xffffffff, FALSE), HOWTO(R_386_TLS_LE_32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_386_TLS_LE_32", TRUE, 0xffffffff, 0xffffffff, FALSE), HOWTO(R_386_TLS_DTPMOD32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_386_TLS_DTPMOD32", TRUE, 0xffffffff, 0xffffffff, FALSE), HOWTO(R_386_TLS_DTPOFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_386_TLS_DTPOFF32", TRUE, 0xffffffff, 0xffffffff, FALSE), HOWTO(R_386_TLS_TPOFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_386_TLS_TPOFF32", TRUE, 0xffffffff, 0xffffffff, FALSE), EMPTY_HOWTO (38), HOWTO(R_386_TLS_GOTDESC, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_386_TLS_GOTDESC", TRUE, 0xffffffff, 0xffffffff, FALSE), HOWTO(R_386_TLS_DESC_CALL, 0, 0, 0, FALSE, 0, complain_overflow_dont, bfd_elf_generic_reloc, "R_386_TLS_DESC_CALL", FALSE, 0, 0, FALSE), HOWTO(R_386_TLS_DESC, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_386_TLS_DESC", TRUE, 0xffffffff, 0xffffffff, FALSE), HOWTO(R_386_IRELATIVE, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, bfd_elf_generic_reloc, "R_386_IRELATIVE", TRUE, 0xffffffff, 0xffffffff, FALSE), /* Another gap. */ #define R_386_irelative (R_386_IRELATIVE + 1 - R_386_tls_offset)
0x7fffffff, /* dst_mask */ FALSE), /* pcrel_offset */ HOWTO (R_C6000_COPY, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 32, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont,/* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_C6000_COPY", /* name */ FALSE, /* partial_inplace */ 0, /* src_mask */ 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ EMPTY_HOWTO (27), EMPTY_HOWTO (28), EMPTY_HOWTO (29), EMPTY_HOWTO (30), EMPTY_HOWTO (31), EMPTY_HOWTO (32), EMPTY_HOWTO (33), EMPTY_HOWTO (34), EMPTY_HOWTO (35), EMPTY_HOWTO (36), EMPTY_HOWTO (37), EMPTY_HOWTO (38), EMPTY_HOWTO (39), EMPTY_HOWTO (40), EMPTY_HOWTO (41), EMPTY_HOWTO (42),