]> gcc.gnu.org Git - gcc.git/blame - gcc/config/m68k/openbsd.h
alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to match target.h.
[gcc.git] / gcc / config / m68k / openbsd.h
CommitLineData
89e6da44 1/* Configuration file for an m68k OpenBSD target.
eb0424da 2 Copyright (C) 1999, 2002 Free Software Foundation, Inc.
89e6da44
ME
3
4This file is part of GNU CC.
5
6GNU CC 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 2, or (at your option)
9any later version.
10
11GNU CC 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 GNU CC; see the file COPYING. If not, write to
18the Free Software Foundation, 59 Temple Place - Suite 330,
19Boston, 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
f8bc3f3a 36/* Run-time target specifications. */
2b57e919 37#define CPP_PREDEFINES "-D__unix__ -D__m68k__ -D__mc68000__ -D__mc68020__ -D__OpenBSD__ -Asystem=unix -Asystem=OpenBSD -Acpu=m68k -Amachine=m68k"
89e6da44 38
f8bc3f3a
JL
39/* m68k as needs to know about the processor subtype. */
40#undef ASM_SPEC
89e6da44 41#define ASM_SPEC "%| %{m68030} %{m68040} %{m68060} %{fpic:-k} %{fPIC:-k -K}"
89e6da44
ME
42
43/* Layout of source language data types. */
44
45/* This must agree with <machine/ansi.h> */
46#undef SIZE_TYPE
47#define SIZE_TYPE "unsigned int"
48
49#undef PTRDIFF_TYPE
50#define PTRDIFF_TYPE "int"
51
52#undef WCHAR_TYPE
53#define WCHAR_TYPE "int"
54
55#undef WCHAR_TYPE_SIZE
56#define WCHAR_TYPE_SIZE 32
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. */
23532de9 66#define DBX_DEBUGGING_INFO 1
89e6da44
ME
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/* Don't default to pcc-struct-return, because gcc is the only compiler, and
78 we want to retain compatibility with older gcc versions. */
79#define DEFAULT_PCC_STRUCT_RETURN 0
80
81/* Assembler format: exception region output. */
82
83/* All configurations that don't use elf must be explicit about not using
84 dwarf unwind information. egcs doesn't try too hard to check internal
85 configuration files... */
86#define DWARF2_UNWIND_INFO 0
87
88
eb0424da 89/* TODO: TARGET_ASM_OUTPUT_MI_THUNK is busted. I need to figure out
89e6da44
ME
90 what bra func@PLTPC means under linux, and find the corresponding
91 construction for our gas/pic setup. */
92#if 0
93/* Taken from linux.h. Processor dependent optimized code to handle C++
94 multiple inheritance vtable lookup. */
95
96/* Output code to add DELTA to the first argument, and then jump to FUNCTION.
97 Used for C++ multiple inheritance. */
eb0424da 98#define TARGET_ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \
89e6da44
ME
99do { \
100 if (DELTA > 0 && DELTA <= 8) \
101 asm_fprintf (FILE, "\taddq.l %I%d,4(%Rsp)\n", DELTA); \
102 else if (DELTA < 0 && DELTA >= -8) \
103 asm_fprintf (FILE, "\tsubq.l %I%d,4(%Rsp)\n", -DELTA); \
104 else \
105 asm_fprintf (FILE, "\tadd.l %I%d,4(%Rsp)\n", DELTA); \
106 \
107 if (flag_pic) \
108 { \
109 fprintf (FILE, "\tbra.l "); \
110 assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0)); \
111 fprintf (FILE, "@PLTPC\n"); \
112 } \
113 else \
114 { \
115 fprintf (FILE, "\tjmp "); \
116 assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0)); \
117 fprintf (FILE, "\n"); \
118 } \
119} while (0)
120#endif
121
This page took 0.753493 seconds and 5 git commands to generate.