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

1.1     ! root        1: /* Definitions of target machine for GNU compiler.  
        !             2:    Encore Multimax (OSF/1 with OSF/rose) version.
        !             3:    Copyright (C) 1991 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: /* Output a '?' so the encore assembler won't complain about
        !            22:  * externals on branches it hasn't seen yet. */
        !            23: 
        !            24: #define EXTERNAL_PREFIX '?'
        !            25: 
        !            26: #include "encore.h"
        !            27: 
        !            28: /* External variables defined in ns32k.c */
        !            29: 
        !            30: extern int ns32k_num_files;
        !            31: 
        !            32: 
        !            33: #define OSF_OS
        !            34: #define NO_J_SWITCH
        !            35: 
        !            36: /* MACHINE MACROS controlling the compilation driver, 'gcc' */
        !            37: 
        !            38: #ifdef  CPP_SPEC  
        !            39: #undef  CPP_SPEC
        !            40: #endif
        !            41: #define CPP_SPEC       "%{.S:  -D__LANGUAGE_ASSEMBLY__                 \
        !            42:                                -D_LANGUAGE_ASSEMBLY                    \
        !            43:                                %{!ansi:-DLANGUAGE_ASSEMBLY}}           \
        !            44:                         %{!.S: -D__LANGUAGE_C__                        \
        !            45:                                -D_LANGUAGE_C                           \
        !            46:                                %{!ansi:-DLANGUAGE_C}}"
        !            47: 
        !            48: #ifdef  CC1_SPEC
        !            49: #undef  CC1_SPEC
        !            50: #endif
        !            51: #define CC1_SPEC       ""
        !            52: 
        !            53: #ifndef NO_J_SWITCH
        !            54: #ifdef  ASM_SPEC
        !            55: #undef  ASM_SPEC
        !            56: #endif
        !            57: #define ASM_SPEC       "%{!j: -j}"
        !            58: #endif
        !            59: 
        !            60: #ifdef NO_J_SWITCH
        !            61: #ifdef ASM_SPEC
        !            62: #undef ASM_SPEC
        !            63: #endif
        !            64: #define ASM_SPEC       ""
        !            65: #endif
        !            66: 
        !            67: #ifdef  LINK_SPEC
        !            68: #undef  LINK_SPEC
        !            69: #endif
        !            70: #define LINK_SPEC      "%{nostdlib}"
        !            71: 
        !            72: #ifdef  LIB_SPEC
        !            73: #undef  LIB_SPEC
        !            74: #endif
        !            75: #define LIB_SPEC       "%{p:-lprof1} -lc"
        !            76: 
        !            77: #ifdef  LIBG_SPEC
        !            78: #undef  LIBG_SPEC
        !            79: #endif
        !            80: #define LIBG_SPEC      ""
        !            81: 
        !            82: #ifdef  STARTFILE_SPEC  
        !            83: #undef  STARTFILE_SPEC
        !            84: #endif
        !            85: #define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}"
        !            86: 
        !            87: #ifdef  MACHINE_TYPE
        !            88: #undef  MACHINE_TYPE
        !            89: #endif
        !            90: #define MACHINE_TYPE   "Encore Multimax running OSF/1 with OSF/rose objects"
        !            91: 
        !            92: #ifdef  ASM_VERSION
        !            93: #undef  ASM_VERSION
        !            94: #endif
        !            95: #define ASM_VERSION    "Encore syntax using GAS/stabs"
        !            96: 
        !            97: #ifdef  MD_EXEC_PREFIX  
        !            98: #undef  MD_EXEC_PREFIX
        !            99: #endif
        !           100: #define MD_EXEC_PREFIX         "/usr/ccs/gcc/"
        !           101: 
        !           102: #ifdef  MD_STARTFILE_PREFIX  
        !           103: #undef  MD_STARTFILE_PREFIX
        !           104: #endif
        !           105: #define MD_STARTFILE_PREFIX    "/usr/ccs/lib/"
        !           106: 
        !           107: /* MACHINE MACROS controlling run-time target specification */
        !           108: 
        !           109: #ifdef CPP_PREDEFINES
        !           110: #undef CPP_PREDEFINES
        !           111: #endif
        !           112: #define CPP_PREDEFINES "-Dns32000 -Dn16 -Dns16000 -Dns32332 -Dunix -Dmultimax -DMULTIMAX -DOSF -DOSF1"
        !           113: 
        !           114: #ifdef  TARGET_DEFAULT
        !           115: #undef  TARGET_DEFAULT
        !           116: #endif
        !           117: #define TARGET_DEFAULT   33  /* 32081 and no (sb) register */
        !           118: 
        !           119: /* MACHINE MACROS controlling the layout of C types */
        !           120: 
        !           121: #ifdef SIZE_TYPE  
        !           122: #undef SIZE_TYPE
        !           123: #endif
        !           124: #define SIZE_TYPE      "long unsigned int"
        !           125: 
        !           126: #ifdef  PTRDIFF_TYPE
        !           127: #undef  PTRDIFF_TYPE
        !           128: #endif
        !           129: #define PTRDIFF_TYPE   "int"
        !           130: 
        !           131: #ifdef  WCHAR_TYPE
        !           132: #undef  WCHAR_TYPE
        !           133: #endif
        !           134: #define WCHAR_TYPE     "unsigned int"
        !           135: 
        !           136: #ifdef WCHAR_TYPE_SIZE
        !           137: #undef WCHAR_TYPE_SIZE
        !           138: #endif
        !           139: #define WCHAR_TYPE_SIZE  BITS_PER_WORD
        !           140: 
        !           141: #if 0
        !           142: #define WCHAR_TYPE     ((TARGET_WC8)                                   \
        !           143:                                ? "unsigned char"                       \
        !           144:                                : ((TARGET_WC16)                        \
        !           145:                                        ? "short unsigned int"          \
        !           146:                                        : "long unsigned int"))
        !           147: #define MULTIBYTE_CHARS  1
        !           148: #endif
        !           149: 
        !           150: /* MACHINE MACROS describing stack layout and calling conventions */
        !           151: 
        !           152: 
        !           153: #ifdef  FUNCTION_PROFILER
        !           154: #undef  FUNCTION_PROFILER
        !           155: #endif
        !           156: #define FUNCTION_PROFILER(FILE, LABELNO) fprintf (FILE, "\tjsr mcount\n")
        !           157: 
        !           158: /* MACHINE MACROS describing the overall framework of an
        !           159:    assembly file */
        !           160: 
        !           161: #ifdef PRINT_OPERAND
        !           162: #undef PRINT_OPERAND
        !           163: #endif
        !           164: 
        !           165: #define PRINT_OPERAND(FILE, X, CODE)       print_operand(FILE, X, CODE)
        !           166: 
        !           167: #ifdef PRINT_OPERAND_ADDRESS
        !           168: #undef PRINT_OPERAND_ADDRESS
        !           169: #endif
        !           170: 
        !           171: #define PRINT_OPERAND_ADDRESS(FILE, ADDR)  print_operand_address(FILE, ADDR)
        !           172: 
        !           173: #define STABS_DIRECTIVE        "\t.stabs"      /* align .stabs */
        !           174: #define STABN_DIRECTIVE        "\t.stabn"      /* align .stabn */
        !           175: #define STABD_DIRECTIVE        "\t.stabd"      /* align .stabd */
        !           176: 
        !           177: /* How to tell the debugger about changes of source files.  */
        !           178: 
        !           179: #ifdef ASM_OUTPUT_SOURCE_FILENAME
        !           180: #undef ASM_OUTPUT_SOURCE_FILENAME
        !           181: #endif
        !           182: 
        !           183: /* Perhaps it is no longer necessary to redefine this, now that dbxout.c
        !           184:    uses another macro instead.  */
        !           185: #define ASM_OUTPUT_SOURCE_FILENAME(FILE, NAME)                         \
        !           186: {                                                                      \
        !           187:   if (ns32k_num_files++ == 0)                                          \
        !           188:     fprintf (FILE, "\t.file \"%s\"\n", NAME);                          \
        !           189:   else if (write_symbols == DBX_DEBUG)                                 \
        !           190:   {                                                                     \
        !           191:     char ltext_label_name[100];                                         \
        !           192:     ASM_GENERATE_INTERNAL_LABEL(ltext_label_name, "Ltext", 0);          \
        !           193:     fprintf (FILE, "%s \"%s\",%d,0,0,%s\n", STABS_DIRECTIVE,           \
        !           194:             NAME, 0x84 /* N_SOL */, &ltext_label_name[1]);             \
        !           195:   }                                                                     \
        !           196:   else                                                                 \
        !           197:     fprintf (FILE, "\t#.file \"%s\"\n", NAME);                         \
        !           198: }
        !           199: 
        !           200: /* This is how to output a note the debugger telling it the line number
        !           201:    to which the following sequence of instructions corresponds.  */
        !           202: 
        !           203: #ifdef ASM_OUTPUT_SOURCE_LINE
        !           204: #undef ASM_OUTPUT_SOURCE_LINE
        !           205: #endif
        !           206: #define ASM_OUTPUT_SOURCE_LINE(FILE, LINE)                             \
        !           207: {                                                                      \
        !           208:   if (write_symbols != DBX_DEBUG)                                      \
        !           209:     fprintf (FILE, "\t.ln %d\n", LINE);                                        \
        !           210:   else                                                                 \
        !           211:     fprintf (file, "%s %d,0,%d\n", STABD_DIRECTIVE, 0x44 /* N_SLINE */,        \
        !           212:             LINE);                                                     \
        !           213: }
        !           214: 
        !           215: #ifdef ASM_OUTPUT_INT
        !           216: #undef ASM_OUTPUT_INT
        !           217: #endif
        !           218: #ifndef COLLECT
        !           219: #define ASM_OUTPUT_INT(FILE,VALUE)                             \
        !           220: ( fprintf (FILE, "\t.double "),                                        \
        !           221:   output_addr_const (FILE, (VALUE)),                           \
        !           222:   fprintf (FILE, "\n"))
        !           223: #else
        !           224: #define ASM_OUTPUT_INT(STREAM,VALUE)                                   \
        !           225:   fprintf (STREAM, "\t.double\t%d\n", VALUE)
        !           226: #endif
        !           227: 
        !           228: /* MACHINE MACROS describing debugging information */
        !           229: 
        !           230: /* We need to have the capability to generate either
        !           231:    .stabs or COFF style debug info. The file ns32k.h
        !           232:    define DBX_DEBUGGING_INFO. We disambiguate between
        !           233:    the two based on a combination of command line or
        !           234:    default behavior. */
        !           235: 
        !           236: #ifndef SDB_DEBUGGING_INFO
        !           237: #define SDB_DEBUGGING_INFO  /* Generate COFF style debug info */
        !           238: #endif
        !           239: 
        !           240: #ifndef DBX_DEBUGGING_INFO
        !           241: #define DBX_DEBUGGING_INFO  /* Generate .stabs style debug info */
        !           242: #endif
        !           243: 
        !           244: /* If the user just types -g, we want to use stabs */
        !           245: 
        !           246: #ifdef PREFERRED_DEBUGGING_TYPE
        !           247: #undef PREFERRED_DEBUGGING_TYPE
        !           248: #endif
        !           249: 
        !           250: #define PREFERRED_DEBUGGING_TYPE      DBX_DEBUG
        !           251: 
        !           252: /* Define the gdb extensions */
        !           253: 
        !           254: #define DEFAULT_GDB_EXTENSIONS        1
        !           255: 
        !           256: /* Tell collect that the object format is OSF/rose.  */
        !           257: #define OBJECT_FORMAT_ROSE
        !           258: 
        !           259: /* Use atexit for static constructors/destructors, instead of defining
        !           260:    our own exit function.  */
        !           261: #define HAVE_ATEXIT

unix.superglobalmegacorp.com

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