/* Base configuration file for all FreeBSD targets. Copyright (C) 1999, 2000, 2001, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . */ /* Common FreeBSD configuration. All FreeBSD architectures should include this file, which will specify their commonalities. Adapted from gcc/config/i386/freebsd-elf.h by David O'Brien . Further work by David O'Brien and Loren J. Rittle . */ /* In case we need to know. */ #define USING_CONFIG_FREEBSD 1 #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() FBSD_TARGET_OS_CPP_BUILTINS() #undef CPP_SPEC #define CPP_SPEC FBSD_CPP_SPEC #undef STARTFILE_SPEC #define STARTFILE_SPEC FBSD_STARTFILE_SPEC #undef ENDFILE_SPEC #define ENDFILE_SPEC FBSD_ENDFILE_SPEC #undef LIB_SPEC #define LIB_SPEC FBSD_LIB_SPEC #if defined(HAVE_LD_EH_FRAME_HDR) #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " #endif #ifdef TARGET_LIBC_PROVIDES_SSP #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all:-lssp_nonshared}" #endif /* Use --as-needed -lgcc_s for eh support. */ #ifdef HAVE_LD_AS_NEEDED #define USE_LD_AS_NEEDED 1 #endif /************************[ Target stuff ]***********************************/ /* All FreeBSD Architectures support the ELF object file format. */ #undef OBJECT_FORMAT_ELF #define OBJECT_FORMAT_ELF /* Don't assume anything about the header files. */ #undef NO_IMPLICIT_EXTERN_C #define NO_IMPLICIT_EXTERN_C 1 /* Follow FreeBSD's standard headers ( etc...). */ #undef WCHAR_TYPE #define WCHAR_TYPE "int" #undef WINT_TYPE #define WINT_TYPE "int" #define MATH_LIBRARY_PROFILE "m_p" /* Code generation parameters. */ /* Use periods rather than dollar signs in special g++ assembler names. This ensures the configuration knows our system correctly so we can link with libraries compiled with the native cc. */ #undef NO_DOLLAR_IN_LABEL /* Used by libgcc2.c. We support file locking with fcntl / F_SETLKW. This enables the test coverage code to use file locking when exiting a program, which avoids race conditions if the program has forked. */ #define TARGET_POSIX_IO