Annotation of gcc/config/m88kdgux.h, revision 1.1.1.3

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 \
1.1.1.3 ! root       30:   (GET_VERSION_0300_SYNTAX ? DWARF_DEBUG : SDB_DEBUG)
1.1       root       31: 
                     32: #ifndef NO_BUGS
                     33: #define AS_BUG_IMMEDIATE_LABEL
1.1.1.3 ! root       34: /* The DG/UX 4.30 assembler doesn't accept the symbol `fcr63'.  */
        !            35: #define AS_BUG_FLDCR
1.1       root       36: #endif
                     37: 
                     38: #include "svr4.h"
                     39: #include "m88k.h"
                     40: 
                     41: /* Augment TARGET_SWITCHES with the MXDB options.  */
                     42: #define MASK_STANDARD          0x40000000 /* Retain standard information */
                     43: #define MASK_LEGEND            0x20000000 /* Retain legend information */
                     44: #define MASK_EXTERNAL_LEGEND   0x10000000 /* Make external legends */
                     45: 
                     46: #define TARGET_STANDARD                  (target_flags & MASK_STANDARD)
                     47: #define TARGET_LEGEND            (target_flags & MASK_LEGEND)
                     48: #define TARGET_EXTERNAL_LEGEND   (target_flags & MASK_EXTERNAL_LEGEND)
                     49: 
                     50: #undef  SUBTARGET_SWITCHES
                     51: #define SUBTARGET_SWITCHES \
                     52:     { "standard",                       MASK_STANDARD }, \
                     53:     { "legend",                                 MASK_LEGEND }, \
                     54:     { "external-legend",                MASK_EXTERNAL_LEGEND }, \
                     55:     /* the following is used only in the *_SPEC's */ \
                     56:     { "keep-coff",                      0 },
                     57: 
                     58: /* Default switches */
                     59: #undef TARGET_DEFAULT
                     60: #define TARGET_DEFAULT (MASK_CHECK_ZERO_DIV     | \
                     61:                         MASK_OCS_DEBUG_INFO     | \
                     62:                         MASK_OCS_FRAME_POSITION)
1.1.1.3 ! root       63: #undef CPU_DEFAULT
        !            64: #define CPU_DEFAULT MASK_88000
1.1       root       65: 
                     66: /* Macros to be automatically defined.  __svr4__ is our extension.
                     67:    __CLASSIFY_TYPE__ is used in the <varargs.h> and <stdarg.h> header
                     68:    files with DG/UX revision 5.40 and later.  This allows GNU CC to
                     69:    operate without installing the header files.  */
                     70: 
                     71: #undef CPP_PREDEFINES
                     72: #define CPP_PREDEFINES "-Dm88000 -Dm88k -Dunix -DDGUX -D__CLASSIFY_TYPE__=2\
                     73:    -D__svr4__ -Asystem(unix) -Acpu(m88k) -Amachine(m88k)"
                     74: 
1.1.1.3 ! root       75: /* If -m88100 is in effect, add -Dm88100; similarly for -m88110.
        !            76:    Here, the CPU_DEFAULT is assumed to be -m88000.  If not -ansi,
        !            77:    -traditional, or restricting include files to one specific source
        !            78:    target, specify full DG/UX features.  */
1.1       root       79: #undef CPP_SPEC
1.1.1.3 ! root       80: #define        CPP_SPEC "%{!m88000:%{!m88100:%{m88110:-D__m88110__}}} \
        !            81:                  %{!m88000:%{!m88110:%{m88100:-D__m88100__}}} \
        !            82:                  %{!ansi:%{!traditional:-D__OPEN_NAMESPACE__}}"
1.1       root       83: 
                     84: /* Assembler support (-V, silicon filter, legends for mxdb).  */
                     85: #undef ASM_SPEC
                     86: #define ASM_SPEC "\
                     87: %{V} %{v:%{!V:-V}} %{pipe: - %{msvr4:%{mversion-03.00:-KV3}}}\
                     88: %{!mlegend:%{mstandard:-Wc,off}}\
1.1.1.3 ! root       89: %{mlegend:-Wc,-fix-bb,-h\"gcc-2.2.14\",-s\"%i\"\
1.1       root       90: %{traditional:,-lc}%{!traditional:,-lansi-c}\
                     91: %{mstandard:,-keep-std}\
                     92: %{mkeep-coff:,-keep-coff}\
                     93: %{mexternal-legend:,-external}\
                     94: %{mocs-frame-position:,-ocs}}"
                     95: 
                     96: /* Override svr4.h.  */
                     97: #undef ASM_FINAL_SPEC
                     98: #undef STARTFILE_SPEC
                     99: 
                    100: /* Linker and library spec's.
                    101:    -static, -shared, -symbolic, -h* and -z* access AT&T V.4 link options.
                    102:    -svr4 instructs gcc to place /usr/lib/values-X[cat].o on link the line.
                    103:    When the -G link option is used (-shared and -symbolic) a final link is
                    104:    not being done.  */
                    105: #undef LIB_SPEC
                    106: #define LIB_SPEC "%{!shared:%{!symbolic:-lc}}"
                    107: #undef LINK_SPEC
                    108: #define LINK_SPEC "%{z*} %{h*} %{V} %{v:%{!V:-V}} \
                    109:                   %{static:-dn -Bstatic} \
                    110:                   %{shared:-G -dy} \
                    111:                   %{symbolic:-Bsymbolic -G -dy} \
                    112:                   %{pg:-L/usr/lib/libp}%{p:-L/usr/lib/libp}"
                    113: #undef STARTFILE_SPEC
                    114: #define STARTFILE_SPEC "%{!shared:%{!symbolic:%{pg:gcrt0.o%s} \
                    115:                         %{!pg:%{p:/lib/mcrt0.o}%{!p:/lib/crt0.o}} \
                    116:                         %{svr4:%{ansi:/lib/values-Xc.o} \
                    117:                          %{!ansi:%{traditional:/lib/values-Xt.o} \
                    118:                           %{!traditional:/usr/lib/values-Xa.o}}}}}"
                    119: 
                    120: #undef GPLUSPLUS_INCLUDE_DIR
                    121: #define GPLUSPLUS_INCLUDE_DIR "/usr/opt/g++/lib/g++-include"
                    122: 
                    123: /* Fast DG/UX version of profiler that does not require lots of
                    124:    registers to be stored.  */
                    125: #undef FUNCTION_PROFILER
                    126: #define FUNCTION_PROFILER(FILE, LABELNO) \
                    127:   output_function_profiler (FILE, LABELNO, "gcc.mcount", 0)
                    128: 
                    129: /* DGUX V.4 isn't quite ELF--yet.  */
                    130: #undef  VERSION_0300_SYNTAX
1.1.1.3 ! root      131: #define VERSION_0300_SYNTAX (TARGET_SVR4 && m88k_version_0300)
        !           132: 
        !           133: /* Same, but used before OVERRIDE_OPTIONS has been processed.  */
        !           134: #define GET_VERSION_0300_SYNTAX \
        !           135:   (TARGET_SVR4 && m88k_version != 0 && strcmp (m88k_version, "03.00") >= 0)
1.1       root      136: 
                    137: /* Output the legend info for mxdb when debugging except if standard
                    138:    debugging information only is explicitly requested.  */
                    139: #undef  ASM_FIRST_LINE
                    140: #define ASM_FIRST_LINE(FILE)                                           \
                    141:   do {                                                                 \
                    142:     if (VERSION_0300_SYNTAX)                                           \
1.1.1.2   root      143:       fprintf (FILE, "\t%s\t \"03.00\"\n", VERSION_ASM_OP);            \
1.1       root      144:     if (write_symbols != NO_DEBUG                                      \
                    145:        && ! (TARGET_STANDARD && ! TARGET_LEGEND))                      \
                    146:       {                                                                        \
                    147:        fprintf (FILE, ";legend_info -fix-bb -h\"gcc-%s\" -s\"%s\"",    \
                    148:                 VERSION_STRING, main_input_filename);                  \
                    149:        fputs (flag_traditional ? " -lc" : " -lansi-c", FILE);          \
                    150:        if (TARGET_STANDARD)                                            \
                    151:          fputs (" -keep-std", FILE);                                   \
                    152:        if (TARGET_EXTERNAL_LEGEND)                                     \
                    153:          fputs (" -external", FILE);                                   \
                    154:        if (TARGET_OCS_FRAME_POSITION)                                  \
                    155:          fputs (" -ocs", FILE);                                        \
                    156:        fputc ('\n', FILE);                                             \
                    157:       }                                                                        \
                    158:   } while (0)
                    159: 
                    160: /* Override svr4.h.  */
                    161: #undef PTRDIFF_TYPE
                    162: #undef WCHAR_TYPE
                    163: #undef WCHAR_TYPE_SIZE
                    164: 
1.1.1.2   root      165: /* Override svr4.h and m88k.h except when compiling crtstuff.c.  */
1.1       root      166: #if !defined (CRT_BEGIN) && !defined (CRT_END)
                    167: #if 0 /* The SVR4 init method doesn't yet work.  */
                    168: #undef INIT_SECTION_ASM_OP
                    169: #define INIT_SECTION_ASM_OP (VERSION_0300_SYNTAX               \
1.1.1.2   root      170:                             ? "section\t .init,\"xa\"" \
                    171:                             : "section\t .init,\"x\"")
1.1       root      172: #endif
                    173: #undef CTORS_SECTION_ASM_OP
                    174: #define CTORS_SECTION_ASM_OP (VERSION_0300_SYNTAX              \
1.1.1.2   root      175:                              ? "section\t .ctors,\"aw\""       \
                    176:                              : "section\t .ctors,\"d\"")
1.1       root      177: #undef DTORS_SECTION_ASM_OP
                    178: #define DTORS_SECTION_ASM_OP (VERSION_0300_SYNTAX              \
1.1.1.2   root      179:                              ? "section\t .dtors,\"aw\""       \
                    180:                              : "section\t .dtors,\"d\"")
1.1       root      181: #endif /* crtstuff.c */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.