Annotation of gcc/config/newpbb.h, revision 1.1.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.