Annotation of gcc/config/newpbb.h, revision 1.1

1.1     ! root        1: /* Definitions of target machine for GNU compiler.
        !             2: 
        !             3:    Citicorp/TTI Unicom PBB version (using GAS with a %-register prefix)
        !             4: 
        !             5:    Copyright (C) 1987, 1988, 1990 Free Software Foundation, Inc.
        !             6: 
        !             7: This file is part of GNU CC.
        !             8: 
        !             9: GNU CC is free software; you can redistribute it and/or modify
        !            10: it under the terms of the GNU General Public License as published by
        !            11: the Free Software Foundation; either version 2, or (at your option)
        !            12: any later version.
        !            13: 
        !            14: GNU CC is distributed in the hope that it will be useful,
        !            15: but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            16: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            17: GNU General Public License for more details.
        !            18: 
        !            19: You should have received a copy of the GNU General Public License
        !            20: along with GNU CC; see the file COPYING.  If not, write to
        !            21: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
        !            22: 
        !            23: #include "m68k.h"
        !            24: 
        !            25: /* Without STRUCTURE_SIZE_BOUNDARY, we can't ensure that structures are
        !            26:    aligned such that we can correctly extract bitfields from them.
        !            27:    Someone should check whether the usual compiler on this machine
        !            28:    provides the equivalent behavior of STRUCTURE_SIZE_BOUNDARY.  */
        !            29: /* Alternative solutions are (1) define PCC_BITFIELD_TYPE_MATTERS,
        !            30:    if that fits what the usual compiler does,
        !            31:    or disable the -m68000 and -mnobitfield options.  */
        !            32: #error This doesn't define STRUCTURE_SIZE_BOUNDARY
        !            33: 
        !            34: /* See m68k.h.  5 means 68020 without 68881.  */
        !            35: 
        !            36: #define TARGET_DEFAULT 5
        !            37: 
        !            38: /* Define __HAVE_68881__ in preprocessor if -m68881 is specified.
        !            39:    This will control the use of inline 68881 insns in certain macros.  */
        !            40: 
        !            41: #define CPP_SPEC "%{m68881:-D__HAVE_68881__}"
        !            42: 
        !            43: /* Names to predefine in the preprocessor for this target machine.  */
        !            44: 
        !            45: #define CPP_PREDEFINES "-Dm68k -Dunix -DUnicomPBB -Dmc68k -Dmc68020 -Dmc68k32"
        !            46: 
        !            47: /* We want DBX format for use with gdb under COFF.  */
        !            48: 
        !            49: #define DBX_DEBUGGING_INFO
        !            50: 
        !            51: /* Generate calls to memcpy, memcmp and memset.  */
        !            52: 
        !            53: #define TARGET_MEM_FUNCTIONS
        !            54: 
        !            55: /* -m68000 requires special flags to the assembler.  
        !            56:    The -C flag is passed to a modified GNU assembler to cause COFF
        !            57:    modules to be produced.  Remove it if you're not using this.
        !            58:    (See [email protected] or [email protected])
        !            59:    - no longer using -C flag... build gas with coff as default! */
        !            60: 
        !            61: #define ASM_SPEC \
        !            62:  "   %{m68000:-mc68010}%{mc68000:-mc68010}"
        !            63: 
        !            64: /* we use /lib/libp/lib*  when profiling */
        !            65: 
        !            66: #define LIB_SPEC "%{!shlib:%{p:-L/lib/libp} %{pg:-L/lib/libp} -lc} \
        !            67:    %{shlib:-lc_s crtn.o%s }"
        !            68: 
        !            69: /* shared libraries need to use crt1.o  */
        !            70: 
        !            71: #ifdef USE_GPLUS_IFILE
        !            72: #define STARTFILE_SPEC \
        !            73:   "g++.ifile%s %{!shlib:%{pg:mcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}\
        !            74:    %{shlib:crt1.o%s } "
        !            75: #else
        !            76: #define STARTFILE_SPEC \
        !            77:   "%{!shlib:%{pg:mcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}\
        !            78:    %{shlib:crt1.o%s } "
        !            79: #endif
        !            80: 
        !            81: /* cpp has to support a #sccs directive for the /usr/include files */
        !            82: 
        !            83: #define SCCS_DIRECTIVE
        !            84: 
        !            85: /* GAS register prefix assembly syntax: */
        !            86: 
        !            87: /* User labels have no prefix */
        !            88: #undef  USER_LABEL_PREFIX 
        !            89: #define USER_LABEL_PREFIX ""
        !            90: 
        !            91: /* local labels are prefixed with ".L" */
        !            92: #undef  LOCAL_LABEL_PREFIX
        !            93: #define LOCAL_LABEL_PREFIX ".L"
        !            94: 
        !            95: /* registers are prefixed with "%" */
        !            96: #undef  REGISTER_PREFIX
        !            97: #define REGISTER_PREFIX "%"
        !            98: 
        !            99: #undef REGISTER_NAMES
        !           100: #define REGISTER_NAMES \
        !           101: {"%d0", "%d1", "%d2", "%d3", "%d4", "%d5", "%d6", "%d7",       \
        !           102:  "%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%a6", "%sp",       \
        !           103:  "%fp0", "%fp1", "%fp2", "%fp3", "%fp4", "%fp5", "%fp6", "%fp7", \
        !           104:  "%fpa0", "%fpa1", "%fpa2", "%fpa3", "%fpa4", "%fpa5", "%fpa6", "%fpa7", \
        !           105:  "%fpa8", "%fpa9", "%fpa10", "%fpa11", "%fpa12", "%fpa13", "%fpa14", "%fpa15",\
        !           106:  "%fpa16","%fpa17", "%fpa18", "%fpa19", "%fpa20", "%fpa21", "%fpa22","%fpa23",\
        !           107:  "%fpa24","%fpa25", "%fpa26", "%fpa27", "%fpa28", "%fpa29", "%fpa30","%fpa31",}
        !           108: 
        !           109: #undef FUNCTION_FINAL_EXTRA_EPILOGUE
        !           110: #define FUNCTION_FINAL_EXTRA_EPILOGUE(FILE, SIZE)                      \
        !           111:   { extern int current_function_returns_pointer;               \
        !           112:     if (current_function_returns_pointer)                      \
        !           113:       asm_fprintf (FILE, "\tmovl %Rd0,%Ra0\n"); } 
        !           114: 
        !           115: #define ASM_RETURN_CASE_JUMP   return "jmp %%pc@(2,%0:w)"
        !           116: 
        !           117: /* This is how to store into the string LABEL
        !           118:    the symbol_ref name of an internal numbered label where
        !           119:    PREFIX is the class of label and NUM is the number within the class.
        !           120:    This is suitable for output with `assemble_name'.  */
        !           121: 
        !           122: #undef ASM_GENERATE_INTERNAL_LABEL
        !           123: #define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM)                   \
        !           124:         sprintf (LABEL, "*.%s%d", PREFIX, NUM)
        !           125: 
        !           126: /* Describe how to output filenames for dbx.  */
        !           127: 
        !           128: /* These look awfully like the default definitions
        !           129:    --it's not clear whether these really need to be redefined here.  --rms.  */
        !           130: #define DBX_OUTPUT_MAIN_SOURCE_FILENAME(FILE, FILENAME)                \
        !           131:   fprintf (FILE, "\t.stabs \"%s\",%d,0,0,.Ltext\n.Ltext:\n",   \
        !           132:           FILENAME, N_SO)
        !           133: 
        !           134: #define DBX_OUTPUT_SOURCE_FILENAME(FILE, FILENAME)             \
        !           135:   fprintf (FILE, "\t.stabs \"%s\",%d,0,0,.Ltext\n",            \
        !           136:           FILENAME, N_SOL)
        !           137: 
        !           138: /* g++ stuff: */
        !           139: /* now obsolete, since we no longer need collect with a properly functioning
        !           140:    coff loader. */
        !           141: #define NO_UNDERSCORES
        !           142: #define ASM_INT_OP ".long "
        !           143: #define DBX_IN_COFF
        !           144: 
        !           145: /*
        !           146: Local variables:
        !           147: version-control: t
        !           148: End:
        !           149: */

unix.superglobalmegacorp.com

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