|
|
1.1 ! root 1: /* Definitions of target machine for GNU compiler. ! 2: Motorola m88100 running DG/UX. ! 3: Copyright (C) 1988, 1989, 1990, 1991 Free Software Foundation, Inc. ! 4: Contributed by Michael Tiemann ([email protected]) ! 5: Enhanced by Michael Meissner ([email protected]) ! 6: Currently supported by Tom Wood ([email protected]) ! 7: ! 8: This file is part of GNU CC. ! 9: ! 10: GNU CC is free software; you can redistribute it and/or modify ! 11: it under the terms of the GNU General Public License as published by ! 12: the Free Software Foundation; either version 2, or (at your option) ! 13: any later version. ! 14: ! 15: GNU CC is distributed in the hope that it will be useful, ! 16: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 17: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 18: GNU General Public License for more details. ! 19: ! 20: You should have received a copy of the GNU General Public License ! 21: along with GNU CC; see the file COPYING. If not, write to ! 22: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 23: ! 24: /* You're not seeing double! To transition to dwarf debugging, both are ! 25: supported. The option -msvr4 and -mversion-03.00 specify (for DG/UX) ! 26: `real' elf. With these combinations, -g means dwarf. */ ! 27: /* DWARF_DEBUGGING_INFO defined in svr4.h. */ ! 28: #define SDB_DEBUGGING_INFO ! 29: #define PREFERRED_DEBUGGING_TYPE \ ! 30: (VERSION_0300_SYNTAX ? DWARF_DEBUG : SDB_DEBUG) ! 31: ! 32: #ifndef NO_BUGS ! 33: #define AS_BUG_IMMEDIATE_LABEL ! 34: #endif ! 35: ! 36: #include "svr4.h" ! 37: #include "m88k.h" ! 38: ! 39: /* Augment TARGET_SWITCHES with the MXDB options. */ ! 40: #define MASK_STANDARD 0x40000000 /* Retain standard information */ ! 41: #define MASK_LEGEND 0x20000000 /* Retain legend information */ ! 42: #define MASK_EXTERNAL_LEGEND 0x10000000 /* Make external legends */ ! 43: ! 44: #define TARGET_STANDARD (target_flags & MASK_STANDARD) ! 45: #define TARGET_LEGEND (target_flags & MASK_LEGEND) ! 46: #define TARGET_EXTERNAL_LEGEND (target_flags & MASK_EXTERNAL_LEGEND) ! 47: ! 48: #undef SUBTARGET_SWITCHES ! 49: #define SUBTARGET_SWITCHES \ ! 50: { "standard", MASK_STANDARD }, \ ! 51: { "legend", MASK_LEGEND }, \ ! 52: { "external-legend", MASK_EXTERNAL_LEGEND }, \ ! 53: /* the following is used only in the *_SPEC's */ \ ! 54: { "keep-coff", 0 }, ! 55: ! 56: /* Default switches */ ! 57: #undef TARGET_DEFAULT ! 58: #define TARGET_DEFAULT (MASK_CHECK_ZERO_DIV | \ ! 59: MASK_OCS_DEBUG_INFO | \ ! 60: MASK_OCS_FRAME_POSITION) ! 61: ! 62: /* Macros to be automatically defined. __svr4__ is our extension. ! 63: __CLASSIFY_TYPE__ is used in the <varargs.h> and <stdarg.h> header ! 64: files with DG/UX revision 5.40 and later. This allows GNU CC to ! 65: operate without installing the header files. */ ! 66: ! 67: #undef CPP_PREDEFINES ! 68: #define CPP_PREDEFINES "-Dm88000 -Dm88k -Dunix -DDGUX -D__CLASSIFY_TYPE__=2\ ! 69: -D__svr4__ -Asystem(unix) -Acpu(m88k) -Amachine(m88k)" ! 70: ! 71: /* If not -ansi, -traditional, or restricting include files to one ! 72: specific source target, specify full DG/UX features. */ ! 73: #undef CPP_SPEC ! 74: #define CPP_SPEC "%{!ansi:%{!traditional:-D__OPEN_NAMESPACE__}}" ! 75: ! 76: /* Assembler support (-V, silicon filter, legends for mxdb). */ ! 77: #undef ASM_SPEC ! 78: #define ASM_SPEC "\ ! 79: %{V} %{v:%{!V:-V}} %{pipe: - %{msvr4:%{mversion-03.00:-KV3}}}\ ! 80: %{!mlegend:%{mstandard:-Wc,off}}\ ! 81: %{mlegend:-Wc,-fix-bb,-h\"gcc-1.96.5\",-s\"%i\"\ ! 82: %{traditional:,-lc}%{!traditional:,-lansi-c}\ ! 83: %{mstandard:,-keep-std}\ ! 84: %{mkeep-coff:,-keep-coff}\ ! 85: %{mexternal-legend:,-external}\ ! 86: %{mocs-frame-position:,-ocs}}" ! 87: ! 88: /* Override svr4.h. */ ! 89: #undef ASM_FINAL_SPEC ! 90: #undef STARTFILE_SPEC ! 91: ! 92: /* Linker and library spec's. ! 93: -static, -shared, -symbolic, -h* and -z* access AT&T V.4 link options. ! 94: -svr4 instructs gcc to place /usr/lib/values-X[cat].o on link the line. ! 95: When the -G link option is used (-shared and -symbolic) a final link is ! 96: not being done. */ ! 97: #undef LIB_SPEC ! 98: #define LIB_SPEC "%{!shared:%{!symbolic:-lc}}" ! 99: #undef LINK_SPEC ! 100: #define LINK_SPEC "%{z*} %{h*} %{V} %{v:%{!V:-V}} \ ! 101: %{static:-dn -Bstatic} \ ! 102: %{shared:-G -dy} \ ! 103: %{symbolic:-Bsymbolic -G -dy} \ ! 104: %{pg:-L/usr/lib/libp}%{p:-L/usr/lib/libp}" ! 105: #undef STARTFILE_SPEC ! 106: #define STARTFILE_SPEC "%{!shared:%{!symbolic:%{pg:gcrt0.o%s} \ ! 107: %{!pg:%{p:/lib/mcrt0.o}%{!p:/lib/crt0.o}} \ ! 108: %{svr4:%{ansi:/lib/values-Xc.o} \ ! 109: %{!ansi:%{traditional:/lib/values-Xt.o} \ ! 110: %{!traditional:/usr/lib/values-Xa.o}}}}}" ! 111: ! 112: #undef GPLUSPLUS_INCLUDE_DIR ! 113: #define GPLUSPLUS_INCLUDE_DIR "/usr/opt/g++/lib/g++-include" ! 114: ! 115: /* Fast DG/UX version of profiler that does not require lots of ! 116: registers to be stored. */ ! 117: #undef FUNCTION_PROFILER ! 118: #define FUNCTION_PROFILER(FILE, LABELNO) \ ! 119: output_function_profiler (FILE, LABELNO, "gcc.mcount", 0) ! 120: ! 121: /* DGUX V.4 isn't quite ELF--yet. */ ! 122: #undef VERSION_0300_SYNTAX ! 123: #define VERSION_0300_SYNTAX (TARGET_SVR4 && TARGET_VERSION_0300) ! 124: ! 125: /* Output the legend info for mxdb when debugging except if standard ! 126: debugging information only is explicitly requested. */ ! 127: #undef ASM_FIRST_LINE ! 128: #define ASM_FIRST_LINE(FILE) \ ! 129: do { \ ! 130: if (VERSION_0300_SYNTAX) \ ! 131: fprintf (FILE, "%s\t \"03.00\"\n", VERSION_ASM_OP); \ ! 132: if (write_symbols != NO_DEBUG \ ! 133: && ! (TARGET_STANDARD && ! TARGET_LEGEND)) \ ! 134: { \ ! 135: fprintf (FILE, ";legend_info -fix-bb -h\"gcc-%s\" -s\"%s\"", \ ! 136: VERSION_STRING, main_input_filename); \ ! 137: fputs (flag_traditional ? " -lc" : " -lansi-c", FILE); \ ! 138: if (TARGET_STANDARD) \ ! 139: fputs (" -keep-std", FILE); \ ! 140: if (TARGET_EXTERNAL_LEGEND) \ ! 141: fputs (" -external", FILE); \ ! 142: if (TARGET_OCS_FRAME_POSITION) \ ! 143: fputs (" -ocs", FILE); \ ! 144: fputc ('\n', FILE); \ ! 145: } \ ! 146: } while (0) ! 147: ! 148: /* Override svr4.h. */ ! 149: #undef PTRDIFF_TYPE ! 150: #undef WCHAR_TYPE ! 151: #undef WCHAR_TYPE_SIZE ! 152: ! 153: /* Override svr4.h and m88k.h except when compling crtstuff.c. */ ! 154: #if !defined (CRT_BEGIN) && !defined (CRT_END) ! 155: #if 0 /* The SVR4 init method doesn't yet work. */ ! 156: #undef INIT_SECTION_ASM_OP ! 157: #define INIT_SECTION_ASM_OP (VERSION_0300_SYNTAX \ ! 158: ? "\tsection\t .init,\"xa\"\n" \ ! 159: : "\tsection\t .init,\"x\"\n") ! 160: #endif ! 161: #undef CTORS_SECTION_ASM_OP ! 162: #define CTORS_SECTION_ASM_OP (VERSION_0300_SYNTAX \ ! 163: ? "\tsection\t .ctors,\"aw\"\n" \ ! 164: : "\tsection\t .ctors,\"d\"\n") ! 165: #undef DTORS_SECTION_ASM_OP ! 166: #define DTORS_SECTION_ASM_OP (VERSION_0300_SYNTAX \ ! 167: ? "\tsection\t .dtors,\"aw\"\n" \ ! 168: : "\tsection\t .dtors,\"d\"\n") ! 169: #endif /* crtstuff.c */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.