diff options
Diffstat (limited to 'bfd/elf32-mips.c')
-rw-r--r-- | bfd/elf32-mips.c | 341 |
1 files changed, 172 insertions, 169 deletions
diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c index 875e316..485bd2c 100644 --- a/bfd/elf32-mips.c +++ b/bfd/elf32-mips.c @@ -60,25 +60,28 @@ static bfd_reloc_status_type mips32_64bit_reloc static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup PARAMS ((bfd *, bfd_reloc_code_real_type)); static reloc_howto_type *mips_elf32_rtype_to_howto - PARAMS ((unsigned int, boolean)); + PARAMS ((unsigned int, bfd_boolean)); static void mips_info_to_howto_rel PARAMS ((bfd *, arelent *, Elf_Internal_Rela *)); static void mips_info_to_howto_rela PARAMS ((bfd *, arelent *, Elf_Internal_Rela *)); -static boolean mips_elf_sym_is_global PARAMS ((bfd *, asymbol *)); -static boolean mips_elf32_object_p PARAMS ((bfd *)); -static boolean mips_elf_is_local_label_name +static bfd_boolean mips_elf_sym_is_global + PARAMS ((bfd *, asymbol *)); +static bfd_boolean mips_elf32_object_p + PARAMS ((bfd *)); +static bfd_boolean mips_elf_is_local_label_name PARAMS ((bfd *, const char *)); static bfd_reloc_status_type mips16_jump_reloc PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); static bfd_reloc_status_type mips16_gprel_reloc PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); static bfd_reloc_status_type mips_elf_final_gp - PARAMS ((bfd *, asymbol *, boolean, char **, bfd_vma *)); -static boolean mips_elf_assign_gp PARAMS ((bfd *, bfd_vma *)); -static boolean elf32_mips_grok_prstatus + PARAMS ((bfd *, asymbol *, bfd_boolean, char **, bfd_vma *)); +static bfd_boolean mips_elf_assign_gp + PARAMS ((bfd *, bfd_vma *)); +static bfd_boolean elf32_mips_grok_prstatus PARAMS ((bfd *, Elf_Internal_Note *)); -static boolean elf32_mips_grok_psinfo +static bfd_boolean elf32_mips_grok_psinfo PARAMS ((bfd *, Elf_Internal_Note *)); static irix_compat_t elf32_mips_irix_compat PARAMS ((bfd *)); @@ -110,67 +113,67 @@ static reloc_howto_type elf_mips_howto_table_rel[] = 0, /* rightshift */ 0, /* size (0 = byte, 1 = short, 2 = long) */ 0, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_NONE", /* name */ - false, /* partial_inplace */ + FALSE, /* partial_inplace */ 0, /* src_mask */ 0, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* 16 bit relocation. */ HOWTO (R_MIPS_16, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_16", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* 32 bit relocation. */ HOWTO (R_MIPS_32, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 32, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_32", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* 32 bit symbol relative relocation. */ HOWTO (R_MIPS_REL32, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 32, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_REL32", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* 26 bit jump address. */ HOWTO (R_MIPS_26, /* type */ 2, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 26, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ /* This needs complex overflow @@ -178,130 +181,130 @@ static reloc_howto_type elf_mips_howto_table_rel[] = bits must match the PC + 4. */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_26", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x03ffffff, /* src_mask */ 0x03ffffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* High 16 bits of symbol value. */ HOWTO (R_MIPS_HI16, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ mips_elf_hi16_reloc, /* special_function */ "R_MIPS_HI16", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* Low 16 bits of symbol value. */ HOWTO (R_MIPS_LO16, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ mips_elf_lo16_reloc, /* special_function */ "R_MIPS_LO16", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* GP relative reference. */ HOWTO (R_MIPS_GPREL16, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf32_gprel16_reloc, /* special_function */ "R_MIPS_GPREL16", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* Reference to literal section. */ HOWTO (R_MIPS_LITERAL, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf32_gprel16_reloc, /* special_function */ "R_MIPS_LITERAL", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* Reference to global offset table. */ HOWTO (R_MIPS_GOT16, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ mips_elf_got16_reloc, /* special_function */ "R_MIPS_GOT16", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* 16 bit PC relative reference. */ HOWTO (R_MIPS_PC16, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - true, /* pc_relative */ + TRUE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_PC16", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - true), /* pcrel_offset */ + TRUE), /* pcrel_offset */ /* 16 bit call through global offset table. */ HOWTO (R_MIPS_CALL16, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_CALL16", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* 32 bit GP relative reference. */ HOWTO (R_MIPS_GPREL32, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 32, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ mips_elf_gprel32_reloc, /* special_function */ "R_MIPS_GPREL32", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* The remaining relocs are defined on Irix 5, although they are not defined by the ABI. */ @@ -314,15 +317,15 @@ static reloc_howto_type elf_mips_howto_table_rel[] = 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 5, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 6, /* bitpos */ complain_overflow_bitfield, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_SHIFT5", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x000007c0, /* src_mask */ 0x000007c0, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* A 6 bit shift field. */ /* FIXME: This is not handled correctly; a special function is @@ -331,120 +334,120 @@ static reloc_howto_type elf_mips_howto_table_rel[] = 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 6, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 6, /* bitpos */ complain_overflow_bitfield, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_SHIFT6", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x000007c4, /* src_mask */ 0x000007c4, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* A 64 bit relocation. */ HOWTO (R_MIPS_64, /* type */ 0, /* rightshift */ 4, /* size (0 = byte, 1 = short, 2 = long) */ 64, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ mips32_64bit_reloc, /* special_function */ "R_MIPS_64", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ MINUS_ONE, /* src_mask */ MINUS_ONE, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* Displacement in the global offset table. */ HOWTO (R_MIPS_GOT_DISP, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_GOT_DISP", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* Displacement to page pointer in the global offset table. */ HOWTO (R_MIPS_GOT_PAGE, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_GOT_PAGE", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* Offset from page pointer in the global offset table. */ HOWTO (R_MIPS_GOT_OFST, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_GOT_OFST", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* High 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_GOT_HI16, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_GOT_HI16", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_GOT_LO16, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_GOT_LO16", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* 64 bit subtraction. Used in the N32 ABI. */ HOWTO (R_MIPS_SUB, /* type */ 0, /* rightshift */ 4, /* size (0 = byte, 1 = short, 2 = long) */ 64, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_SUB", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ MINUS_ONE, /* src_mask */ MINUS_ONE, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* Used to cause the linker to insert and delete instructions? */ EMPTY_HOWTO (R_MIPS_INSERT_A), @@ -456,75 +459,75 @@ static reloc_howto_type elf_mips_howto_table_rel[] = 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_HIGHER", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* Get the highest value of a 64 bit addend. */ HOWTO (R_MIPS_HIGHEST, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_HIGHEST", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* High 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_CALL_HI16, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_CALL_HI16", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* Low 16 bits of displacement in global offset table. */ HOWTO (R_MIPS_CALL_LO16, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_CALL_LO16", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ /* Section displacement. */ HOWTO (R_MIPS_SCN_DISP, /* type */ 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 32, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_SCN_DISP", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ EMPTY_HOWTO (R_MIPS_REL16), EMPTY_HOWTO (R_MIPS_ADD_IMMEDIATE), @@ -537,15 +540,15 @@ static reloc_howto_type elf_mips_howto_table_rel[] = 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 32, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_JALR", /* name */ - false, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x00000000, /* src_mask */ 0x00000000, /* dst_mask */ - false), /* pcrel_offset */ + FALSE), /* pcrel_offset */ }; /* The reloc used for BFD_RELOC_CTOR when doing a 64 bit link. This @@ -555,15 +558,15 @@ static reloc_howto_type elf_mips_ctor64_howto = 0, /* rightshift */ 4, /* size (0 = byte, 1 = short, 2 = long) */ 32, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ mips32_64bit_reloc, /* special_function */ "R_MIPS_64", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ - false); /* pcrel_offset */ + FALSE); /* pcrel_offset */ /* The reloc used for the mips16 jump instruction. */ static reloc_howto_type elf_mips16_jump_howto = @@ -571,7 +574,7 @@ static reloc_howto_type elf_mips16_jump_howto = 2, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 26, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ /* This needs complex overflow @@ -579,10 +582,10 @@ static reloc_howto_type elf_mips16_jump_howto = bits must match the PC. */ mips16_jump_reloc, /* special_function */ "R_MIPS16_26", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x3ffffff, /* src_mask */ 0x3ffffff, /* dst_mask */ - false); /* pcrel_offset */ + FALSE); /* pcrel_offset */ /* The reloc used for the mips16 gprel instruction. */ static reloc_howto_type elf_mips16_gprel_howto = @@ -590,15 +593,15 @@ static reloc_howto_type elf_mips16_gprel_howto = 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ mips16_gprel_reloc, /* special_function */ "R_MIPS16_GPREL", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0x07ff001f, /* src_mask */ 0x07ff001f, /* dst_mask */ - false); /* pcrel_offset */ + FALSE); /* pcrel_offset */ /* GNU extensions for embedded-pic. */ /* High 16 bits of symbol value, pc-relative. */ @@ -607,15 +610,15 @@ static reloc_howto_type elf_mips_gnu_rel_hi16 = 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - true, /* pc_relative */ + TRUE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ mips_elf_hi16_reloc, /* special_function */ "R_MIPS_GNU_REL_HI16", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0xffff, /* src_mask */ 0xffff, /* dst_mask */ - true); /* pcrel_offset */ + TRUE); /* pcrel_offset */ /* Low 16 bits of symbol value, pc-relative. */ static reloc_howto_type elf_mips_gnu_rel_lo16 = @@ -623,15 +626,15 @@ static reloc_howto_type elf_mips_gnu_rel_lo16 = 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - true, /* pc_relative */ + TRUE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ mips_elf_lo16_reloc, /* special_function */ "R_MIPS_GNU_REL_LO16", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0xffff, /* src_mask */ 0xffff, /* dst_mask */ - true); /* pcrel_offset */ + TRUE); /* pcrel_offset */ /* 16 bit offset for pc-relative branches. */ static reloc_howto_type elf_mips_gnu_rel16_s2 = @@ -639,15 +642,15 @@ static reloc_howto_type elf_mips_gnu_rel16_s2 = 2, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ - true, /* pc_relative */ + TRUE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_GNU_REL16_S2", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0xffff, /* src_mask */ 0xffff, /* dst_mask */ - true); /* pcrel_offset */ + TRUE); /* pcrel_offset */ /* 64 bit pc-relative. */ static reloc_howto_type elf_mips_gnu_pcrel64 = @@ -655,15 +658,15 @@ static reloc_howto_type elf_mips_gnu_pcrel64 = 0, /* rightshift */ 4, /* size (0 = byte, 1 = short, 2 = long) */ 64, /* bitsize */ - true, /* pc_relative */ + TRUE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_PC64", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ MINUS_ONE, /* src_mask */ MINUS_ONE, /* dst_mask */ - true); /* pcrel_offset */ + TRUE); /* pcrel_offset */ /* 32 bit pc-relative. */ static reloc_howto_type elf_mips_gnu_pcrel32 = @@ -671,15 +674,15 @@ static reloc_howto_type elf_mips_gnu_pcrel32 = 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 32, /* bitsize */ - true, /* pc_relative */ + TRUE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MIPS_PC32", /* name */ - true, /* partial_inplace */ + TRUE, /* partial_inplace */ 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ - true); /* pcrel_offset */ + TRUE); /* pcrel_offset */ /* GNU extension to record C++ vtable hierarchy */ static reloc_howto_type elf_mips_gnu_vtinherit_howto = @@ -687,15 +690,15 @@ static reloc_howto_type elf_mips_gnu_vtinherit_howto = 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 0, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ NULL, /* special_function */ "R_MIPS_GNU_VTINHERIT", /* name */ - false, /* partial_inplace */ + FALSE, /* partial_inplace */ 0, /* src_mask */ 0, /* dst_mask */ - false); /* pcrel_offset */ + FALSE); /* pcrel_offset */ /* GNU extension to record C++ vtable member usage */ static reloc_howto_type elf_mips_gnu_vtentry_howto = @@ -703,15 +706,15 @@ static reloc_howto_type elf_mips_gnu_vtentry_howto = 0, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ 0, /* bitsize */ - false, /* pc_relative */ + FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ _bfd_elf_rel_vtable_reloc_fn, /* special_function */ "R_MIPS_GNU_VTENTRY", /* name */ - false, /* partial_inplace */ + FALSE, /* partial_inplace */ 0, /* src_mask */ 0, /* dst_mask */ - false); /* pcrel_offset */ + FALSE); /* pcrel_offset */ /* Do a R_MIPS_HI16 relocation. This has to be done in combination with a R_MIPS_LO16 reloc, because there is a carry from the LO16 to @@ -768,17 +771,17 @@ mips_elf_hi16_reloc (abfd, reloc_entry, symbol, data, input_section, if (strcmp (bfd_asymbol_name (symbol), "_gp_disp") == 0) { - boolean relocateable; + bfd_boolean relocateable; bfd_vma gp; if (ret == bfd_reloc_undefined) abort (); if (output_bfd != NULL) - relocateable = true; + relocateable = TRUE; else { - relocateable = false; + relocateable = FALSE; output_bfd = symbol->section->output_section->owner; } @@ -902,7 +905,7 @@ mips_elf_lo16_reloc (abfd, reloc_entry, symbol, data, input_section, /* FIXME: Does this case ever occur? */ - ret = mips_elf_final_gp (output_bfd, symbol, true, error_message, &gp); + ret = mips_elf_final_gp (output_bfd, symbol, TRUE, error_message, &gp); if (ret != bfd_reloc_ok) return ret; @@ -969,10 +972,10 @@ mips_elf_got16_reloc (abfd, reloc_entry, symbol, data, input_section, abort (); } -/* Set the GP value for OUTPUT_BFD. Returns false if this is a +/* Set the GP value for OUTPUT_BFD. Returns FALSE if this is a dangerous relocation. */ -static boolean +static bfd_boolean mips_elf_assign_gp (output_bfd, pgp) bfd *output_bfd; bfd_vma *pgp; @@ -984,7 +987,7 @@ mips_elf_assign_gp (output_bfd, pgp) /* If we've already figured out what GP will be, just return it. */ *pgp = _bfd_get_gp_value (output_bfd); if (*pgp) - return true; + return TRUE; count = bfd_get_symcount (output_bfd); sym = bfd_get_outsymbols (output_bfd); @@ -1014,10 +1017,10 @@ mips_elf_assign_gp (output_bfd, pgp) /* Only get the error once. */ *pgp = 4; _bfd_set_gp_value (output_bfd, *pgp); - return false; + return FALSE; } - return true; + return TRUE; } /* We have to figure out the gp value, so that we can adjust the @@ -1030,7 +1033,7 @@ static bfd_reloc_status_type mips_elf_final_gp (output_bfd, symbol, relocateable, error_message, pgp) bfd *output_bfd; asymbol *symbol; - boolean relocateable; + bfd_boolean relocateable; char **error_message; bfd_vma *pgp; { @@ -1080,7 +1083,7 @@ _bfd_mips_elf32_gprel16_reloc (abfd, reloc_entry, symbol, data, input_section, bfd *output_bfd; char **error_message; { - boolean relocateable; + bfd_boolean relocateable; bfd_reloc_status_type ret; bfd_vma gp; @@ -1097,10 +1100,10 @@ _bfd_mips_elf32_gprel16_reloc (abfd, reloc_entry, symbol, data, input_section, } if (output_bfd != (bfd *) NULL) - relocateable = true; + relocateable = TRUE; else { - relocateable = false; + relocateable = FALSE; output_bfd = symbol->section->output_section->owner; } @@ -1117,9 +1120,9 @@ _bfd_mips_elf32_gprel16_reloc (abfd, reloc_entry, symbol, data, input_section, /* Do a R_MIPS_GPREL32 relocation. This is a 32 bit value which must become the offset from the gp register. */ -static bfd_reloc_status_type gprel32_with_gp PARAMS ((bfd *, asymbol *, - arelent *, asection *, - boolean, PTR, bfd_vma)); +static bfd_reloc_status_type gprel32_with_gp + PARAMS ((bfd *, asymbol *, arelent *, asection *, bfd_boolean, PTR, + bfd_vma)); static bfd_reloc_status_type mips_elf_gprel32_reloc (abfd, reloc_entry, symbol, data, input_section, @@ -1132,7 +1135,7 @@ mips_elf_gprel32_reloc (abfd, reloc_entry, symbol, data, input_section, bfd *output_bfd; char **error_message; { - boolean relocateable; + bfd_boolean relocateable; bfd_reloc_status_type ret; bfd_vma gp; @@ -1151,12 +1154,12 @@ mips_elf_gprel32_reloc (abfd, reloc_entry, symbol, data, input_section, if (output_bfd != (bfd *) NULL) { - relocateable = true; + relocateable = TRUE; gp = _bfd_get_gp_value (output_bfd); } else { - relocateable = false; + relocateable = FALSE; output_bfd = symbol->section->output_section->owner; ret = mips_elf_final_gp (output_bfd, symbol, relocateable, @@ -1176,7 +1179,7 @@ gprel32_with_gp (abfd, symbol, reloc_entry, input_section, relocateable, data, asymbol *symbol; arelent *reloc_entry; asection *input_section; - boolean relocateable; + bfd_boolean relocateable; PTR data; bfd_vma gp; { @@ -1290,13 +1293,13 @@ mips16_jump_reloc (abfd, reloc_entry, symbol, data, input_section, /* FIXME. */ { - static boolean warned; + static bfd_boolean warned; if (! warned) (*_bfd_error_handler) (_("Linking mips16 objects into %s format is not supported"), bfd_get_target (input_section->output_section->owner)); - warned = true; + warned = TRUE; } return bfd_reloc_undefined; @@ -1315,7 +1318,7 @@ mips16_gprel_reloc (abfd, reloc_entry, symbol, data, input_section, bfd *output_bfd; char **error_message; { - boolean relocateable; + bfd_boolean relocateable; bfd_reloc_status_type ret; bfd_vma gp; unsigned short extend, insn; @@ -1334,10 +1337,10 @@ mips16_gprel_reloc (abfd, reloc_entry, symbol, data, input_section, } if (output_bfd != NULL) - relocateable = true; + relocateable = TRUE; else { - relocateable = false; + relocateable = FALSE; output_bfd = symbol->section->output_section->owner; } @@ -1469,7 +1472,7 @@ bfd_elf32_bfd_reloc_type_lookup (abfd, code) static reloc_howto_type * mips_elf32_rtype_to_howto (r_type, rela_p) unsigned int r_type; - boolean rela_p ATTRIBUTE_UNUSED; + bfd_boolean rela_p ATTRIBUTE_UNUSED; { switch (r_type) { @@ -1508,7 +1511,7 @@ mips_info_to_howto_rel (abfd, cache_ptr, dst) unsigned int r_type; r_type = ELF32_R_TYPE (dst->r_info); - cache_ptr->howto = mips_elf32_rtype_to_howto (r_type, false); + cache_ptr->howto = mips_elf32_rtype_to_howto (r_type, FALSE); /* The addend for a GPREL16 or LITERAL relocation comes from the GP value for the object file. We get the addend now, rather than @@ -1540,7 +1543,7 @@ mips_info_to_howto_rela (abfd, cache_ptr, dst) symbols. On most ELF targets the split is between static symbols and externally visible symbols. */ -static boolean +static bfd_boolean mips_elf_sym_is_global (abfd, sym) bfd *abfd ATTRIBUTE_UNUSED; asymbol *sym; @@ -1555,7 +1558,7 @@ mips_elf_sym_is_global (abfd, sym) /* Set the right machine number for a MIPS ELF file. */ -static boolean +static bfd_boolean mips_elf32_object_p (abfd) bfd *abfd; { @@ -1565,26 +1568,26 @@ mips_elf32_object_p (abfd) sorted correctly such that local symbols precede global symbols, and the sh_info field in the symbol table is not always right. */ if (SGI_COMPAT (abfd)) - elf_bad_symtab (abfd) = true; + elf_bad_symtab (abfd) = TRUE; if (ABI_N32_P (abfd)) - return false; + return FALSE; mach = _bfd_elf_mips_mach (elf_elfheader (abfd)->e_flags); bfd_default_set_arch_mach (abfd, bfd_arch_mips, mach); - return true; + return TRUE; } /* MIPS ELF local labels start with '$', not 'L'. */ -static boolean +static bfd_boolean mips_elf_is_local_label_name (abfd, name) bfd *abfd; const char *name; { if (name[0] == '$') - return true; + return TRUE; /* On Irix 6, the labels go back to starting with '.', so we accept the generic ELF local label syntax as well. */ @@ -1592,7 +1595,7 @@ mips_elf_is_local_label_name (abfd, name) } /* Support for core dump NOTE sections. */ -static boolean +static bfd_boolean elf32_mips_grok_prstatus (abfd, note) bfd *abfd; Elf_Internal_Note *note; @@ -1603,7 +1606,7 @@ elf32_mips_grok_prstatus (abfd, note) switch (note->descsz) { default: - return false; + return FALSE; case 256: /* Linux/MIPS */ /* pr_cursig */ @@ -1624,7 +1627,7 @@ elf32_mips_grok_prstatus (abfd, note) raw_size, note->descpos + offset); } -static boolean +static bfd_boolean elf32_mips_grok_psinfo (abfd, note) bfd *abfd; Elf_Internal_Note *note; @@ -1632,7 +1635,7 @@ elf32_mips_grok_psinfo (abfd, note) switch (note->descsz) { default: - return false; + return FALSE; case 128: /* Linux/MIPS elf_prpsinfo */ elf_tdata (abfd)->core_program @@ -1653,7 +1656,7 @@ elf32_mips_grok_psinfo (abfd, note) command[n - 1] = '\0'; } - return true; + return TRUE; } /* Depending on the target vector we generate some version of Irix @@ -1676,7 +1679,7 @@ elf32_mips_irix_compat (abfd) after the add_symbols entry point has been called for all the objects, and before the final_link entry point is called. */ -boolean +bfd_boolean bfd_mips_elf32_create_embedded_relocs (abfd, info, datasec, relsec, errmsg) bfd *abfd; struct bfd_link_info *info; @@ -1695,7 +1698,7 @@ bfd_mips_elf32_create_embedded_relocs (abfd, info, datasec, relsec, errmsg) *errmsg = NULL; if (datasec->reloc_count == 0) - return true; + return TRUE; /* Read this BFD's symbols if we haven't done so already, or get the cached copy if it exists. */ @@ -1794,7 +1797,7 @@ bfd_mips_elf32_create_embedded_relocs (abfd, info, datasec, relsec, errmsg) if (isymbuf != NULL && symtab_hdr->contents != (unsigned char *) isymbuf) free (isymbuf); - return true; + return TRUE; error_return: if (internal_relocs != NULL @@ -1803,7 +1806,7 @@ bfd_mips_elf32_create_embedded_relocs (abfd, info, datasec, relsec, errmsg) if (isymbuf != NULL && symtab_hdr->contents != (unsigned char *) isymbuf) free (isymbuf); - return false; + return FALSE; } /* ECOFF swapping routines. These are used when dealing with the @@ -1855,9 +1858,9 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = { a value of 0x1000, and we are compatible. */ #define ELF_MAXPAGESIZE 0x1000 -#define elf_backend_collect true -#define elf_backend_type_change_ok true -#define elf_backend_can_gc_sections true +#define elf_backend_collect TRUE +#define elf_backend_type_change_ok TRUE +#define elf_backend_can_gc_sections TRUE #define elf_info_to_howto mips_info_to_howto_rela #define elf_info_to_howto_rel mips_info_to_howto_rel #define elf_backend_sym_is_global mips_elf_sym_is_global @@ -1904,7 +1907,7 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = { #define elf_backend_may_use_rel_p 1 #define elf_backend_may_use_rela_p 0 #define elf_backend_default_use_rela_p 0 -#define elf_backend_sign_extend_vma true +#define elf_backend_sign_extend_vma TRUE #define elf_backend_discard_info _bfd_mips_elf_discard_info #define elf_backend_ignore_discarded_relocs \ |