aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elfxx-sparc.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 019a05a..195424a 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2012-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR ld/12152
+ * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Also ignore
+ overflows for R_SPARC_UA32 in .stab sections.
+
2012-03-01 Alan Modra <amodra@gmail.com>
* elfxx-tilegx.c (tilegx_elf_relocate_section): Silence bogus warning.
diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c
index fe18a62..355382e 100644
--- a/bfd/elfxx-sparc.c
+++ b/bfd/elfxx-sparc.c
@@ -1,5 +1,5 @@
/* SPARC-specific support for ELF
- Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -4069,7 +4069,9 @@ do_relocation:
We don't, but this breaks stabs debugging info, whose
relocations are only 32-bits wide. Ignore overflows in
this case and also for discarded entries. */
- if ((r_type == R_SPARC_32 || r_type == R_SPARC_DISP32)
+ if ((r_type == R_SPARC_32
+ || r_type == R_SPARC_UA32
+ || r_type == R_SPARC_DISP32)
&& (((input_section->flags & SEC_DEBUGGING) != 0
&& strcmp (bfd_section_name (input_bfd,
input_section),