| /* Definitions of target machine for GNU compiler. Vxworks Aarch 64bit |
| version. |
| Copyright (C) 2018-2020 Free Software Foundation, Inc. |
| Contributed by Douglas B Rupp |
| |
| 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/>. */ |
| |
| #undef SUBTARGET_OVERRIDE_OPTIONS |
| #define SUBTARGET_OVERRIDE_OPTIONS VXWORKS_OVERRIDE_OPTIONS |
| |
| #undef LINK_SPEC |
| #define LINK_SPEC VXWORKS_LINK_SPEC |
| |
| #undef LIB_SPEC |
| #define LIB_SPEC VXWORKS_LIB_SPEC |
| |
| #undef STARTFILE_SPEC |
| #define STARTFILE_SPEC VXWORKS_STARTFILE_SPEC |
| |
| #undef ENDFILE_SPEC |
| #define ENDFILE_SPEC VXWORKS_ENDFILE_SPEC |
| |
| #undef CPP_SPEC |
| #define CPP_SPEC VXWORKS_ADDITIONAL_CPP_SPEC |
| |
| #undef CC1_SPEC |
| #define CC1_SPEC VXWORKS_CC1_SPEC |
| |
| #undef FUNCTION_PROFILER |
| #define FUNCTION_PROFILER VXWORKS_FUNCTION_PROFILER |
| |
| #undef TARGET_OS_CPP_BUILTINS |
| #define TARGET_OS_CPP_BUILTINS() \ |
| do { \ |
| if (TARGET_BIG_END) \ |
| builtin_define ("ARMEB"); \ |
| else \ |
| builtin_define ("ARMEL"); \ |
| builtin_define ("_VX_CPU=ARMARCH8A"); \ |
| VXWORKS_OS_CPP_BUILTINS (); \ |
| } while (0) |
| |
| /* Static stack checking is supported. */ |
| #define STACK_CHECK_STATIC_BUILTIN 1 |
| |
| #undef STACK_CHECK_PROTECT |
| #define STACK_CHECK_PROTECT 16384 |
| |
| /* The VxWorks environment on aarch64 is llvm-based only, uses R18 as |
| a TCB pointer. */ |
| |
| #undef VXWORKS_PERSONALITY |
| #define VXWORKS_PERSONALITY "llvm" |
| |
| #undef TARGET_OS_USES_R18 |
| #define TARGET_OS_USES_R18 1 |
| |