summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2016-11-15 15:41:27 +0000
committerNick Clifton <nickc@redhat.com>2016-11-15 15:41:27 +0000
commit93ca393659ef6714724749950301757f47e5e9fd (patch)
treeebb528d2ab9934c48c555950df844db254d26aa5
parent32ce946fd83f08a4f1486de02d3f83870b36b28e (diff)
downloadbinutils-gdb-93ca393659ef6714724749950301757f47e5e9fd.tar.gz
Fix SPARC relocations generated for the .eh_frame section.
PR gas/20803 * config/tc-sparc.c (cons_fix_new_sparc): Use unaligned relocs in the .eh_frame section.
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-sparc.c5
2 files changed, 10 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index f5836ac2c37..613833b485a 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2016-11-15 Nick Clifton <nickc@redhat.com>
+
+ PR gas/20803
+ * config/tc-sparc.c (cons_fix_new_sparc): Use unaligned relocs in
+ the .eh_frame section.
+
2016-11-13 Anthony Green <green@moxielogic.org>
* config/tc-moxie.c (md_assemble): Assemble 'bad' opcode.
diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c
index 70f5bfb4dd4..d7b9a98a470 100644
--- a/gas/config/tc-sparc.c
+++ b/gas/config/tc-sparc.c
@@ -4957,7 +4957,10 @@ cons_fix_new_sparc (fragS *frag,
case 8: r = BFD_RELOC_SPARC_TLS_DTPOFF64; break;
}
}
- else if (sparc_no_align_cons)
+ else if (sparc_no_align_cons
+ || /* PR 20803 - relocs in the .eh_frame section
+ need to support unaligned access. */
+ strcmp (now_seg->name, ".eh_frame") == 0)
{
switch (nbytes)
{