/* BFD back-end for Renesas Super-H COFF binaries.
- Copyright (C) 1993-2016 Free Software Foundation, Inc.
+ Copyright (C) 1993-2017 Free Software Foundation, Inc.
Contributed by Cygnus Support.
Written by Steve Chamberlain, <sac@cygnus.com>.
Relaxing code written by Ian Lance Taylor, <ian@cygnus.com>.
&& bfd_is_und_section (symbol_in->section))
return bfd_reloc_undefined;
+ if (addr > input_section->size)
+ return bfd_reloc_outofrange;
+
sym_value = get_symbol_value (symbol_in);
switch (r_type)
laddr += ((irel->r_offset & 0xffffffff) ^ 0x80000000) - 0x80000000;
if (laddr >= sec->size)
{
- _bfd_error_handler ("%B: 0x%lx: warning: bad R_SH_USES offset",
+ /* xgettext: c-format */
+ _bfd_error_handler (_("%B: 0x%lx: warning: bad R_SH_USES offset"),
abfd, (unsigned long) irel->r_vaddr);
continue;
}
if ((insn & 0xf000) != 0xd000)
{
_bfd_error_handler
- ("%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x",
+ /* xgettext: c-format */
+ (_("%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"),
abfd, (unsigned long) irel->r_vaddr, insn);
continue;
}
if (paddr >= sec->size)
{
_bfd_error_handler
- ("%B: 0x%lx: warning: bad R_SH_USES load offset",
+ /* xgettext: c-format */
+ (_("%B: 0x%lx: warning: bad R_SH_USES load offset"),
abfd, (unsigned long) irel->r_vaddr);
continue;
}
if (irelfn >= irelend)
{
_bfd_error_handler
- ("%B: 0x%lx: warning: could not find expected reloc",
+ /* xgettext: c-format */
+ (_("%B: 0x%lx: warning: could not find expected reloc"),
abfd, (unsigned long) paddr);
continue;
}
if (sym.n_scnum != 0 && sym.n_scnum != sec->target_index)
{
_bfd_error_handler
- ("%B: 0x%lx: warning: symbol in unexpected section",
+ /* xgettext: c-format */
+ (_("%B: 0x%lx: warning: symbol in unexpected section"),
abfd, (unsigned long) paddr);
continue;
}
if (irelcount >= irelend)
{
_bfd_error_handler
- ("%B: 0x%lx: warning: could not find expected COUNT reloc",
+ /* xgettext: c-format */
+ (_("%B: 0x%lx: warning: could not find expected COUNT reloc"),
abfd, (unsigned long) paddr);
continue;
}
just deleted one. */
if (irelcount->r_offset == 0)
{
- _bfd_error_handler ("%B: 0x%lx: warning: bad count",
+ /* xgettext: c-format */
+ _bfd_error_handler (_("%B: 0x%lx: warning: bad count"),
abfd, (unsigned long) paddr);
continue;
}
if (overflow)
{
_bfd_error_handler
- ("%B: 0x%lx: fatal: reloc overflow while relaxing",
+ /* xgettext: c-format */
+ (_("%B: 0x%lx: fatal: reloc overflow while relaxing"),
abfd, (unsigned long) irel->r_vaddr);
bfd_set_error (bfd_error_bad_value);
return FALSE;
|| obj_raw_syments (abfd) != NULL)
{
_bfd_error_handler
- ("%B: fatal: generic symbols retrieved before relaxing", abfd);
+ (_("%B: fatal: generic symbols retrieved before relaxing"), abfd);
bfd_set_error (bfd_error_invalid_operation);
return FALSE;
}
if (overflow)
{
_bfd_error_handler
- ("%B: 0x%lx: fatal: reloc overflow while relaxing",
+ /* xgettext: c-format */
+ (_("%B: 0x%lx: fatal: reloc overflow while relaxing"),
abfd, (unsigned long) irel->r_vaddr);
bfd_set_error (bfd_error_bad_value);
return FALSE;
|| (unsigned long) symndx >= obj_raw_syment_count (input_bfd))
{
_bfd_error_handler
- ("%B: illegal symbol index %ld in relocs",
+ /* xgettext: c-format */
+ (_("%B: illegal symbol index %ld in relocs"),
input_bfd, symndx);
bfd_set_error (bfd_error_bad_value);
return FALSE;