freebsd.h revision 117395
190075Sobrien/* Definitions for PowerPC running FreeBSD using the ELF format
290075Sobrien   Copyright (C) 2001 Free Software Foundation, Inc.
390075Sobrien   Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
490075Sobrien
590075SobrienThis file is part of GNU CC.
690075Sobrien
790075SobrienGNU CC is free software; you can redistribute it and/or modify
890075Sobrienit under the terms of the GNU General Public License as published by
990075Sobrienthe Free Software Foundation; either version 2, or (at your option)
1090075Sobrienany later version.
1190075Sobrien
1290075SobrienGNU CC is distributed in the hope that it will be useful,
1390075Sobrienbut WITHOUT ANY WARRANTY; without even the implied warranty of
1490075SobrienMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1590075SobrienGNU General Public License for more details.
1690075Sobrien
1790075SobrienYou should have received a copy of the GNU General Public License
1890075Sobrienalong with GNU CC; see the file COPYING.  If not, write to
1990075Sobrienthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
2090075Sobrien
2190075Sobrien/* Override the defaults, which exist to force the proper definition.  */
2290075Sobrien
2390075Sobrien#undef	CPP_OS_DEFAULT_SPEC
2490075Sobrien#define CPP_OS_DEFAULT_SPEC "%(cpp_os_freebsd)"
2590075Sobrien
2690075Sobrien#undef	STARTFILE_DEFAULT_SPEC
2790075Sobrien#define STARTFILE_DEFAULT_SPEC "%(startfile_freebsd)"
2890075Sobrien
2990075Sobrien#undef	ENDFILE_DEFAULT_SPEC
3090075Sobrien#define ENDFILE_DEFAULT_SPEC "%(endfile_freebsd)"
3190075Sobrien
3290075Sobrien#undef	LIB_DEFAULT_SPEC
3390075Sobrien#define LIB_DEFAULT_SPEC "%(lib_freebsd)"
3490075Sobrien
3590075Sobrien#undef	LINK_START_DEFAULT_SPEC
3690075Sobrien#define LINK_START_DEFAULT_SPEC "%(link_start_freebsd)"
3790075Sobrien
3890075Sobrien#undef	LINK_OS_DEFAULT_SPEC
3990075Sobrien#define	LINK_OS_DEFAULT_SPEC "%(link_os_freebsd)"
4090075Sobrien
41117395Skan/* XXX: This is wrong for many platforms in sysv4.h.
42117395Skan   We should work on getting that defination fixed.  */
43117395Skan#undef  LINK_SHLIB_SPEC
44117395Skan#define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}"
4590075Sobrien
46117395Skan
4790075Sobrien/************************[  Target stuff  ]***********************************/
4890075Sobrien
4990075Sobrien/* Define the actual types of some ANSI-mandated types.
5090075Sobrien   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
5190075Sobrien   c-common.c, and config/<arch>/<arch>.h.  */
5290075Sobrien
53117395Skan#undef  SIZE_TYPE
54117395Skan#define SIZE_TYPE "unsigned int"
55117395Skan
5690075Sobrien/* rs6000.h gets this wrong for FreeBSD.  We use the GCC defaults instead.  */
5790075Sobrien#undef WCHAR_TYPE
5890075Sobrien
5990075Sobrien#undef  WCHAR_TYPE_SIZE
6090075Sobrien#define WCHAR_TYPE_SIZE 32
6190075Sobrien
6290075Sobrien#undef  TARGET_VERSION
6390075Sobrien#define TARGET_VERSION fprintf (stderr, " (FreeBSD/PowerPC ELF)");
6490075Sobrien
6590075Sobrien/* Override rs6000.h definition.  */
6690075Sobrien#undef  ASM_APP_ON
6790075Sobrien#define ASM_APP_ON "#APP\n"
6890075Sobrien
6990075Sobrien/* Override rs6000.h definition.  */
7090075Sobrien#undef  ASM_APP_OFF
7190075Sobrien#define ASM_APP_OFF "#NO_APP\n"
72