]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/rs6000/netbsd.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / rs6000 / netbsd.h
CommitLineData
edf1b3f3
AC
1/* Definitions of target machine for GNU compiler,
2 for PowerPC NetBSD systems.
99dee823 3 Copyright (C) 2002-2021 Free Software Foundation, Inc.
a4967b8d 4 Contributed by Wasabi Systems, Inc.
edf1b3f3 5
5de601cf 6 This file is part of GCC.
edf1b3f3 7
5de601cf
NC
8 GCC is free software; you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published
2f83c7d6 10 by the Free Software Foundation; either version 3, or (at your
5de601cf 11 option) any later version.
edf1b3f3 12
5de601cf
NC
13 GCC is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
16 License for more details.
edf1b3f3 17
5de601cf 18 You should have received a copy of the GNU General Public License
2f83c7d6
NC
19 along with GCC; see the file COPYING3. If not see
20 <http://www.gnu.org/licenses/>. */
edf1b3f3 21
62045234
AM
22/* Undef gnu-user.h macros we don't want. */
23#undef CPLUSPLUS_CPP_SPEC
24#undef LINK_GCC_C_SEQUENCE_SPEC
25
5de601cf 26#undef TARGET_OS_CPP_BUILTINS /* FIXME: sysv4.h should not define this! */
a4967b8d
JT
27#define TARGET_OS_CPP_BUILTINS() \
28 do \
29 { \
30 NETBSD_OS_CPP_BUILTINS_ELF(); \
31 builtin_define ("__powerpc__"); \
32 builtin_assert ("cpu=powerpc"); \
33 builtin_assert ("machine=powerpc"); \
34 } \
35 while (0)
edf1b3f3 36
647d340d
JT
37/* Override the default from rs6000.h to avoid conflicts with macros
38 defined in NetBSD header files. */
39
5de601cf 40#undef RS6000_CPU_CPP_ENDIAN_BUILTINS
647d340d
JT
41#define RS6000_CPU_CPP_ENDIAN_BUILTINS() \
42 do \
43 { \
44 if (BYTES_BIG_ENDIAN) \
45 { \
46 builtin_define ("__BIG_ENDIAN__"); \
47 builtin_assert ("machine=bigendian"); \
48 } \
49 else \
50 { \
51 builtin_define ("__LITTLE_ENDIAN__"); \
52 builtin_assert ("machine=littleendian"); \
53 } \
54 } \
55 while (0)
56
a4967b8d 57/* Make GCC agree with <machine/ansi.h>. */
edf1b3f3 58
5de601cf 59#undef SIZE_TYPE
a4967b8d 60#define SIZE_TYPE "unsigned int"
edf1b3f3 61
5de601cf 62#undef PTRDIFF_TYPE
a4967b8d 63#define PTRDIFF_TYPE "int"
edf1b3f3 64
a4967b8d
JT
65/* Undo the spec mess from sysv4.h, and just define the specs
66 the way NetBSD systems actually expect. */
edf1b3f3 67
5de601cf 68#undef CPP_SPEC
a4967b8d 69#define CPP_SPEC NETBSD_CPP_SPEC
edf1b3f3 70
5de601cf 71#undef LINK_SPEC
a4967b8d
JT
72#define LINK_SPEC \
73 "%{!msdata=none:%{G*}} %{msdata=none:-G0} \
74 %(netbsd_link_spec)"
edf1b3f3 75
a4967b8d 76#define NETBSD_ENTRY_POINT "_start"
edf1b3f3 77
5de601cf 78#undef STARTFILE_SPEC
a4967b8d 79#define STARTFILE_SPEC NETBSD_STARTFILE_SPEC
edf1b3f3 80
5de601cf 81#undef ENDFILE_SPEC
18724e30 82#define ENDFILE_SPEC "%(netbsd_endfile_spec)"
edf1b3f3 83
5de601cf 84#undef LIB_SPEC
a4967b8d
JT
85#define LIB_SPEC NETBSD_LIB_SPEC
86
5de601cf 87#undef SUBTARGET_EXTRA_SPECS
a4967b8d
JT
88#define SUBTARGET_EXTRA_SPECS \
89 { "netbsd_link_spec", NETBSD_LINK_SPEC_ELF }, \
90 { "netbsd_entry_point", NETBSD_ENTRY_POINT }, \
91 { "netbsd_endfile_spec", NETBSD_ENDFILE_SPEC },
6fa3f289 92
a4967b8d 93
3d36d470
UW
94/* Use standard DWARF numbering for DWARF debugging information. */
95#define RS6000_USE_DWARF_NUMBERING
96