home *** CD-ROM | disk | FTP | other *** search
- /*
- * dpx2g.h - Bull DPX/2 200 and 300 systems (m68k, SysVr3) with gas
- */
-
- #define USE_GAS
- #include "m68k/dpx2.h"
-
- #ifndef USE_COLLECT2
- /* We use set vectors for the constructors/destructors. */
-
- #undef ASM_OUTPUT_CONSTRUCTOR
- #undef ASM_OUTPUT_DESTRUCTOR
-
- /* Although the gas we use can create .ctor and .dtor sections from N_SETT
- stabs, it does not support section directives, so we need to have the loader
- define the lists.
- */
- #define CTOR_LISTS_DEFINED_EXTERNALLY
-
- /* similar to default, but allows for the table defined by ld with gcc.ifile.
- nptrs is always 0. So we need to instead check that __DTOR_LIST__[1] != 0.
- The old check is left in so that the same macro can be used if and when
- a future version of gas does support section directives. */
-
- #define DO_GLOBAL_DTORS_BODY {int nptrs = *(int *)__DTOR_LIST__; int i; \
- if (nptrs == -1 || (__DTOR_LIST__[0] == 0 && __DTOR_LIST__[1] != 0)) \
- for (nptrs = 0; __DTOR_LIST__[nptrs + 1] != 0; nptrs++); \
- for (i = nptrs; i >= 1; i--) \
- __DTOR_LIST__[i] (); }
-
- #undef STARTFILE_SPEC
- #define STARTFILE_SPEC \
- "%{!r:gcc.ifile%s}\
- %{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}\
- huge.o%s"
-
- #else /* !USE_COLLECT2 */
-
- #undef STARTFILE_SPEC
- #define STARTFILE_SPEC \
- "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}\
- huge.o%s"
-
- #endif /* !USE_COLLECT2 */
-
-
- /*
- * we are using GAS
- */
- #undef EXTRA_SECTION_FUNCTIONS
- #undef EXTRA_SECTIONS
- /* Gas understands dollars in labels. */
- #undef NO_DOLLAR_IN_LABEL
- /* GAS does not understand .ident so don't output anything for #ident. */
- #undef ASM_OUTPUT_IDENT
-
- #undef ASM_LONG
- #define ASM_LONG "\t.long"
-
- /*
- * put const's in the text section
- */
- #define const_section() text_section()
- #define fini_section() while (0)
-
- #undef CTORS_SECTION_ASM_OP
- #define CTORS_SECTION_ASM_OP "\t.data"
- #undef DTORS_SECTION_ASM_OP
- #define DTORS_SECTION_ASM_OP "\t.data"
- #undef INIT_SECTION_ASM_OP
-
- /* end of dpx2g.h */
-