diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1995-12-20 01:06:22 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1995-12-20 01:06:22 +0000 |
commit | c482518380683ee38d14024c1e362a0d681cf967 (patch) | |
tree | e69b4f6d3fee3aced20a41f3fdf543fc1c77fb5d /gnu/usr.bin/gcc/config/m68k/dpx2g.h | |
parent | 76a62188d0db49c65b696d474c855a799fd96dce (diff) |
FSF GCC version 2.7.2
Diffstat (limited to 'gnu/usr.bin/gcc/config/m68k/dpx2g.h')
-rw-r--r-- | gnu/usr.bin/gcc/config/m68k/dpx2g.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/gnu/usr.bin/gcc/config/m68k/dpx2g.h b/gnu/usr.bin/gcc/config/m68k/dpx2g.h new file mode 100644 index 00000000000..ea5cd13d099 --- /dev/null +++ b/gnu/usr.bin/gcc/config/m68k/dpx2g.h @@ -0,0 +1,71 @@ +/* + * dpx2g.h - Bull DPX/2 200 and 300 systems (m68k, SysVr3) with gas + */ + +#define USE_GAS +#include "m68k/dpx2.h" + +#if 0 /* #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" + +#endif /* !USE_COLLECT2 */ + +#undef STARTFILE_SPEC +#define STARTFILE_SPEC \ + "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}\ + huge.o%s" + + +/* + * 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 */ |