X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Felf32-visium.c;h=db854a068e33c6d56b1ef79b7a7013dc67082394;hb=74d7f0aa5b1e27da215349fb32337e1d83aca7d7;hp=3344a42eb0a4ef953d67747bae23f00b44e0df75;hpb=6346d5ca43719ba6fc3176c29fd58a83d439f011;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/elf32-visium.c b/bfd/elf32-visium.c index 3344a42eb0..db854a068e 100644 --- a/bfd/elf32-visium.c +++ b/bfd/elf32-visium.c @@ -1,6 +1,6 @@ /* Visium-specific support for 32-bit ELF. - Copyright (C) 2003-2015 Free Software Foundation, Inc. + Copyright (C) 2003-2016 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -276,32 +276,6 @@ static reloc_howto_type visium_elf_vtentry_howto = 0, /* dst_mask */ FALSE); /* pcrel_offset */ -/* Map BFD reloc types to VISIUM ELF reloc types. */ -struct visium_reloc_map -{ - bfd_reloc_code_real_type bfd_reloc_val; - unsigned int visium_reloc_val; -}; - -static const struct visium_reloc_map visium_reloc_map[] = { - {BFD_RELOC_NONE, R_VISIUM_NONE}, - {BFD_RELOC_8, R_VISIUM_8}, - {BFD_RELOC_16, R_VISIUM_16}, - {BFD_RELOC_32, R_VISIUM_32}, - {BFD_RELOC_8_PCREL, R_VISIUM_8_PCREL}, - {BFD_RELOC_16_PCREL, R_VISIUM_16_PCREL}, - {BFD_RELOC_32_PCREL, R_VISIUM_32_PCREL}, - {BFD_RELOC_VISIUM_REL16, R_VISIUM_PC16}, - {BFD_RELOC_VISIUM_HI16, R_VISIUM_HI16}, - {BFD_RELOC_VISIUM_LO16, R_VISIUM_LO16}, - {BFD_RELOC_VISIUM_IM16, R_VISIUM_IM16}, - {BFD_RELOC_VISIUM_HI16_PCREL, R_VISIUM_HI16_PCREL}, - {BFD_RELOC_VISIUM_LO16_PCREL, R_VISIUM_LO16_PCREL}, - {BFD_RELOC_VISIUM_IM16_PCREL, R_VISIUM_IM16_PCREL}, - {BFD_RELOC_VTABLE_INHERIT, R_VISIUM_GNU_VTINHERIT}, - {BFD_RELOC_VTABLE_ENTRY, R_VISIUM_GNU_VTENTRY}, -}; - /* Return the parity bit for INSN shifted to its final position. */ static bfd_vma @@ -503,7 +477,7 @@ visium_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr, default: if (r_type >= (unsigned int) R_VISIUM_max) { - _bfd_error_handler (_("%A: invalid Visium reloc number: %d"), abfd, r_type); + _bfd_error_handler (_("%B: invalid Visium reloc number: %d"), abfd, r_type); r_type = 0; } cache_ptr->howto = &visium_elf_howto_table[r_type]; @@ -524,7 +498,7 @@ visium_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; - if (info->relocatable) + if (bfd_link_relocatable (info)) return TRUE; symtab_hdr = &elf_tdata (abfd)->symtab_hdr; @@ -649,7 +623,7 @@ visium_elf_relocate_section (bfd *output_bfd, continue; } - if (info->relocatable) + if (bfd_link_relocatable (info)) continue; switch (r_type) @@ -688,13 +662,13 @@ visium_elf_relocate_section (bfd *output_bfd, switch (r) { case bfd_reloc_overflow: - r = info->callbacks->reloc_overflow + (*info->callbacks->reloc_overflow) (info, (h ? &h->root : NULL), name, howto->name, (bfd_vma) 0, input_bfd, input_section, rel->r_offset); break; case bfd_reloc_undefined: - r = info->callbacks->undefined_symbol + (*info->callbacks->undefined_symbol) (info, name, input_bfd, input_section, rel->r_offset, TRUE); break; @@ -716,11 +690,8 @@ visium_elf_relocate_section (bfd *output_bfd, } if (msg) - r = info->callbacks->warning - (info, msg, name, input_bfd, input_section, rel->r_offset); - - if (!r) - return FALSE; + (*info->callbacks->warning) (info, msg, name, input_bfd, + input_section, rel->r_offset); } }