Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / gcc / config / i386 / sun.h
1 /* Definitions for Intel 386 running SunOS 4.0.
2    Copyright (C) 1988, 1995 Free Software Foundation, Inc.
3
4 This file is part of GNU CC.
5
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)
9 any later version.
10
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.
15
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, 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA.  */
20
21
22 #include "i386/i386.h"
23
24 /* Use the Sun assembler syntax.  */
25
26 #include "i386/sun386.h"
27
28 /* Use crt0.o as a startup file.  */
29
30 #define STARTFILE_SPEC  \
31   "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}"
32
33 #define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} \
34 %{g:-lg} %{sun386:}"
35 /* That last item is just to prevent a spurious error.  */
36
37 #undef LINK_SPEC
38 #define LINK_SPEC \
39   "%{!nostdlib:%{!r*:%{!e*:-e _start}}} -dc -dp %{static:-Bstatic}"
40
41 /* Extra switches to give the assembler.  */
42
43 #define ASM_SPEC "%{R} -i386 %{keep-local-as-symbols:-L}"
44
45 /* Specify predefined symbols in preprocessor.  */
46
47 #define CPP_PREDEFINES "-Dunix -Di386 -Dsun386 -Dsun -Asystem(unix) -Asystem(bsd) -Acpu(i386) -Amachine(i386)"
48
49 /* Allow #sccs in preprocessor.  */
50
51 #define SCCS_DIRECTIVE
52
53 /* Output #ident as a .ident.  */
54
55 #define ASM_OUTPUT_IDENT(FILE, NAME) fprintf (FILE, "\t.ident \"%s\"\n", NAME);
56
57 /* We don't want to output SDB debugging information.  */
58
59 #undef SDB_DEBUGGING_INFO
60
61 /* We want to output DBX debugging information.  */
62
63 #define DBX_DEBUGGING_INFO
64
65 /* Implicit library calls should use memcpy, not bcopy, etc.  */
66
67 #define TARGET_MEM_FUNCTIONS
68
69 /* Force structure alignment to the type used for a bitfield.  */
70
71 #define PCC_BITFIELD_TYPE_MATTERS 1
72
73 /* This is partly guess.  */
74
75 #undef DBX_REGISTER_NUMBER
76 #define DBX_REGISTER_NUMBER(n) \
77   ((n) == 0 ? 11 : (n)  == 1 ? 9 : (n) == 2 ? 10 : (n) == 3 ? 8 \
78    : (n) == 4 ? 5 : (n) == 5 ? 4 : (n) == 6 ? 6 : (n))
79
80 /* Every debugger symbol must be in the text section.
81    Otherwise the assembler or the linker screws up.  */
82
83 #define DEBUG_SYMS_TEXT