aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-mips.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elf32-mips.c')
-rw-r--r--bfd/elf32-mips.c341
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 \