diff options
author | 2018-01-30 00:13:51 +0100 | |
---|---|---|
committer | 2018-01-30 00:13:51 +0100 | |
commit | d85815e2d16f7c042d7912f1fa85bf1b9c28ca44 (patch) | |
tree | dd849fa88569d0169d1a98e975a208fb8661831a /gas/config/tc-sparc.h | |
parent | MIPS/LD/testsuite: Correct comm-data.exp test ABI/emul/endian arrangement (diff) | |
download | binutils-gdb-d85815e2d16f7c042d7912f1fa85bf1b9c28ca44.tar.gz binutils-gdb-d85815e2d16f7c042d7912f1fa85bf1b9c28ca44.tar.bz2 binutils-gdb-d85815e2d16f7c042d7912f1fa85bf1b9c28ca44.zip |
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.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gas/config/tc-sparc.h b/gas/config/tc-sparc.h index 7ff7613517e..e3db1fb0ccb 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" |