Commit b3865ca9 by Richard Stallman

*** empty log message ***

From-SVN: r551
parent 24f6f95e
...@@ -43,14 +43,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -43,14 +43,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* -m68881 is the default */ /* -m68881 is the default */
#define CPP_SPEC \ #define CPP_SPEC \
"%{!msoft-float:%{mfpa:-D__HAVE_FPA__ }%{!mfpa:-D__HAVE_68881__ }}\ "%{!msoft-float:%{mfpa:-D__HAVE_FPA__ }%{!mfpa:-D__HAVE_68881__ }}\
%{!ansi:%{m68000:-Dmc68010}%{mc68000:-Dmc68010}%{!mc68000:%{!m68000:-Dmc68020}}}" %{m68000:-D__mc68010__}%{mc68000:-D__mc68010__}%{!mc68000:%{!m68000:-D__mc68020__}}} \
#else
#if TARGET_DEFAULT & 0100
/* -mfpa is the default */
#define CPP_SPEC \
"%{!msoft-float:%{m68881:-D__HAVE_68881__ }%{!m68881:-D__HAVE_FPA__ }}\
%{!ansi:%{m68000:-Dmc68010}%{mc68000:-Dmc68010}%{!mc68000:%{!m68000:-Dmc68020}}}" %{!ansi:%{m68000:-Dmc68010}%{mc68000:-Dmc68010}%{!mc68000:%{!m68000:-Dmc68020}}}"
#else #else
...@@ -58,10 +51,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -58,10 +51,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* -msoft-float is the default */ /* -msoft-float is the default */
#define CPP_SPEC \ #define CPP_SPEC \
"%{m68881:-D__HAVE_68881__ }%{mfpa:-D__HAVE_FPA__ }\ "%{m68881:-D__HAVE_68881__ }%{mfpa:-D__HAVE_FPA__ }\
%{m68000:-D__mc68010__}%{mc68000:-D__mc68010__}%{!mc68000:%{!m68000:-D__mc68020__}}} \
%{!ansi:%{m68000:-Dmc68010}%{mc68000:-Dmc68010}%{!mc68000:%{!m68000:-Dmc68020}}}" %{!ansi:%{m68000:-Dmc68010}%{mc68000:-Dmc68010}%{!mc68000:%{!m68000:-Dmc68020}}}"
#endif #endif
#endif
/* Prevent error on `-sun3' and `-target sun3' options. */ /* Prevent error on `-sun3' and `-target sun3' options. */
...@@ -81,7 +74,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -81,7 +74,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define WORD_SWITCH_TAKES_ARG(STR) \ #define WORD_SWITCH_TAKES_ARG(STR) \
(!strcmp (STR, "Tdata") || !strcmp (STR, "include") \ (!strcmp (STR, "Tdata") || !strcmp (STR, "include") \
|| !strcmp (STR, "imacros") || !strcmp (STR, "target") \ || !strcmp (STR, "imacros") || !strcmp (STR, "target") \
|| !strcmp (STR, "assert")) || !strcmp (STR, "assert") || !strcmp (STR, "aux-info"))
/* -m68000 requires special flags to the assembler. */ /* -m68000 requires special flags to the assembler. */
...@@ -167,6 +160,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -167,6 +160,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Allow folding division by zero. */ /* Allow folding division by zero. */
#define REAL_INFINITY #define REAL_INFINITY
/* Generate calls to memcpy, memcmp and memset. */
#define TARGET_MEM_FUNCTIONS
/* This is how to output an assembler line defining a `double' constant. */ /* This is how to output an assembler line defining a `double' constant. */
#undef ASM_OUTPUT_DOUBLE #undef ASM_OUTPUT_DOUBLE
...@@ -174,7 +170,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -174,7 +170,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
{ \ { \
if (REAL_VALUE_ISINF (VALUE)) \ if (REAL_VALUE_ISINF (VALUE)) \
fprintf (FILE, "\t.double 0r%s99e999\n", (VALUE) > 0 ? "" : "-"); \ fprintf (FILE, "\t.double 0r%s99e999\n", (VALUE) > 0 ? "" : "-"); \
else if (isnan (VALUE)) \ else if (REAL_VALUE_ISNAN (VALUE)) \
{ \ { \
union { double d; long l[2];} t; \ union { double d; long l[2];} t; \
t.d = (VALUE); \ t.d = (VALUE); \
...@@ -191,7 +187,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -191,7 +187,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
{ \ { \
if (REAL_VALUE_ISINF (VALUE)) \ if (REAL_VALUE_ISINF (VALUE)) \
fprintf (FILE, "\t.single 0r%s99e999\n", (VALUE) > 0 ? "" : "-"); \ fprintf (FILE, "\t.single 0r%s99e999\n", (VALUE) > 0 ? "" : "-"); \
else if (isnan (VALUE)) \ else if (REAL_VALUE_ISNAN (VALUE)) \
{ \ { \
union { float f; long l;} t; \ union { float f; long l;} t; \
t.f = (VALUE); \ t.f = (VALUE); \
......
...@@ -72,7 +72,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. ...@@ -72,7 +72,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
there are no such switches except those implemented by GCC itself. */ there are no such switches except those implemented by GCC itself. */
#define WORD_SWITCH_TAKES_ARG(STR) \ #define WORD_SWITCH_TAKES_ARG(STR) \
(!strcmp (STR, "include") || !strcmp (STR, "imacros")) (!strcmp (STR, "include") || !strcmp (STR, "imacros") \
|| !strcmp (STR, "aux-info"))
/* You should redefine CPP_PREDEFINES in any file which includes this one. /* You should redefine CPP_PREDEFINES in any file which includes this one.
The definition should be appropriate for the type of target system The definition should be appropriate for the type of target system
...@@ -249,6 +250,8 @@ do { \ ...@@ -249,6 +250,8 @@ do { \
#undef WCHAR_TYPE_SIZE #undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE BITS_PER_WORD #define WCHAR_TYPE_SIZE BITS_PER_WORD
#define MULTIBYTE_CHARS
#undef ASM_BYTE_OP #undef ASM_BYTE_OP
#define ASM_BYTE_OP "\t.byte" #define ASM_BYTE_OP "\t.byte"
...@@ -303,12 +306,12 @@ do { \ ...@@ -303,12 +306,12 @@ do { \
the linker seems to want the alignment of data objects the linker seems to want the alignment of data objects
to depend on their types. We do exactly that here. */ to depend on their types. We do exactly that here. */
#define BSS_ASM_OP "\t.bss" #define BSS_ASM_OP ".bss"
#undef ASM_OUTPUT_ALIGNED_LOCAL #undef ASM_OUTPUT_ALIGNED_LOCAL
#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \ #define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \
do { \ do { \
fprintf ((FILE), "%s\t%s,%u,%u\n", \ fprintf ((FILE), "\t%s\t%s,%u,%u\n", \
BSS_ASM_OP, (NAME), (SIZE), (ALIGN) / BITS_PER_UNIT); \ BSS_ASM_OP, (NAME), (SIZE), (ALIGN) / BITS_PER_UNIT); \
} while (0) } while (0)
...@@ -316,7 +319,7 @@ do { \ ...@@ -316,7 +319,7 @@ do { \
specific value in some section. This is the same for all known svr4 specific value in some section. This is the same for all known svr4
assemblers. */ assemblers. */
#define INT_ASM_OP "\t.long\t" #define INT_ASM_OP ".long"
/* This is the pseudo-op used to generate a contiguous sequence of byte /* This is the pseudo-op used to generate a contiguous sequence of byte
values from a double-quoted string WITHOUT HAVING A TERMINATING NUL values from a double-quoted string WITHOUT HAVING A TERMINATING NUL
...@@ -335,9 +338,9 @@ do { \ ...@@ -335,9 +338,9 @@ do { \
#define USE_CONST_SECTION 1 #define USE_CONST_SECTION 1
#define CONST_SECTION_ASM_OP "\t.section\t.rodata" #define CONST_SECTION_ASM_OP ".section\t.rodata"
#define CTORS_SECTION_ASM_OP "\t.section\t.ctors,\"a\",@progbits\n" #define CTORS_SECTION_ASM_OP ".section\t.ctors,\"a\",@progbits"
#define DTORS_SECTION_ASM_OP "\t.section\t.dtors,\"a\",@progbits\n" #define DTORS_SECTION_ASM_OP ".section\t.dtors,\"a\",@progbits"
/* On svr4, we *do* have support for the .init section, and we can put /* On svr4, we *do* have support for the .init section, and we can put
stuff in there to be executed before `main'. We let crtstuff.c and stuff in there to be executed before `main'. We let crtstuff.c and
...@@ -345,7 +348,7 @@ do { \ ...@@ -345,7 +348,7 @@ do { \
says how to change sections to the .init section. This is the same says how to change sections to the .init section. This is the same
for all know svr4 assemblers. */ for all know svr4 assemblers. */
#define INIT_SECTION_ASM_OP "\t.section\t.init" #define INIT_SECTION_ASM_OP ".section\t.init"
/* A default list of other sections which we might be "in" at any given /* A default list of other sections which we might be "in" at any given
time. For targets that use additional sections (e.g. .tdesc) you time. For targets that use additional sections (e.g. .tdesc) you
...@@ -409,7 +412,7 @@ dtors_section () \ ...@@ -409,7 +412,7 @@ dtors_section () \
#define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \ #define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \
do { \ do { \
ctors_section (); \ ctors_section (); \
fprintf (FILE, "%s\t ", INT_ASM_OP); \ fprintf (FILE, "\t%s\t ", INT_ASM_OP); \
assemble_name (FILE, NAME); \ assemble_name (FILE, NAME); \
fprintf (FILE, "\n"); \ fprintf (FILE, "\n"); \
} while (0) } while (0)
...@@ -419,7 +422,7 @@ dtors_section () \ ...@@ -419,7 +422,7 @@ dtors_section () \
#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \ #define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \
do { \ do { \
dtors_section (); \ dtors_section (); \
fprintf (FILE, "%s\t ", INT_ASM_OP); \ fprintf (FILE, "\t%s\t ", INT_ASM_OP); \
assemble_name (FILE, NAME); \ assemble_name (FILE, NAME); \
fprintf (FILE, "\n"); \ fprintf (FILE, "\n"); \
} while (0) } while (0)
...@@ -465,8 +468,8 @@ dtors_section () \ ...@@ -465,8 +468,8 @@ dtors_section () \
different pseudo-op names for these, they may be overridden in the different pseudo-op names for these, they may be overridden in the
file which includes this one. */ file which includes this one. */
#define TYPE_ASM_OP "\t.type" #define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP "\t.size" #define SIZE_ASM_OP ".size"
/* The following macro defines the format used to output the second /* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers operand of the .type assembler directive. Different svr4 assemblers
...@@ -484,7 +487,7 @@ dtors_section () \ ...@@ -484,7 +487,7 @@ dtors_section () \
#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
do { \ do { \
fprintf (FILE, "%s\t ", TYPE_ASM_OP); \ fprintf (FILE, "\t%s\t ", TYPE_ASM_OP); \
assemble_name (FILE, NAME); \ assemble_name (FILE, NAME); \
putc (',', FILE); \ putc (',', FILE); \
fprintf (FILE, TYPE_OPERAND_FMT, "function"); \ fprintf (FILE, TYPE_OPERAND_FMT, "function"); \
...@@ -496,14 +499,14 @@ dtors_section () \ ...@@ -496,14 +499,14 @@ dtors_section () \
#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ #define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
do { \ do { \
fprintf (FILE, "%s\t ", TYPE_ASM_OP); \ fprintf (FILE, "\t%s\t ", TYPE_ASM_OP); \
assemble_name (FILE, NAME); \ assemble_name (FILE, NAME); \
putc (',', FILE); \ putc (',', FILE); \
fprintf (FILE, TYPE_OPERAND_FMT, "object"); \ fprintf (FILE, TYPE_OPERAND_FMT, "object"); \
putc ('\n', FILE); \ putc ('\n', FILE); \
if (!flag_inhibit_size_directive) \ if (!flag_inhibit_size_directive) \
{ \ { \
fprintf (FILE, "%s\t ", SIZE_ASM_OP); \ fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
assemble_name (FILE, NAME); \ assemble_name (FILE, NAME); \
fprintf (FILE, ",%d\n", int_size_in_bytes (TREE_TYPE (decl))); \ fprintf (FILE, ",%d\n", int_size_in_bytes (TREE_TYPE (decl))); \
} \ } \
...@@ -521,7 +524,7 @@ dtors_section () \ ...@@ -521,7 +524,7 @@ dtors_section () \
labelno++; \ labelno++; \
ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \ ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \
ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \ ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \
fprintf (FILE, "%s\t ", SIZE_ASM_OP); \ fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
assemble_name (FILE, (FNAME)); \ assemble_name (FILE, (FNAME)); \
fprintf (FILE, ","); \ fprintf (FILE, ","); \
assemble_name (FILE, label); \ assemble_name (FILE, label); \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment