OSDN Git Service

Merge basic-improvements-branch to trunk
[pf3gnuchains/gcc-fork.git] / gcc / config / m68k / openbsd.h
1 /* Configuration file for an m68k OpenBSD target.
2    Copyright (C) 1999, 2002 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 /* m68k is an old configuration that does not yet use the TARGET_CPU_DEFAULT
22    framework.  */
23 #define TARGET_DEFAULT (MASK_BITFIELD | MASK_68881 | MASK_68020)
24
25 #include <m68k/m68k.h>
26
27 /* Get generic OpenBSD definitions.  */
28 #define OBSD_OLD_GAS
29 #include <openbsd.h>
30
31 /* Define __HAVE_68881__ in preprocessor, unless -msoft-float is specified.
32    This will control the use of inline 68881 insns in certain macros.  */
33 #undef CPP_SPEC
34 #define CPP_SPEC "%{!msoft-float:-D__HAVE_68881__ -D__HAVE_FPU__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
35
36 /* Run-time target specifications.  */
37 #define CPP_PREDEFINES "-D__unix__ -D__m68k__ -D__mc68000__ -D__mc68020__ -D__OpenBSD__ -Asystem=unix -Asystem=OpenBSD -Acpu=m68k -Amachine=m68k"
38
39 /* m68k as needs to know about the processor subtype.  */
40 #undef ASM_SPEC
41 #define ASM_SPEC "%{m68030} %{m68040} %{m68060} %{fpic:-k} %{fPIC:-k -K}"
42
43 #define AS_NEEDS_DASH_FOR_PIPED_INPUT
44
45 /* Layout of source language data types.  */
46
47 /* This must agree with <machine/ansi.h> */
48 #undef SIZE_TYPE
49 #define SIZE_TYPE "unsigned int"
50
51 #undef PTRDIFF_TYPE
52 #define PTRDIFF_TYPE "int"
53
54 #undef WCHAR_TYPE
55 #define WCHAR_TYPE "int"
56
57 #undef WCHAR_TYPE_SIZE
58 #define WCHAR_TYPE_SIZE 32
59
60 /* Storage layout.  */
61
62 /* Every structure or union's size must be a multiple of 2 bytes.  */
63 #define STRUCTURE_SIZE_BOUNDARY 16
64
65 /* Specific options for DBX Output.  */
66
67 /* This is BSD, so it wants DBX format.  */
68 #define DBX_DEBUGGING_INFO 1
69
70 /* Do not break .stabs pseudos into continuations.  */
71 #define DBX_CONTIN_LENGTH 0
72
73 /* This is the char to use for continuation (in case we need to turn
74    continuation back on).  */
75 #define DBX_CONTIN_CHAR '?'
76
77 /* Stack & calling: aggregate returns.  */
78
79 /* Don't default to pcc-struct-return, because gcc is the only compiler, and
80    we want to retain compatibility with older gcc versions.  */
81 #define DEFAULT_PCC_STRUCT_RETURN 0
82
83 /* Assembler format: exception region output.  */
84
85 /* All configurations that don't use elf must be explicit about not using
86    dwarf unwind information. egcs doesn't try too hard to check internal
87    configuration files...  */
88 #define DWARF2_UNWIND_INFO 0