|
|
1.1 root 1: /*
2: * dpx2g.h - Bull DPX/2 200 and 300 systems (m68k, SysVr3) with gas
3: */
4:
5: #define USE_GAS
6: #include "m68k/dpx2.h"
7:
1.1.1.3 ! root 8: #if 0 /* #ifndef USE_COLLECT2 */
! 9:
1.1 root 10: /* We use set vectors for the constructors/destructors. */
11:
12: #undef ASM_OUTPUT_CONSTRUCTOR
13: #undef ASM_OUTPUT_DESTRUCTOR
14:
15: /* Although the gas we use can create .ctor and .dtor sections from N_SETT
16: stabs, it does not support section directives, so we need to have the loader
17: define the lists.
18: */
19: #define CTOR_LISTS_DEFINED_EXTERNALLY
20:
21: /* similar to default, but allows for the table defined by ld with gcc.ifile.
22: nptrs is always 0. So we need to instead check that __DTOR_LIST__[1] != 0.
23: The old check is left in so that the same macro can be used if and when
24: a future version of gas does support section directives. */
25:
26: #define DO_GLOBAL_DTORS_BODY {int nptrs = *(int *)__DTOR_LIST__; int i; \
27: if (nptrs == -1 || (__DTOR_LIST__[0] == 0 && __DTOR_LIST__[1] != 0)) \
28: for (nptrs = 0; __DTOR_LIST__[nptrs + 1] != 0; nptrs++); \
29: for (i = nptrs; i >= 1; i--) \
30: __DTOR_LIST__[i] (); }
31:
32: #undef STARTFILE_SPEC
33: #define STARTFILE_SPEC \
34: "%{!r:gcc.ifile%s}\
35: %{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}\
36: huge.o%s"
37:
1.1.1.3 ! root 38: #endif /* !USE_COLLECT2 */
1.1 root 39:
40: #undef STARTFILE_SPEC
41: #define STARTFILE_SPEC \
42: "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}\
43: huge.o%s"
44:
45:
46: /*
47: * we are using GAS
48: */
49: #undef EXTRA_SECTION_FUNCTIONS
50: #undef EXTRA_SECTIONS
51: /* Gas understands dollars in labels. */
52: #undef NO_DOLLAR_IN_LABEL
53: /* GAS does not understand .ident so don't output anything for #ident. */
54: #undef ASM_OUTPUT_IDENT
55:
1.1.1.2 root 56: #undef ASM_LONG
57: #define ASM_LONG "\t.long"
58:
1.1 root 59: /*
60: * put const's in the text section
61: */
62: #define const_section() text_section()
63: #define fini_section() while (0)
64:
65: #undef CTORS_SECTION_ASM_OP
66: #define CTORS_SECTION_ASM_OP "\t.data"
67: #undef DTORS_SECTION_ASM_OP
68: #define DTORS_SECTION_ASM_OP "\t.data"
69: #undef INIT_SECTION_ASM_OP
70:
71: /* end of dpx2g.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.