1 /* Definitions for Intel 386 running SunOS 4.0.
2 Copyright (C) 1988 Free Software Foundation, Inc.
4 This file is part of GNU CC.
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 2, or (at your option)
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.
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. */
21 #include "i386/i386.h"
23 /* Use the Sun assembler syntax. */
25 #include "i386/sun386.h"
27 /* Use crt0.o as a startup file. */
29 #define STARTFILE_SPEC \
30 "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}"
32 #define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} \
34 /* That last item is just to prevent a spurious error. */
38 "%{!nostdlib:%{!r*:%{!e*:-e _start}}} -dc -dp %{static:-Bstatic}"
40 /* Extra switches to give the assembler. */
42 #define ASM_SPEC "-i386"
44 /* Specify predefined symbols in preprocessor. */
46 #define CPP_PREDEFINES "-Dunix -Di386 -Dsun386 -Dsun"
48 /* Define size_t for built-in functions. */
50 #define SIZE_TYPE "int"
52 /* Allow #sccs in preprocessor. */
54 #define SCCS_DIRECTIVE
56 /* Output #ident as a .ident. */
58 #define ASM_OUTPUT_IDENT(FILE, NAME) fprintf (FILE, "\t.ident \"%s\"\n", NAME);
60 /* We don't want to output SDB debugging information. */
62 #undef SDB_DEBUGGING_INFO
64 /* We want to output DBX debugging information. */
66 #define DBX_DEBUGGING_INFO
68 /* Implicit library calls should use memcpy, not bcopy, etc. */
70 #define TARGET_MEM_FUNCTIONS
72 /* Force structure alignment to the type used for a bitfield. */
74 #define PCC_BITFIELD_TYPE_MATTERS 1
76 /* This is partly guess. */
78 #undef DBX_REGISTER_NUMBER
79 #define DBX_REGISTER_NUMBER(n) \
80 ((n) == 0 ? 11 : (n) == 1 ? 9 : (n) == 2 ? 10 : (n) == 3 ? 8 \
81 : (n) == 4 ? 5 : (n) == 5 ? 4 : (n) == 6 ? 6 : (n))
83 /* Every debugger symbol must be in the text section.
84 Otherwise the assembler or the linker screws up. */
86 #define DEBUG_SYMS_TEXT