/* SPARC-specific support for 64-bit ELF
- Copyright (C) 1993-2017 Free Software Foundation, Inc.
+ Copyright (C) 1993-2018 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
r_type = ELF64_R_TYPE_ID (rela.r_info);
if (r_type == R_SPARC_OLO10)
{
- relent->howto = _bfd_sparc_elf_info_to_howto_ptr (R_SPARC_LO10);
+ relent->howto = _bfd_sparc_elf_info_to_howto_ptr (abfd, R_SPARC_LO10);
relent[1].address = relent->address;
relent++;
relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
relent->addend = ELF64_R_TYPE_DATA (rela.r_info);
- relent->howto = _bfd_sparc_elf_info_to_howto_ptr (R_SPARC_13);
+ relent->howto = _bfd_sparc_elf_info_to_howto_ptr (abfd, R_SPARC_13);
}
else
- relent->howto = _bfd_sparc_elf_info_to_howto_ptr (r_type);
+ {
+ relent->howto = _bfd_sparc_elf_info_to_howto_ptr (abfd, r_type);
+ if (relent->howto == NULL)
+ goto error_return;
+ }
}
canon_reloc_count (asect) += relent - relents;
case 6: reg -= 4; break;
default:
_bfd_error_handler
- (_("%B: Only registers %%g[2367] can be declared using STT_REGISTER"),
+ (_("%pB: only registers %%g[2367] can be declared using STT_REGISTER"),
abfd);
return FALSE;
}
{
_bfd_error_handler
/* xgettext:c-format */
- (_("Register %%g%d used incompatibly: %s in %B,"
- " previously %s in %B"),
+ (_("register %%g%d used incompatibly: %s in %pB,"
+ " previously %s in %pB"),
(int) sym->st_value, **namep ? *namep : "#scratch", abfd,
*p->name ? p->name : "#scratch", p->abfd);
return FALSE;
type = 0;
_bfd_error_handler
/* xgettext:c-format */
- (_("Symbol `%s' has differing types: REGISTER in %B,"
- " previously %s in %B"),
+ (_("symbol `%s' has differing types: REGISTER in %pB,"
+ " previously %s in %pB"),
*namep, abfd, stt_types[type], p->abfd);
return FALSE;
}
type = 0;
_bfd_error_handler
/* xgettext:c-format */
- (_("Symbol `%s' has differing types: %s in %B,"
- " previously REGISTER in %B"),
+ (_("Symbol `%s' has differing types: %s in %pB,"
+ " previously REGISTER in %pB"),
*namep, stt_types[type], abfd, p->abfd);
return FALSE;
}
{
error = TRUE;
_bfd_error_handler
- (_("%B: linking UltraSPARC specific with HAL specific code"),
+ (_("%pB: linking UltraSPARC specific with HAL specific code"),
ibfd);
}
/* Choose the most restrictive memory ordering. */
error = TRUE;
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: uses different e_flags (%#x) fields than previous modules (%#x)"),
+ (_("%pB: uses different e_flags (%#x) fields than previous modules (%#x)"),
ibfd, new_flags, old_flags);
}