home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 7 / FreshFishVol7.bin / bbs / gnu / gcc-2.3.3-src.lha / GNU / src / amiga / gcc-2.3.3 / config / decrose.h < prev    next >
C/C++ Source or Header  |  1994-02-06  |  5KB  |  176 lines

  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.  (!strcmp (STR, "Tdata") || !strcmp (STR, "Ttext")            \
  31.   || !strcmp (STR, "Tbss") || !strcmp (STR, "include")            \
  32.   || !strcmp (STR, "imacros") || !strcmp (STR, "aux-info")        \
  33.   || !strcmp (STR, "pic-names"))
  34.  
  35. #define CPP_PREDEFINES "-DOSF -DOSF1 -Dbsd4_2 -DMIPSEL -Dhost_mips -Dmips -Dunix -DR3000 -DSYSTYPE_BSD"
  36.  
  37. #define ASM_SPEC    "\
  38. %{mmips-as: \
  39.     %{pipe:%e:-pipe not supported} \
  40.     %{EL} %{!EL:-EL} \
  41.     %{EB: %e-EB not supported} \
  42.     %{!mrnames: %{!.s:-nocpp} %{.s: %{cpp} %{nocpp}}} \
  43.     %{mips1} %{mips2} %{mips3} \
  44.     %{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3} \
  45.     %{g} %{g0} %{g1} %{g2} %{g3} \
  46.     %{K} %{Q}} \
  47.     %{v*: -v} \
  48.     %{G*}"
  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:    -D__LANGUAGE_ASSEMBLY__ -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY} \
  71.     -ULANGUAGE_C -U__LANGUAGE_C__} \
  72. %{.cc:    -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \
  73. %{.cxx:    -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \
  74. %{.C:    -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS} \
  75. %{.m:    -D__LANGUAGE_OBJECTIVE_C__ -D__LANGUAGE_OBJECTIVE_C} \
  76. %{!.S:    -D__LANGUAGE_C__  -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C}}"
  77.  
  78. #define LINK_SPEC "\
  79. %{G*} \
  80. %{mmips-as: \
  81.     %{EL} %{!EL: -EL} \
  82.     %{EB: %e-EB not supported} \
  83.     %{mips1} %{mips2} %{mips3} \
  84.     %{bestGnum}} \
  85. %{!mmips-as: \
  86.      %{v*: -v} \
  87.     %{!noshrlib: %{pic-none: -noshrlib} %{!pic-none: -warn_nopic}} \
  88.     %{nostdlib} %{noshrlib} %{glue}}"
  89.  
  90. #define LIB_SPEC "-lc"
  91.  
  92. /* Define this macro meaning that `gcc' should find the library
  93.    `libgcc.a' by hand, rather than passing the argument `-lgcc' to
  94.    tell the linker to do the search. */
  95.  
  96. #define LINK_LIBGCC_SPECIAL 1
  97.  
  98. #define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}"
  99.  
  100. #define MACHINE_TYPE "DECstation with OSF/rose objects"
  101.  
  102. #ifndef MD_EXEC_PREFIX
  103. #define MD_EXEC_PREFIX        "/usr/ccs/gcc/"
  104. #endif
  105.  
  106. #ifndef MD_STARTFILE_PREFIX
  107. #define MD_STARTFILE_PREFIX    "/usr/ccs/lib/"
  108. #endif
  109.  
  110. /* Turn on -mpic-extern by default.  */
  111. #define CC1_SPEC "\
  112. %{O*: %{!mno-gpOPT:%{!mno-gpopt: -mgpopt}}} \
  113. %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
  114. %{G*} \
  115. %{pic-none:   -mno-half-pic} \
  116. %{pic-lib:    -mhalf-pic} \
  117. %{pic-extern: -mhalf-pic} \
  118. %{pic-calls:  -mhalf-pic} \
  119. %{pic-names*: -mhalf-pic} \
  120. %{!pic-*:     -mhalf-pic}"
  121.  
  122. /* Specify size_t, ptrdiff_t, and wchar_t types.  */
  123. #define SIZE_TYPE    "long unsigned int"
  124. #define PTRDIFF_TYPE    "int"
  125. #define WCHAR_TYPE    "unsigned int"
  126. #define WCHAR_TYPE_SIZE BITS_PER_WORD
  127.  
  128. #if 0
  129. #define WCHAR_TYPE    ((TARGET_WC8)                    \
  130.                 ? "unsigned char"            \
  131.                 : ((TARGET_WC16)            \
  132.                     ? "short unsigned int"        \
  133.                     : "long unsigned int"))
  134. #endif
  135.  
  136. #define TARGET_DEFAULT MASK_GAS
  137.  
  138. /* OSF/rose uses stabs, not ECOFF.  */
  139. #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
  140.  
  141. /* Tell collect that the object format is OSF/rose.  */
  142. #define OBJECT_FORMAT_ROSE
  143.  
  144. /* Tell collect where the appropriate binaries are.  */
  145. #define REAL_LD_FILE_NAME    "/usr/ccs/gcc/gld"
  146. #define REAL_NM_FILE_NAME    "/usr/ccs/bin/nm"
  147. #define REAL_STRIP_FILE_NAME    "/usr/ccs/bin/strip"
  148.  
  149. /* Use atexit for static constructors/destructors, instead of defining
  150.    our own exit function.  */
  151. #define HAVE_ATEXIT
  152.  
  153. /* Generate calls to memcpy, etc., not bcopy, etc.  */
  154. #define TARGET_MEM_FUNCTIONS
  155.  
  156. /* A C statement to output assembler commands which will identify
  157.    the object file as having been compiled with GNU CC (or another
  158.    GNU compiler).
  159.  
  160.    If you don't define this macro, the string `gcc2_compiled.:' is
  161.    output.  This string is calculated to define a symbol which, on
  162.    BSD systems, will never be defined for any other reason.  GDB
  163.    checks for the presence of this symbol when reading the symbol
  164.    table of an executable.
  165.  
  166.    On non-BSD systems, you must arrange communication with GDB in
  167.    some other fashion.  If GDB is not used on your system, you can
  168.    define this macro with an empty body.
  169.  
  170.    On OSF/1, gcc2_compiled. confuses the kernel debugger, so don't
  171.    put it out.  */
  172.  
  173. #define ASM_IDENTIFY_GCC(STREAM)
  174.  
  175. #include "mips.h"
  176.