diff options
author | Doug Evans <dje@gnu.org> | 1997-02-03 20:51:21 +0000 |
---|---|---|
committer | Doug Evans <dje@gnu.org> | 1997-02-03 20:51:21 +0000 |
commit | b91b26c962cc51f3f1058aceb4de20b31f100c8c (patch) | |
tree | c266a8ecf22bcd9fc5cdbf1a0f48ee5bf4910607 /gcc | |
parent | 4ed4cb9a0360080746a2d2fad2d2a875f122230c (diff) | |
download | gcc-b91b26c962cc51f3f1058aceb4de20b31f100c8c.zip gcc-b91b26c962cc51f3f1058aceb4de20b31f100c8c.tar.gz gcc-b91b26c962cc51f3f1058aceb4de20b31f100c8c.tar.bz2 |
sol2.h (ASM_SHORT,ASM_LONG): Set to .uahalf/.uaword.
* sparc/sol2.h (ASM_SHORT,ASM_LONG): Set to .uahalf/.uaword.
* sparc/sysv4.h (ASM_LONG): Define.
(ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Use ASM_LONG.
From-SVN: r13602
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/sparc/sol2.h | 7 | ||||
-rw-r--r-- | gcc/config/sparc/sysv4.h | 18 |
2 files changed, 18 insertions, 7 deletions
diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h index ec2e48a..fca28be 100644 --- a/gcc/config/sparc/sol2.h +++ b/gcc/config/sparc/sol2.h @@ -74,6 +74,13 @@ Boston, MA 02111-1307, USA. */ #define ASM_OUTPUT_SKIP(FILE,SIZE) \ fprintf (FILE, "\t.skip %u\n", (SIZE)) +/* Use .uahalf/.uaword so packed structure members don't generate + assembler errors when using the native assembler. */ +#undef ASM_SHORT +#define ASM_SHORT ".uahalf" +#undef ASM_LONG +#define ASM_LONG ".uaword" + /* This is how to output a definition of an internal numbered label where PREFIX is the class of label and NUM is the number within the class. */ diff --git a/gcc/config/sparc/sysv4.h b/gcc/config/sparc/sysv4.h index 48b530f..4dfde2a 100644 --- a/gcc/config/sparc/sysv4.h +++ b/gcc/config/sparc/sysv4.h @@ -96,6 +96,10 @@ Boston, MA 02111-1307, USA. */ #define PUSHSECTION_ASM_OP ".pushsection" #define POPSECTION_ASM_OP ".popsection" +/* This is defined in sparc.h but is not used by svr4.h. */ +#undef ASM_LONG +#define ASM_LONG ".long" + /* This is the format used to print the second operand of a .type pseudo-op for the Sparc/svr4 assembler. */ @@ -202,7 +206,7 @@ do { \ #define ASM_OUTPUT_FLOAT(FILE,VALUE) \ do { long value; \ REAL_VALUE_TO_TARGET_SINGLE ((VALUE), value); \ - fprintf((FILE), "\t.long\t0x%x\n", value); \ + fprintf((FILE), "\t%s\t0x%x\n", ASM_LONG, value); \ } while (0) /* This is how to output assembly code to define a `double' constant. @@ -214,8 +218,8 @@ do { long value; \ #define ASM_OUTPUT_DOUBLE(FILE,VALUE) \ do { long value[2]; \ REAL_VALUE_TO_TARGET_DOUBLE ((VALUE), value); \ - fprintf((FILE), "\t.long\t0x%x\n", value[0]); \ - fprintf((FILE), "\t.long\t0x%x\n", value[1]); \ + fprintf((FILE), "\t%s\t0x%x\n", ASM_LONG, value[0]); \ + fprintf((FILE), "\t%s\t0x%x\n", ASM_LONG, value[1]); \ } while (0) /* This is how to output an assembler line defining a `long double' @@ -225,10 +229,10 @@ do { long value[2]; \ #define ASM_OUTPUT_LONG_DOUBLE(FILE,VALUE) \ do { long value[4]; \ REAL_VALUE_TO_TARGET_LONG_DOUBLE ((VALUE), value); \ - fprintf((FILE), "\t.long\t0x%x\n", value[0]); \ - fprintf((FILE), "\t.long\t0x%x\n", value[1]); \ - fprintf((FILE), "\t.long\t0x%x\n", value[2]); \ - fprintf((FILE), "\t.long\t0x%x\n", value[3]); \ + fprintf((FILE), "\t%s\t0x%x\n", ASM_LONG, value[0]); \ + fprintf((FILE), "\t%s\t0x%x\n", ASM_LONG, value[1]); \ + fprintf((FILE), "\t%s\t0x%x\n", ASM_LONG, value[2]); \ + fprintf((FILE), "\t%s\t0x%x\n", ASM_LONG, value[3]); \ } while (0) /* Output assembler code to FILE to initialize this source file's |