aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-sparc.h
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@gcc.gnu.org>2018-01-30 00:13:51 +0100
committerEric Botcazou <ebotcazou@gcc.gnu.org>2018-01-30 00:13:51 +0100
commitd85815e2d16f7c042d7912f1fa85bf1b9c28ca44 (patch)
treedd849fa88569d0169d1a98e975a208fb8661831a /gas/config/tc-sparc.h
parent86b24e15c45bfe5085ed88280e1a5479120edce6 (diff)
downloadgdb-d85815e2d16f7c042d7912f1fa85bf1b9c28ca44.zip
gdb-d85815e2d16f7c042d7912f1fa85bf1b9c28ca44.tar.gz
gdb-d85815e2d16f7c042d7912f1fa85bf1b9c28ca44.tar.bz2
Fix PR gas/22738 (.dc.a directive has wrong size on SPARC 64-bit).
The .dc.a directive has wrong size (32 bits) on SPARC 64-bit because the assembler sets the correct BFD architecture only at the very end of the processing and it's too late for the directive. It's fixed by defining TARGET_MACH and making it return a sensible default value. gas/ * config/tc-sparc.h (sparc_mach): Declare. (TARGET_MACH): Define to above. * config/tc-sparc.c (sparc_mach): New function. (sparc_md_end): Minor tweak. ld/ * testsuite/ld-elf/pr22450.d: Remove reference to SPARC64.
Diffstat (limited to 'gas/config/tc-sparc.h')
-rw-r--r--gas/config/tc-sparc.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gas/config/tc-sparc.h b/gas/config/tc-sparc.h
index 7ff7613..e3db1fb 100644
--- a/gas/config/tc-sparc.h
+++ b/gas/config/tc-sparc.h
@@ -30,6 +30,9 @@ struct frag;
#define TARGET_ARCH bfd_arch_sparc
+extern unsigned long sparc_mach (void);
+#define TARGET_MACH sparc_mach ()
+
#ifdef TE_FreeBSD
#define ELF_TARGET_FORMAT "elf32-sparc"
#define ELF64_TARGET_FORMAT "elf64-sparc-freebsd"