r_type = ELF32_R_TYPE (dst->r_info);
if (r_type >= R_MICROBLAZE_max)
{
+ /* xgettext:c-format */
_bfd_error_handler (_("%B: unrecognised MicroBlaze reloc number: %d"),
abfd, r_type);
bfd_set_error (bfd_error_bad_value);
if (r_type < 0 || r_type >= (int) R_MICROBLAZE_max)
{
+ /* xgettext:c-format */
_bfd_error_handler (_("%s: unknown relocation type %d"),
bfd_get_filename (input_bfd), (int) r_type);
bfd_set_error (bfd_error_bad_value);
else
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%s: The target (%s) of an %s relocation "
"is in the wrong section (%s)"),
bfd_get_filename (input_bfd),
else
{
_bfd_error_handler
+ /* xgettext:c-format */
(_("%s: The target (%s) of an %s relocation "
"is in the wrong section (%s)"),
bfd_get_filename (input_bfd),
return ret;
}
-
-/* Merge backend specific data from an object file to the output
- object file when linking.
-
- Note: We only use this hook to catch endian mismatches. */
-static bfd_boolean
-microblaze_elf_merge_private_bfd_data (bfd * ibfd, bfd * obfd)
-{
- /* Check if we have the same endianess. */
- if (! _bfd_generic_verify_endian_match (ibfd, obfd))
- return FALSE;
-
- return TRUE;
-}
-
\f
/* Calculate fixup value for reference. */
{
asection *s;
- s = bfd_get_linker_section (dynobj, name);
+ s = bfd_get_section_by_name (output_bfd, name);
if (s == NULL)
dyn.d_un.d_val = 0;
else
{
if (! size)
- dyn.d_un.d_ptr = s->output_section->vma + s->output_offset;
+ dyn.d_un.d_ptr = s->vma;
else
dyn.d_un.d_val = s->size;
}
#define bfd_elf32_bfd_is_local_label_name microblaze_elf_is_local_label_name
#define elf_backend_relocate_section microblaze_elf_relocate_section
#define bfd_elf32_bfd_relax_section microblaze_elf_relax_section
-#define bfd_elf32_bfd_merge_private_bfd_data microblaze_elf_merge_private_bfd_data
+#define bfd_elf32_bfd_merge_private_bfd_data _bfd_generic_verify_endian_match
#define bfd_elf32_bfd_reloc_name_lookup microblaze_elf_reloc_name_lookup
#define elf_backend_gc_mark_hook microblaze_elf_gc_mark_hook