summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf64-hppa.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 495f9f25ed..2fe825cb77 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2011-07-28 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
+
+ * elf64-hppa.c (elf_hppa_final_link_relocate): Fix handling of out
+ of range branches.
+
2011-07-26 Jakub Jelinek <jakub@redhat.com>
* dwarf2.c (dwarf_debug_sections): Add .debug_macro
diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c
index 92adf78901..057a92de9a 100644
--- a/bfd/elf64-hppa.c
+++ b/bfd/elf64-hppa.c
@@ -3272,13 +3272,13 @@ elf_hppa_final_link_relocate (Elf_Internal_Rela *rel,
&& value + addend + max_branch_offset >= 2*max_branch_offset)
{
(*_bfd_error_handler)
- (_("%B(%A+0x%lx): cannot reach %s"),
+ (_("%B(%A+0x" BFD_VMA_FMT "x): cannot reach %s"),
input_bfd,
input_section,
offset,
- eh->root.root.string);
+ eh ? eh->root.root.string : "unknown");
bfd_set_error (bfd_error_bad_value);
- return bfd_reloc_notsupported;
+ return bfd_reloc_overflow;
}
/* Adjust for any field selectors. */