diff options
Diffstat (limited to 'bfd/elf32-mips.c')
-rw-r--r-- | bfd/elf32-mips.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c index 3a4feb9..bba115f 100644 --- a/bfd/elf32-mips.c +++ b/bfd/elf32-mips.c @@ -323,7 +323,7 @@ static bfd *reldyn_sorting_bfd; #else #define MIPS_ELF_ADD_DYNAMIC_ENTRY(info, tag, val) \ (ABI_64_P (elf_hash_table (info)->dynobj) \ - ? (abort (), false) \ + ? (boolean) (abort (), false) \ : bfd_elf32_add_dynamic_entry (info, (bfd_vma) tag, (bfd_vma) val)) #endif @@ -6562,7 +6562,7 @@ mips_elf_obtain_contents (howto, relocation, input_bfd, contents) bfd_byte *location = contents + relocation->r_offset; /* Obtain the bytes. */ - x = bfd_get (8 * bfd_get_reloc_size (howto), input_bfd, location); + x = bfd_get (((bfd_vma)(8 * bfd_get_reloc_size (howto))), input_bfd, location); if ((ELF32_R_TYPE (relocation->r_info) == R_MIPS16_26 || ELF32_R_TYPE (relocation->r_info) == R_MIPS16_GPREL) @@ -6981,7 +6981,11 @@ _bfd_mips_elf_relocate_section (output_bfd, info, input_bfd, input_section, bfd_vma high_bits; if (addend & ((bfd_vma) 1 << 31)) +#ifdef BFD64 sign_bits = ((bfd_vma) 1 << 32) - 1; +#else + sign_bits = -1; +#endif else sign_bits = 0; @@ -7103,7 +7107,11 @@ _bfd_mips_elf_relocate_section (output_bfd, info, input_bfd, input_section, bfd_vma high_bits; if (value & ((bfd_vma) 1 << 31)) +#ifdef BFD64 sign_bits = ((bfd_vma) 1 << 32) - 1; +#else + sign_bits = -1; +#endif else sign_bits = 0; |