Annotation of gcc/config/tm-sun3.h, revision 1.1

1.1     ! root        1: /* Definitions of target machine for GNU compiler.  Sun 68000/68020 version.
        !             2:    Copyright (C) 1987, 1988 Free Software Foundation, Inc.
        !             3: 
        !             4: This file is part of GNU CC.
        !             5: 
        !             6: GNU CC is free software; you can redistribute it and/or modify
        !             7: it under the terms of the GNU General Public License as published by
        !             8: the Free Software Foundation; either version 1, or (at your option)
        !             9: any later version.
        !            10: 
        !            11: GNU CC is distributed in the hope that it will be useful,
        !            12: but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            14: GNU General Public License for more details.
        !            15: 
        !            16: You should have received a copy of the GNU General Public License
        !            17: along with GNU CC; see the file COPYING.  If not, write to
        !            18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
        !            19: 
        !            20: /* This comment is here to see if it will keep Sun's cpp from dying.  */
        !            21: 
        !            22: #include "tm-m68k.h"
        !            23: 
        !            24: /* See tm-m68k.h.  7 means 68020 with 68881.  */
        !            25: 
        !            26: #ifndef TARGET_DEFAULT
        !            27: #define TARGET_DEFAULT 7
        !            28: #endif
        !            29: 
        !            30: /* Define __HAVE_FPA__ or __HAVE_68881__ in preprocessor,
        !            31:    according to the -m flags.
        !            32:    This will control the use of inline 68881 insns in certain macros.
        !            33:    Also inform the program which CPU this is for.  */
        !            34: 
        !            35: #if TARGET_DEFAULT & 02
        !            36: 
        !            37: /* -m68881 is the default */
        !            38: #define CPP_SPEC \
        !            39: "%{!msoft-float:%{mfpa:-D__HAVE_FPA__ }%{!mfpa:-D__HAVE_68881__ }}\
        !            40: %{!ansi:%{m68000:-Dmc68010}%{mc68000:-Dmc68010}%{!mc68000:%{!m68000:-Dmc68020}}}"
        !            41: 
        !            42: #else
        !            43: #if TARGET_DEFAULT & 0100
        !            44: 
        !            45: /* -mfpa is the default */
        !            46: #define CPP_SPEC \
        !            47: "%{!msoft-float:%{m68881:-D__HAVE_68881__ }%{!m68881:-D__HAVE_FPA__ }}\
        !            48: %{!ansi:%{m68000:-Dmc68010}%{mc68000:-Dmc68010}%{!mc68000:%{!m68000:-Dmc68020}}}"
        !            49: 
        !            50: #else
        !            51: 
        !            52: /* -msoft-float is the default */
        !            53: #define CPP_SPEC \
        !            54: "%{m68881:-D__HAVE_68881__ }%{mfpa:-D__HAVE_FPA__ }\
        !            55: %{!ansi:%{m68000:-Dmc68010}%{mc68000:-Dmc68010}%{!mc68000:%{!m68000:-Dmc68020}}}"
        !            56: 
        !            57: #endif
        !            58: #endif
        !            59: 
        !            60: /* Prevent error on `-sun3' option.  */
        !            61: 
        !            62: #define CC1_SPEC "%{sun3:}"
        !            63: 
        !            64: /* -m68000 requires special flags to the assembler.  */
        !            65: 
        !            66: #define ASM_SPEC \
        !            67:  "%{m68000:-mc68010}%{mc68000:-mc68010}%{!mc68000:%{!m68000:-mc68020}}"
        !            68: 
        !            69: /* Names to predefine in the preprocessor for this target machine.  */
        !            70: 
        !            71: #define CPP_PREDEFINES "-Dmc68000 -Dsun -Dunix"
        !            72: 
        !            73: /* STARTFILE_SPEC to include sun floating point initialization
        !            74:    This is necessary (tr: Sun does it) for both the m68881 and the fpa
        !            75:    routines.
        !            76:    Note that includes knowledge of the default specs for gcc, ie. no
        !            77:    args translates to the same effect as -m68881
        !            78:    I'm not sure what would happen below if people gave contradictory
        !            79:    arguments (eg. -msoft-float -mfpa) */
        !            80: 
        !            81: #if TARGET_DEFAULT & 0100
        !            82: /* -mfpa is the default */
        !            83: #define STARTFILE_SPEC                                 \
        !            84:   "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}  \
        !            85:    %{m68881:Mcrt1.o%s}                                 \
        !            86:    %{msoft-float:Fcrt1.o%s}                            \
        !            87:    %{!m68881:%{!msoft-float:Wcrt1.o%s}}"
        !            88: #else
        !            89: #if TARGET_DEFAULT & 2
        !            90: /* -m68881 is the default */
        !            91: #define STARTFILE_SPEC                                 \
        !            92:   "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}  \
        !            93:    %{mfpa:Wcrt1.o%s}                                   \
        !            94:    %{msoft-float:Fcrt1.o%s}                            \
        !            95:    %{!mfpa:%{!msoft-float:Mcrt1.o%s}}"
        !            96: #else
        !            97: /* -msoft-float is the default */
        !            98: #define STARTFILE_SPEC                                 \
        !            99:   "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}  \
        !           100:    %{m68881:Mcrt1.o%s}                                 \
        !           101:    %{mfpa:Wcrt1.o%s}                                   \
        !           102:    %{!m68881:%{!mfpa:Fcrt1.o%s}}"
        !           103: #endif
        !           104: #endif
        !           105: 
        !           106: /* Specify library to handle `-a' basic block profiling.  */
        !           107: 
        !           108: #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} \
        !           109: %{a:/usr/lib/bb_link.o} "
        !           110: 
        !           111: /* Provide required defaults for linker -e and -d switches.
        !           112:    Also, it is hard to debug with shared libraries,
        !           113:    so don't use them if going to debug.  */
        !           114: 
        !           115: #define LINK_SPEC "%{!e*:-e start} -dc -dp %{g:-Bstatic} %{static:-Bstatic} %{-Bstatic}"
        !           116: 
        !           117: /* Every structure or union's size must be a multiple of 2 bytes.  */
        !           118: 
        !           119: #define STRUCTURE_SIZE_BOUNDARY 16
        !           120: 
        !           121: /* This is BSD, so it wants DBX format.  */
        !           122: 
        !           123: #define DBX_DEBUGGING_INFO
        !           124: 
        !           125: /* This is how to output an assembler line defining a `double' constant.  */
        !           126: 
        !           127: #undef ASM_OUTPUT_DOUBLE
        !           128: #define ASM_OUTPUT_DOUBLE(FILE,VALUE)                                  \
        !           129:   (isinf ((VALUE))                                                     \
        !           130:    ? fprintf (FILE, "\t.double 0r%s99e999\n", ((VALUE) > 0 ? "" : "-")) \
        !           131:    : fprintf (FILE, "\t.double 0r%.20e\n", (VALUE)))
        !           132: 
        !           133: /* This is how to output an assembler line defining a `float' constant.  */
        !           134: 
        !           135: #undef ASM_OUTPUT_FLOAT
        !           136: #define ASM_OUTPUT_FLOAT(FILE,VALUE)                                   \
        !           137:   (isinf ((VALUE))                                                     \
        !           138:    ? fprintf (FILE, "\t.single 0r%s99e999\n", ((VALUE) > 0 ? "" : "-")) \
        !           139:    : fprintf (FILE, "\t.single 0r%.20e\n", (VALUE)))
        !           140: 
        !           141: #undef ASM_OUTPUT_FLOAT_OPERAND
        !           142: #define ASM_OUTPUT_FLOAT_OPERAND(FILE,VALUE)                           \
        !           143:   (isinf ((VALUE))                                                     \
        !           144:    ? fprintf (FILE, "#0r%s99e999", ((VALUE) > 0 ? "" : "-")) \
        !           145:    : fprintf (FILE, "#0r%.9g", (VALUE)))
        !           146: 
        !           147: #undef ASM_OUTPUT_DOUBLE_OPERAND
        !           148: #define ASM_OUTPUT_DOUBLE_OPERAND(FILE,VALUE)                          \
        !           149:   (isinf ((VALUE))                                                     \
        !           150:    ? fprintf (FILE, "#0r%s99e999", ((VALUE) > 0 ? "" : "-")) \
        !           151:    : fprintf (FILE, "#0r%.20g", (VALUE)))

unix.superglobalmegacorp.com

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