/* BFD back-end for TMS320C4X coff binaries.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2020 Free Software Foundation, Inc.
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz)
if (output_bfd != (bfd *) NULL)
{
/* This is a partial relocation, and we want to apply the
- relocation to the reloc entry rather than the raw data.
- Modify the reloc inplace to reflect what we now know. */
+ relocation to the reloc entry rather than the raw data.
+ Modify the reloc inplace to reflect what we now know. */
reloc_entry->address += input_section->output_offset;
return bfd_reloc_ok;
}
Called after some initial checking by the tic4x_rtype_to_howto fn
below. */
static void
-tic4x_lookup_howto (arelent *internal,
+tic4x_lookup_howto (bfd *abfd,
+ arelent *internal,
struct internal_reloc *dst)
{
unsigned int i;
}
}
- (*_bfd_error_handler) (_("Unrecognized reloc type 0x%x"),
- (unsigned int) dst->r_type);
+ _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+ abfd, (unsigned int) dst->r_type);
abort();
}
static reloc_howto_type *
-coff_tic4x_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
+coff_tic4x_rtype_to_howto (bfd *abfd,
asection *sec,
struct internal_reloc *rel,
struct coff_link_hash_entry *h ATTRIBUTE_UNUSED,
in the output section. */
*addendp = (sec->output_section->vma + sec->output_offset) - sec->vma;
- tic4x_lookup_howto (&genrel, rel);
+ tic4x_lookup_howto (abfd, &genrel, rel);
return genrel.howto;
}
if (reloc->r_symndx != -1)
{
if (reloc->r_symndx < 0 || reloc->r_symndx >= obj_conv_table_size (abfd))
- {
- (*_bfd_error_handler)
- (_("%s: warning: illegal symbol index %ld in relocs"),
- bfd_get_filename (abfd), reloc->r_symndx);
- relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
- ptr = NULL;
- }
+ {
+ _bfd_error_handler
+ /* xgettext: c-format */
+ (_("%pB: warning: illegal symbol index %ld in relocs"),
+ abfd, reloc->r_symndx);
+ relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
+ ptr = NULL;
+ }
else
- {
- relent->sym_ptr_ptr = (symbols
- + obj_convert (abfd)[reloc->r_symndx]);
- ptr = *(relent->sym_ptr_ptr);
- }
+ {
+ relent->sym_ptr_ptr = (symbols
+ + obj_convert (abfd)[reloc->r_symndx]);
+ ptr = *(relent->sym_ptr_ptr);
+ }
}
else
{
/* !! relent->section = (asection *) NULL; */
/* Fill in the relent->howto field from reloc->r_type. */
- tic4x_lookup_howto (relent, reloc);
+ tic4x_lookup_howto (abfd, relent, reloc);
}