From 3b727799d4ebf8de4955033fb288f416a265bb7f Mon Sep 17 00:00:00 2001 From: Olivier Hainque Date: Mon, 29 Oct 2018 15:07:33 +0000 Subject: [PATCH] Introduce notion of VXWORKS_PERSONALITY 2018-10-29 Olivier Hainque * config/vxworks.h (VXWORKS_PERSONALITY): New VxWorks ports configuration macro, defaults to "gnu". (VXWORKS_OS_CPP_BUILTINS): Use it. Feed TOOL and TOOL_FAMILY instead of _VX_TOOL/_VXTOOL_FAMILY. From-SVN: r265594 --- gcc/ChangeLog | 7 +++++++ gcc/config/vxworks.h | 12 ++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 14eee68..86cb859 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2018-10-29 Olivier Hainque + + * config/vxworks.h (VXWORKS_PERSONALITY): New VxWorks + ports configuration macro, defaults to "gnu". + (VXWORKS_OS_CPP_BUILTINS): Use it. Feed TOOL and + TOOL_FAMILY instead of _VX_TOOL/_VXTOOL_FAMILY. + 2018-10-29 Richard Biener PR tree-optimization/87790 diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h index 3ed706e..5f87920c 100644 --- a/gcc/config/vxworks.h +++ b/gcc/config/vxworks.h @@ -175,6 +175,13 @@ extern void vxworks_asm_out_destructor (rtx symbol, int priority); #define TARGET_POSIX_IO /* A VxWorks implementation of TARGET_OS_CPP_BUILTINS. */ + +/* The VxWorks personality we rely on, controlling which sections of system + headers files we trigger. This might be redefined on targets where the + base VxWorks environment doesn't come with a GNU toolchain. */ + +#define VXWORKS_PERSONALITY "gnu" + #define VXWORKS_OS_CPP_BUILTINS() \ do \ { \ @@ -185,8 +192,8 @@ extern void vxworks_asm_out_destructor (rtx symbol, int priority); builtin_define ("__RTP__"); \ else \ builtin_define ("_WRS_KERNEL"); \ - builtin_define ("_VX_TOOL_FAMILY=gnu"); \ - builtin_define ("_VX_TOOL=gnu"); \ + builtin_define ("TOOL_FAMILY=" VXWORKS_PERSONALITY); \ + builtin_define ("TOOL=" VXWORKS_PERSONALITY); \ if (TARGET_VXWORKS7) \ { \ builtin_define ("_VSB_CONFIG_FILE="); \ @@ -208,6 +215,7 @@ extern void vxworks_asm_out_destructor (rtx symbol, int priority); /* We provide our own version of __clear_cache in libgcc, using a separate C file to facilitate #inclusion of VxWorks header files. */ +#undef CLEAR_INSN_CACHE #define CLEAR_INSN_CACHE 1 /* Default dwarf control values, for non-gdb debuggers that come with -- 2.7.4