aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2012-02-24 10:54:47 +0000
committerNick Clifton <nickc@redhat.com>2012-02-24 10:54:47 +0000
commit4115917d4bc2522b56e1b4975a566409d7cc0717 (patch)
tree1dcfce9dba25d2f265666d9dffbca94975766082
parent07c1b62689e6aeb6e86d11db17ab2a887474aec3 (diff)
downloadgdb-4115917d4bc2522b56e1b4975a566409d7cc0717.zip
gdb-4115917d4bc2522b56e1b4975a566409d7cc0717.tar.gz
gdb-4115917d4bc2522b56e1b4975a566409d7cc0717.tar.bz2
PR ld/13730
* reloc.c (bfd_generic_get_relocated_section_contents): Issue an error message instead of aborting, when an outofrange reloc is encountered.
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/reloc.c9
2 files changed, 16 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 6503f5c..cf9bf17 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2012-02-24 Nick Clifton <nickc@redhat.com>
+
+ PR ld/13730
+ * reloc.c (bfd_generic_get_relocated_section_contents): Issue an
+ error message instead of aborting, when an outofrange reloc is
+ encountered.
+
2012-02-23 Iain Sandoe <idsandoe@googlemail.com>
* mach-o.c (bfd_mach_o_swap_in_non_scattered_reloc): New.
diff --git a/bfd/reloc.c b/bfd/reloc.c
index 778276f..ac1ecb5 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -6394,6 +6394,15 @@ bfd_generic_get_relocated_section_contents (bfd *abfd,
goto error_return;
break;
case bfd_reloc_outofrange:
+ /* PR ld/13730:
+ This error can result when processing some partially
+ complete binaries. Do not abort, but issue an error
+ message instead. */
+ link_info->callbacks->einfo
+ (_("%X%P: %B(%A): relocation \"%R\" goes out of range\n"),
+ abfd, input_section, * parent);
+ goto error_return;
+
default:
abort ();
break;