Annotation of gcc/config/mips/osfrose.h, revision 1.1.1.3

1.1       root        1: /* Definitions of target machine for GNU compiler.
                      2:    DECstation (OSF/1 reference port with OSF/rose) version.
                      3:    Copyright (C) 1991, 1992 Free Software Foundation, Inc.
                      4: 
                      5: This file is part of GNU CC.
                      6: 
                      7: GNU CC is free software; you can redistribute it and/or modify
                      8: it under the terms of the GNU General Public License as published by
                      9: the Free Software Foundation; either version 2, or (at your option)
                     10: any later version.
                     11: 
                     12: GNU CC is distributed in the hope that it will be useful,
                     13: but WITHOUT ANY WARRANTY; without even the implied warranty of
                     14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     15: GNU General Public License for more details.
                     16: 
                     17: You should have received a copy of the GNU General Public License
                     18: along with GNU CC; see the file COPYING.  If not, write to
                     19: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
                     20: 
                     21: #define DECSTATION
                     22: #define OSF_OS
                     23: 
                     24: #define HALF_PIC_DEBUG TARGET_DEBUG_B_MODE
                     25: #define HALF_PIC_PREFIX        "$Lp."
                     26: 
                     27: #include "halfpic.h"
                     28: 
                     29: #define WORD_SWITCH_TAKES_ARG(STR)                                     \
                     30:  (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) || !strcmp (STR, "pic-names"))
                     31: 
1.1.1.2   root       32: #define CPP_PREDEFINES "\
                     33: -DOSF -DOSF1 -Dbsd4_2 -DMIPSEL -Dhost_mips -Dmips -Dunix -DR3000 -DSYSTYPE_BSD \
                     34: -Asystem(unix) -Asystem(xpg4) -Acpu(mips) -Amachine(mips)"
1.1       root       35: 
1.1.1.3 ! root       36: #define ASM_SPEC "\
1.1       root       37: %{mmips-as: \
1.1.1.3 ! root       38:        %{!.s:-nocpp} %{.s: %{cpp} %{nocpp}} \
        !            39:        %{pipe: %e-pipe is not supported.} \
        !            40:        %{K}} \
        !            41: %{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{v} \
        !            42: %{noasmopt:-O0} \
        !            43: %{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}} \
        !            44: %{g} %{g0} %{g1} %{g2} %{g3} \
        !            45: %{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \
        !            46: %{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \
        !            47: %{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \
        !            48: %{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}"
1.1       root       49: 
                     50: #ifndef CROSS_COMPILE
                     51: #define ASM_FINAL_SPEC "\
                     52: %{mmips-as: %{!mno-mips-tfile: \
                     53:        \n mips-tfile %{v*: -v} %{d*} \
                     54:                        %{K: -I %b.o~} \
                     55:                        %{!K: %{save-temps: -I %b.o~}} \
                     56:                        %{c:%W{o*}%{!o*:-o %b.o}}%{!c:-o %U.o} \
                     57:                        %{.s:%i} %{!.s:%g.s}}}"
                     58: 
                     59: #else                          /* CROSS_COMPILE */
                     60: #define ASM_FINAL_SPEC "\
                     61: %{mmips-as: %{mmips-tfile: \
                     62:        \n mips-tfile %{v*: -v} %{d*} \
                     63:                        %{K: -I %b.o~} \
                     64:                        %{!K: %{save-temps: -I %b.o~}} \
                     65:                        %{c:%W{o*}%{!o*:-o %b.o}}%{!c:-o %U.o} \
                     66:                        %{.s:%i} %{!.s:%g.s}}}"
                     67: #endif
                     68: 
                     69: #define CPP_SPEC "\
                     70: %{.S:  %{!ansi:%{!traditional:%{!traditional-cpp:%{!ftraditional: -traditional}}}}} \
                     71: %{.S:  -D__LANGUAGE_ASSEMBLY__ -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY} \
                     72:        -ULANGUAGE_C -U__LANGUAGE_C__} \
1.1.1.2   root       73: %{.s:  %{!ansi:%{!traditional:%{!traditional-cpp:%{!ftraditional: -traditional}}}}} \
                     74: %{.s:  -D__LANGUAGE_ASSEMBLY__ -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY} \
                     75:        -ULANGUAGE_C -U__LANGUAGE_C__} \
1.1       root       76: %{.cc: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \
                     77: %{.cxx:        -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \
                     78: %{.C:  -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \
                     79: %{.m:  -D__LANGUAGE_OBJECTIVE_C__ -D__LANGUAGE_OBJECTIVE_C} \
1.1.1.3 ! root       80: %{!.S:%{!.s:   -D__LANGUAGE_C__  -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C}}} \
        !            81: %{mlong64:-D__PTRDIFF_TYPE__=long\\ int} \
        !            82: %{!mlong64:-D__PTRDIFF_TYPE__=int} \
        !            83: %{mips3:-U__mips -D__mips=3}"
1.1       root       84: 
1.1.1.3 ! root       85: /* ??? This assumes that GNU as is always used with GNU ld, and MIPS as is
        !            86:    always used with MIPS ld.  */
1.1       root       87: #define LINK_SPEC "\
1.1.1.3 ! root       88: %{G*} %{EL} %{EB} %{mips1} %{mips2} %{mips3} \
        !            89: %{bestGnum} \
1.1       root       90: %{!mmips-as: \
                     91:        %{v*: -v} \
                     92:        %{!noshrlib: %{pic-none: -noshrlib} %{!pic-none: -warn_nopic}} \
                     93:        %{nostdlib} %{noshrlib} %{glue}}"
                     94: 
                     95: #define LIB_SPEC "-lc"
                     96: 
                     97: /* Define this macro meaning that `gcc' should find the library
                     98:    `libgcc.a' by hand, rather than passing the argument `-lgcc' to
                     99:    tell the linker to do the search. */
                    100: 
                    101: #define LINK_LIBGCC_SPECIAL 1
                    102: 
                    103: #define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}"
                    104: 
                    105: #define MACHINE_TYPE "DECstation with OSF/rose objects"
                    106: 
                    107: #ifndef MD_EXEC_PREFIX
                    108: #define MD_EXEC_PREFIX         "/usr/ccs/gcc/"
                    109: #endif
                    110: 
                    111: #ifndef MD_STARTFILE_PREFIX
                    112: #define MD_STARTFILE_PREFIX    "/usr/ccs/lib/"
                    113: #endif
                    114: 
                    115: /* Turn on -mpic-extern by default.  */
                    116: #define CC1_SPEC "\
                    117: %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
1.1.1.3 ! root      118: %{mips1:-mfp32 -mgp32}%{mips2:-mfp32 -mgp32}%{mips3:-mfp64 -mgp64} \
1.1       root      119: %{G*} \
                    120: %{pic-none:   -mno-half-pic} \
                    121: %{pic-lib:    -mhalf-pic} \
                    122: %{pic-extern: -mhalf-pic} \
                    123: %{pic-calls:  -mhalf-pic} \
                    124: %{pic-names*: -mhalf-pic} \
                    125: %{!pic-*:     -mhalf-pic}"
                    126: 
1.1.1.3 ! root      127: /* Specify size_t and wchar_t types.  */
1.1       root      128: #define SIZE_TYPE      "long unsigned int"
                    129: #define WCHAR_TYPE     "unsigned int"
                    130: #define WCHAR_TYPE_SIZE BITS_PER_WORD
1.1.1.3 ! root      131: #define MAX_WCHAR_TYPE_SIZE MAX_LONG_TYPE_SIZE
1.1       root      132: 
                    133: /* OSF/1 uses gas, not the mips assembler.  */
                    134: #define TARGET_DEFAULT MASK_GAS
                    135: 
                    136: /* OSF/rose uses stabs, not ECOFF.  */
                    137: #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
                    138: 
                    139: /* enable dwarf debugging for testing */
                    140: #define DWARF_DEBUGGING_INFO
1.1.1.3 ! root      141: /* This is needed by dwarfout.c.  */
        !           142: #define SET_ASM_OP     ".set"
1.1       root      143: 
                    144: /* Tell collect that the object format is OSF/rose.  */
                    145: #define OBJECT_FORMAT_ROSE
                    146: 
                    147: /* Tell collect where the appropriate binaries are.  */
                    148: #define REAL_LD_FILE_NAME      "/usr/ccs/gcc/gld"
                    149: #define REAL_NM_FILE_NAME      "/usr/ccs/bin/nm"
                    150: #define REAL_STRIP_FILE_NAME   "/usr/ccs/bin/strip"
                    151: 
                    152: /* Default to -G 0 unless doing ecoff work.  */
                    153: #define MIPS_DEFAULT_GVALUE ((TARGET_MIPS_AS) ? 8 : 0)
                    154: 
                    155: /* Use atexit for static constructors/destructors, instead of defining
                    156:    our own exit function.  */
                    157: #define HAVE_ATEXIT
                    158: 
                    159: /* Generate calls to memcpy, etc., not bcopy, etc.  */
                    160: #define TARGET_MEM_FUNCTIONS
                    161: 
                    162: /* A C statement to output assembler commands which will identify
                    163:    the object file as having been compiled with GNU CC (or another
                    164:    GNU compiler).
                    165: 
                    166:    If you don't define this macro, the string `gcc2_compiled.:' is
                    167:    output.  This string is calculated to define a symbol which, on
                    168:    BSD systems, will never be defined for any other reason.  GDB
                    169:    checks for the presence of this symbol when reading the symbol
                    170:    table of an executable.
                    171: 
                    172:    On non-BSD systems, you must arrange communication with GDB in
                    173:    some other fashion.  If GDB is not used on your system, you can
                    174:    define this macro with an empty body.
                    175: 
                    176:    On OSF/1, gcc2_compiled. confuses the kernel debugger, so don't
                    177:    put it out.  */
                    178: 
                    179: #define ASM_IDENTIFY_GCC(STREAM)
                    180: 
                    181: /* Identify the front-end which produced this file.  To keep symbol
                    182:    space down, and not confuse kdb, only do this if the language is
                    183:    not C.  */
                    184: 
                    185: #define ASM_IDENTIFY_LANGUAGE(STREAM)                                  \
                    186: {                                                                      \
                    187:   if (strcmp (lang_identify (), "c") != 0)                             \
                    188:     output_lang_identify (STREAM);                                     \
                    189: }
                    190: 
                    191: #include "mips/mips.h"

unix.superglobalmegacorp.com

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