diff options
author | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-02-03 20:51:21 +0000 |
---|---|---|
committer | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-02-03 20:51:21 +0000 |
commit | 4b213a53619598e8d78a9274f68689eab7530e81 (patch) | |
tree | c266a8ecf22bcd9fc5cdbf1a0f48ee5bf4910607 /gcc/config/sparc | |
parent | 15a8b54b092c269002afa1fb842a1ae4885cfe33 (diff) | |
download | gcc-4b213a53619598e8d78a9274f68689eab7530e81.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13602 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sparc')
-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 ec2e48a1eb1..fca28be7b11 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 48b530f26da..4dfde2af3d0 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 |