1/* Configuration file for an m68k OpenBSD target.
2   Copyright (C) 1999-2020 Free Software Foundation, Inc.
3
4This file is part of GCC.
5
6GCC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 3, or (at your option)
9any later version.
10
11GCC is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GCC; see the file COPYING3.  If not see
18<http://www.gnu.org/licenses/>.  */
19
20/* Target OS builtins.  */
21#define TARGET_OS_CPP_BUILTINS()		\
22  do						\
23    {						\
24	builtin_define ("__unix__");		\
25	builtin_define ("__OpenBSD__");		\
26	builtin_assert ("system=unix");		\
27	builtin_assert ("system=OpenBSD");	\
28   }						\
29  while (0)
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#undef ASM_SPEC
37#define ASM_SPEC \
38  "%(asm_cpu_spec) %{" FPIE1_OR_FPIC1_SPEC ":-k} %{" FPIE2_OR_FPIC2_SPEC ":-k -K}"
39
40/* Layout of source language data types.  */
41
42/* This must agree with <machine/ansi.h> */
43#undef SIZE_TYPE
44#define SIZE_TYPE "long unsigned int"
45
46#undef PTRDIFF_TYPE
47#define PTRDIFF_TYPE "long int"
48
49#undef WCHAR_TYPE
50#define WCHAR_TYPE "int"
51
52#undef WCHAR_TYPE_SIZE
53#define WCHAR_TYPE_SIZE 32
54
55#undef WINT_TYPE
56#define WINT_TYPE "int"
57
58/* Storage layout.  */
59
60/* Every structure or union's size must be a multiple of 2 bytes.  */
61#define STRUCTURE_SIZE_BOUNDARY 16
62
63/* Specific options for DBX Output.  */
64
65/* This is BSD, so it wants DBX format.  */
66#define DBX_DEBUGGING_INFO 1
67
68/* Do not break .stabs pseudos into continuations.  */
69#define DBX_CONTIN_LENGTH 0
70
71/* This is the char to use for continuation (in case we need to turn
72   continuation back on).  */
73#define DBX_CONTIN_CHAR '?'
74
75/* Stack & calling: aggregate returns.  */
76
77/* ??? This is traditional, but quite possibly wrong.  It appears to
78   disagree with gdb.  */
79#define PCC_STATIC_STRUCT_RETURN 1
80
81/* Don't default to pcc-struct-return, because gcc is the only compiler, and
82   we want to retain compatibility with older gcc versions.  */
83#define DEFAULT_PCC_STRUCT_RETURN 0
84
85/* Assembler format: exception region output.  */
86
87/* All configurations that don't use elf must be explicit about not using
88   dwarf unwind information.  */
89#define DWARF2_UNWIND_INFO 0
90
91#define TARGET_HAVE_NAMED_SECTIONS false
92