/* Target definitions for GNU compiler for Intel 80860 running OSF/1AD
- Copyright (C) 1991, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1996, 1999, 2000, 2002 Free Software Foundation, Inc.
Based upon original work of Ron Guilmette (rfg@monkeys.com).
Contributed by Andy Pfiffer (andyp@ssd.intel.com).
Partially inspired by
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* For the sake of libgcc2.c, indicate target supports atexit. */
-#define HAVE_ATEXIT
-
#undef TARGET_SWITCHES
#define TARGET_SWITCHES \
- { {"xp", 1, "Generate code which uses the FPU"}, \
- {"noxp", -1, "Do not generate code which uses the FPU"}, \
- {"xr", -1, "Do not generate code which uses the FPU"}, \
- {"noieee", -1, "Do not generate code which uses the FPU"}, \
+ { {"xp", 1, N_("Generate code which uses the FPU")}, \
+ {"noxp", -1, N_("Do not generate code which uses the FPU")}, \
+ {"xr", -1, N_("Do not generate code which uses the FPU")}, \
+ {"noieee", -1, N_("Do not generate code which uses the FPU")}, \
{"nx", 2, NULL}, \
{ "", TARGET_DEFAULT, NULL}}
#undef TYPE_OPERAND_FMT
#define TYPE_OPERAND_FMT "\"%s\""
-#define DBX_REGISTER_NUMBER(REGNO) (REGNO)
-
#undef ASCII_DATA_ASM_OP
-#define ASCII_DATA_ASM_OP ".byte"
+#define ASCII_DATA_ASM_OP "\t.byte\t"
/*
* the assembler we're using doesn't grok .ident...
#define ASM_OUTPUT_IDENT(FILE, NAME) \
fprintf (FILE, "//\t.ident \"%s\"\n", NAME);
-/*
- * the assembler doesn't grok .double INF and the like
- * but does understand .long with hex numbers, so special
- * case the "symbolic" IEEE numbers.
- */
-#undef ASM_OUTPUT_DOUBLE
-#define ASM_OUTPUT_DOUBLE(FILE,VALUE) \
- { \
- if (REAL_VALUE_ISINF (VALUE) \
- || REAL_VALUE_ISNAN (VALUE) \
- || REAL_VALUE_MINUS_ZERO (VALUE)) \
- { \
- long t[2]; \
- REAL_VALUE_TO_TARGET_DOUBLE ((VALUE), t); \
- fprintf (FILE, "\t.long 0x%lx\n\t.long 0x%lx\n", t[0], t[1]); \
- } \
- else \
- fprintf (FILE, "\t.double %.20e\n", VALUE); \
- }
-
-#undef ASM_OUTPUT_FLOAT
-#define ASM_OUTPUT_FLOAT(FILE,VALUE) \
- { \
- if (REAL_VALUE_ISINF (VALUE) \
- || REAL_VALUE_ISNAN (VALUE) \
- || REAL_VALUE_MINUS_ZERO (VALUE)) \
- { \
- long t; \
- REAL_VALUE_TO_TARGET_SINGLE ((VALUE), t); \
- fprintf (FILE, "\t.long 0x%lx\n", t); \
- } \
- else \
- fprintf (FILE, "\t.float %.12e\n", VALUE); \
- }
-
#undef ASM_OUTPUT_ASCII
#define ASM_OUTPUT_ASCII(FILE, STR, LENGTH) \
do \
{ \
- register unsigned char *str = (unsigned char *) (STR); \
- register unsigned char *limit = str + (LENGTH); \
+ register const unsigned char *str = (const unsigned char *) (STR); \
+ register const unsigned char *limit = str + (LENGTH); \
register unsigned bytes_in_chunk = 0; \
for (; str < limit; str++) \
{ \
fprintf ((FILE), "\"\n"); \
bytes_in_chunk = 0; \
} \
- fprintf ((FILE), "\t%s\t%d\n", ASM_BYTE_OP, ch); \
+ assemble_aligned_integer (1, GEN_INT (ch)); \
} \
else \
{ \
bytes_in_chunk = 0; \
} \
if (bytes_in_chunk == 0) \
- fprintf ((FILE), "\t%s\t\"", ASCII_DATA_ASM_OP);\
+ fprintf ((FILE), "%s\"", ASCII_DATA_ASM_OP); \
putc (ch, (FILE)); \
bytes_in_chunk++; \
} \
*/
#undef INIT_SECTION_ASM_OP
#undef FINI_SECTION_ASM_OP
-#undef CONST_SECTION_ASM_OP
+#undef READONLY_DATA_SECTION_ASM_OP
#undef CTORS_SECTION_ASM_OP
#undef DTORS_SECTION_ASM_OP
#undef DO_GLOBAL_CTORS_BODY
#undef ASM_OUTPUT_DESTRUCTOR
-#undef SELECT_SECTION
-#undef SELECT_RTX_SECTION
-#undef READONLY_DATA_SECTION
+#undef TARGET_ASM_SELECT_SECTION
-#define BSS_SECTION_ASM_OP ".bss" /* XXX */
+#define BSS_SECTION_ASM_OP "\t.bss" /* XXX */
#undef EXTRA_SECTIONS
#undef EXTRA_SECTION_FUNCTIONS