freebsd.h revision 117395
1139735Simp/* Definitions for PowerPC running FreeBSD using the ELF format
2129198Scognet   Copyright (C) 2001 Free Software Foundation, Inc.
3129198Scognet   Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
4129198Scognet
5129198ScognetThis file is part of GNU CC.
6129198Scognet
7129198ScognetGNU CC is free software; you can redistribute it and/or modify
8129198Scognetit under the terms of the GNU General Public License as published by
9129198Scognetthe Free Software Foundation; either version 2, or (at your option)
10129198Scognetany later version.
11129198Scognet
12129198ScognetGNU CC is distributed in the hope that it will be useful,
13129198Scognetbut WITHOUT ANY WARRANTY; without even the implied warranty of
14129198ScognetMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15129198ScognetGNU General Public License for more details.
16129198Scognet
17129198ScognetYou should have received a copy of the GNU General Public License
18129198Scognetalong with GNU CC; see the file COPYING.  If not, write to
19129198Scognetthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
20129198Scognet
21129198Scognet/* Override the defaults, which exist to force the proper definition.  */
22129198Scognet
23129198Scognet#undef	CPP_OS_DEFAULT_SPEC
24129198Scognet#define CPP_OS_DEFAULT_SPEC "%(cpp_os_freebsd)"
25129198Scognet
26129198Scognet#undef	STARTFILE_DEFAULT_SPEC
27129198Scognet#define STARTFILE_DEFAULT_SPEC "%(startfile_freebsd)"
28129198Scognet
29129198Scognet#undef	ENDFILE_DEFAULT_SPEC
30129198Scognet#define ENDFILE_DEFAULT_SPEC "%(endfile_freebsd)"
31129198Scognet
32129198Scognet#undef	LIB_DEFAULT_SPEC
33129198Scognet#define LIB_DEFAULT_SPEC "%(lib_freebsd)"
34129198Scognet
35166686Skevlo#undef	LINK_START_DEFAULT_SPEC
36129198Scognet#define LINK_START_DEFAULT_SPEC "%(link_start_freebsd)"
37129198Scognet
38129198Scognet#undef	LINK_OS_DEFAULT_SPEC
39129198Scognet#define	LINK_OS_DEFAULT_SPEC "%(link_os_freebsd)"
40129198Scognet
41129198Scognet/* XXX: This is wrong for many platforms in sysv4.h.
42129198Scognet   We should work on getting that defination fixed.  */
43129198Scognet#undef  LINK_SHLIB_SPEC
44129198Scognet#define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}"
45129198Scognet
46129198Scognet
47129198Scognet/************************[  Target stuff  ]***********************************/
48129198Scognet
49140310Scognet/* Define the actual types of some ANSI-mandated types.
50146597Scognet   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
51166063Scognet   c-common.c, and config/<arch>/<arch>.h.  */
52129198Scognet
53129198Scognet#undef  SIZE_TYPE
54129198Scognet#define SIZE_TYPE "unsigned int"
55129198Scognet
56129198Scognet/* rs6000.h gets this wrong for FreeBSD.  We use the GCC defaults instead.  */
57129198Scognet#undef WCHAR_TYPE
58129198Scognet
59129198Scognet#undef  WCHAR_TYPE_SIZE
60166063Scognet#define WCHAR_TYPE_SIZE 32
61129198Scognet
62166063Scognet#undef  TARGET_VERSION
63166063Scognet#define TARGET_VERSION fprintf (stderr, " (FreeBSD/PowerPC ELF)");
64166063Scognet
65166063Scognet/* Override rs6000.h definition.  */
66166063Scognet#undef  ASM_APP_ON
67166063Scognet#define ASM_APP_ON "#APP\n"
68129198Scognet
69129198Scognet/* Override rs6000.h definition.  */
70129198Scognet#undef  ASM_APP_OFF
71129198Scognet#define ASM_APP_OFF "#NO_APP\n"
72129198Scognet