add directory gnu
This commit is contained in:
159
gnu/gcc/gcc-2.2.2/config/dpx2.h
Normal file
159
gnu/gcc/gcc-2.2.2/config/dpx2.h
Normal file
@@ -0,0 +1,159 @@
|
||||
/*
|
||||
* dpx2.h - Bull DPX/2 200 and 300 systems (m68k, SysVr3)
|
||||
*
|
||||
* $Id: dpx2.h,v 1.3 1992/05/21 08:04:22 rms Exp $
|
||||
*/
|
||||
|
||||
#include "m68k.h"
|
||||
#undef SELECT_RTX_SECTION
|
||||
#include "svr3.h"
|
||||
|
||||
/* See m68k.h. 7 means 68020 with 68881.
|
||||
* We really have 68030, but this will get us going.
|
||||
*/
|
||||
#ifndef TARGET_DEFAULT
|
||||
#define TARGET_DEFAULT 7
|
||||
#endif
|
||||
|
||||
#define OBJECT_FORMAT_COFF
|
||||
#define NO_SYS_SIGLIST
|
||||
|
||||
#ifdef CPP_PREDEFINES
|
||||
#undef CPP_PREDEFINES
|
||||
#endif
|
||||
/*
|
||||
* define all the things the compiler should
|
||||
*/
|
||||
#ifdef ncl_mr
|
||||
# define CPP_PREDEFINES "-Dunix -Dbull -DDPX2 -DSVR3 -Dmc68000 -Dmc68020 -Dncl_mr=1"
|
||||
#else
|
||||
# ifdef ncl_el
|
||||
# define CPP_PREDEFINES "-Dunix -Dbull -DDPX2 -DSVR3 -Dmc68000 -Dmc68020 -Dncl_el"
|
||||
# else
|
||||
# define CPP_PREDEFINES "-Dunix -Dbull -DDPX2 -DSVR3 -Dmc68000 -Dmc68020"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#undef CPP_SPEC
|
||||
/*
|
||||
* use -ansi to imply POSIX and XOPEN and BULL source
|
||||
* no -ansi implies _SYSV
|
||||
*/
|
||||
# define CPP_SPEC "%{ansi:-D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BULL_SOURCE}\
|
||||
%{!ansi:-D_SYSV}"
|
||||
|
||||
#undef ASM_LONG
|
||||
#define ASM_LONG "\t.long"
|
||||
|
||||
#define HAVE_ATEXIT
|
||||
#undef DO_GLOBAL_CTORS_BODY /* don't use svr3.h version */
|
||||
#undef DO_GLOBAL_DTORS_BODY
|
||||
|
||||
#if 0 /* def DEBUG */
|
||||
/*
|
||||
* find out where cc1 aborts
|
||||
*/
|
||||
#define abort() do { fprintf(stderr, "%s: aborting at line %d\n", \
|
||||
__FILE__, __LINE__); \
|
||||
kill(getpid(), 6); } while (0)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* svr3.h says to use BSS_SECTION_FUNCTION
|
||||
* but no one appears to, and there is
|
||||
* no definition for m68k.
|
||||
*/
|
||||
#ifndef BSS_SECTION_FUNCTION
|
||||
# undef EXTRA_SECTION_FUNCTIONS
|
||||
# define EXTRA_SECTION_FUNCTIONS \
|
||||
CONST_SECTION_FUNCTION \
|
||||
INIT_SECTION_FUNCTION \
|
||||
FINI_SECTION_FUNCTION
|
||||
#endif
|
||||
|
||||
#ifndef USE_GAS
|
||||
/*
|
||||
* handle the native assembler.
|
||||
* this does NOT yet work, there is much left to do.
|
||||
* use GAS for now...
|
||||
*/
|
||||
#undef ASM_OUTPUT_SOURCE_FILENAME
|
||||
#define ASM_OUTPUT_SOURCE_FILENAME(FILE, NA) \
|
||||
do { fprintf ((FILE), "\t.file\t'%s'\n", (NA)); } while (0)
|
||||
|
||||
/*
|
||||
* we don't seem to support any of:
|
||||
* .globl
|
||||
* .even
|
||||
* .align
|
||||
* .ascii
|
||||
*/
|
||||
#undef ASM_GLOBALIZE_LABEL
|
||||
#define ASM_GLOBALIZE_LABEL(FILE,NAME) while (0)
|
||||
#undef ASM_OUTPUT_ALIGN
|
||||
#define ASM_OUTPUT_ALIGN(asm_out_file, align) while (0)
|
||||
#define STRING_LIMIT (0)
|
||||
#undef ASM_APP_ON
|
||||
#define ASM_APP_ON ""
|
||||
#undef ASM_APP_OFF
|
||||
#define ASM_APP_OFF ""
|
||||
/*
|
||||
* dc.b 'hello, world!'
|
||||
* dc.b 10,0
|
||||
* is how we have to output "hello, world!\n"
|
||||
*/
|
||||
#undef ASM_OUTPUT_ASCII
|
||||
#define ASM_OUTPUT_ASCII(asm_out_file, p, thissize) \
|
||||
do { register int i, c, f=0; \
|
||||
for (i = 0; i < thissize; i++) { \
|
||||
c = p[i]; \
|
||||
if (c == '\'' || c < ' ' || c > 127) { \
|
||||
switch(f) { \
|
||||
case 0: /* need to output dc.b etc */ \
|
||||
fprintf(asm_out_file, "\tdc.b %d", c); \
|
||||
f=1; \
|
||||
break; \
|
||||
case 1: \
|
||||
fprintf(asm_out_file, ",%d", c); \
|
||||
break; \
|
||||
default: \
|
||||
/* close a string */ \
|
||||
fprintf(asm_out_file, "'\n\tdc.b %d", c); \
|
||||
f=1; \
|
||||
break; \
|
||||
} \
|
||||
} else { \
|
||||
switch(f) { \
|
||||
case 0: \
|
||||
fprintf(asm_out_file, "\tdc.b '%c", c); \
|
||||
f=2; \
|
||||
break; \
|
||||
case 2: \
|
||||
fprintf(asm_out_file, "%c", c); \
|
||||
break; \
|
||||
default: \
|
||||
fprintf(asm_out_file, "\n\tdc.b '%c", c); \
|
||||
f=2; \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
if (f==2) \
|
||||
putc('\'', asm_out_file); \
|
||||
putc('\n', asm_out_file); } while (0)
|
||||
|
||||
/* This is how to output an insn to push a register on the stack.
|
||||
It need not be very fast code. */
|
||||
|
||||
#undef ASM_OUTPUT_REG_PUSH
|
||||
#define ASM_OUTPUT_REG_PUSH(FILE,REGNO) \
|
||||
fprintf (FILE, "\tmove.l %s,-(sp)\n", reg_names[REGNO])
|
||||
|
||||
/* This is how to output an insn to pop a register from the stack.
|
||||
It need not be very fast code. */
|
||||
|
||||
#undef ASM_OUTPUT_REG_POP
|
||||
#define ASM_OUTPUT_REG_POP(FILE,REGNO) \
|
||||
fprintf (FILE, "\tmove.l (sp)+,%s\n", reg_names[REGNO])
|
||||
|
||||
#endif /* ! use gas */
|
||||
Reference in New Issue
Block a user