1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /* Target-independent configuration for VxWorks and VxWorks AE.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
- Contributed by CodeSourcery, LLC.
- 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
- <http://www.gnu.org/licenses/>. */
- /* VxWorks headers are C++-aware. */
- #undef NO_IMPLICIT_EXTERN_C
- #define NO_IMPLICIT_EXTERN_C
- /* Most of these will probably be overridden by subsequent headers. We
- undefine them here just in case, and define VXWORKS_ versions of each,
- to be used in port-specific vxworks.h. */
- #undef LIB_SPEC
- #undef LINK_SPEC
- #undef LIBGCC_SPEC
- #define LIBGCC_SPEC VXWORKS_LIBGCC_SPEC
- #undef STARTFILE_SPEC
- #undef ENDFILE_SPEC
- /* Most of these macros are overridden in "config/vxworks.h" or
- "config/vxworksae.h" and are here merely for documentation
- purposes. */
- #define VXWORKS_ADDITIONAL_CPP_SPEC ""
- #define VXWORKS_LIB_SPEC ""
- #define VXWORKS_LINK_SPEC ""
- #define VXWORKS_LIBGCC_SPEC ""
- #define VXWORKS_STARTFILE_SPEC ""
- #define VXWORKS_ENDFILE_SPEC ""
- /* VxWorks cannot have dots in constructor labels, because it uses a
- mutant variation of collect2 that generates C code instead of
- assembly. Thus each constructor label must be a legitimate C
- symbol. FIXME: Have VxWorks use real collect2 instead. */
- #undef NO_DOLLAR_IN_LABEL
- #define NO_DOT_IN_LABEL
- /* VxWorks uses wchar_t == unsigned short (UCS2) on all architectures. */
- #undef WCHAR_TYPE
- #define WCHAR_TYPE "short unsigned int"
- #undef WCHAR_TYPE_SIZE
- #define WCHAR_TYPE_SIZE 16
- /* Likewise wint_t. */
- #undef WINT_TYPE
- #define WINT_TYPE "short unsigned int"
- #undef WINT_TYPE_SIZE
- #define WINT_TYPE_SIZE 16
- /* Dwarf2 unwind info is not supported. */
- #undef DWARF2_UNWIND_INFO
- #define DWARF2_UNWIND_INFO 0
- /* VxWorks uses DWARF2. */
- #define DWARF2_DEBUGGING_INFO 1
- #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
- /* None of these other formats is supported. */
- #undef DWARF_DEBUGGING_INFO
- #undef DBX_DEBUGGING_INFO
- #undef SDB_DEBUGGING_INFO
- #undef XCOFF_DEBUGGING_INFO
- #undef VMS_DEBUGGING_INFO
- /* Kernel mode doesn't have ctors/dtors, but RTP mode does. */
- #define TARGET_HAVE_CTORS_DTORS false
- #define VXWORKS_OVERRIDE_OPTIONS /* empty */
- /* No math library needed. */
- #define MATH_LIBRARY ""
- /* No profiling. */
- #define VXWORKS_FUNCTION_PROFILER(FILE, LABELNO) do \
- { \
- sorry ("profiler support for VxWorks"); \
- } while (0)
- /* We occasionally need to distinguish between the VxWorks variants. */
- #define VXWORKS_KIND_NORMAL 1
- #define VXWORKS_KIND_AE 2
|