From 3488bd6bb381dec90a0e8df2d3c9a6305a984d72 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Sun, 13 Mar 2016 20:35:48 +0000 Subject: [PATCH] vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define. * config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define. (STACK_CHECK_PROTECT): Likewise. * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise (STACK_CHECK_PROTECT): Likewise. * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise (STACK_CHECK_PROTECT): Likewise. * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise. * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise. (STACK_CHECK_PROTECT): Likewise. ada/ * system-vxworks-m68k.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. * system-vxworks-mips.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. * system-vxworks-ppc.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. * system-vxworks-sparcv9.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. * system-vxworks-x86.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. From-SVN: r234171 --- gcc/ChangeLog | 12 ++++++++++++ gcc/ada/ChangeLog | 15 ++++++++++++++- gcc/ada/system-vxworks-m68k.ads | 6 +++--- gcc/ada/system-vxworks-mips.ads | 6 +++--- gcc/ada/system-vxworks-ppc.ads | 6 +++--- gcc/ada/system-vxworks-sparcv9.ads | 6 +++--- gcc/ada/system-vxworks-x86.ads | 6 +++--- gcc/config/arm/vxworks.h | 7 +++++++ gcc/config/i386/vxworks.h | 7 +++++++ gcc/config/rs6000/vxworks.h | 7 +++++++ gcc/config/rs6000/vxworksae.h | 5 +++++ gcc/config/sparc/vxworks.h | 7 +++++++ 12 files changed, 74 insertions(+), 16 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6c41cf02c61..70acdc49535 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2016-03-13 Eric Botcazou + + * config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define. + (STACK_CHECK_PROTECT): Likewise. + * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise + (STACK_CHECK_PROTECT): Likewise. + * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise + (STACK_CHECK_PROTECT): Likewise. + * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise. + * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise. + (STACK_CHECK_PROTECT): Likewise. + 2016-03-12 Andrey Belevantsev PR rtl-optimization/69307 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 8e0637666c2..9fa560dffa2 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,16 @@ +2016-03-13 Eric Botcazou + + * system-vxworks-m68k.ads (Stack_Check_Probes): Set to True. + (Stack_Check_Limits): Set to False. + * system-vxworks-mips.ads (Stack_Check_Probes): Set to True. + (Stack_Check_Limits): Set to False. + * system-vxworks-ppc.ads (Stack_Check_Probes): Set to True. + (Stack_Check_Limits): Set to False. + * system-vxworks-sparcv9.ads (Stack_Check_Probes): Set to True. + (Stack_Check_Limits): Set to False. + * system-vxworks-x86.ads (Stack_Check_Probes): Set to True. + (Stack_Check_Limits): Set to False. + 2016-03-07 Eric Botcazou * gcc-interface/trans.c (statement_node_p): New predicate. @@ -12,7 +25,7 @@ 2016-03-02 Dominik Vogt - * system-linux-s390.adsx: Enable Stack_Check_Probes. + * system-linux-s390.ads: Enable Stack_Check_Probes. * system-linux-s390.ads: Likewise. 2016-02-29 Martin Liska diff --git a/gcc/ada/system-vxworks-m68k.ads b/gcc/ada/system-vxworks-m68k.ads index d8fa9ba94f4..ca59e7a9d9b 100644 --- a/gcc/ada/system-vxworks-m68k.ads +++ b/gcc/ada/system-vxworks-m68k.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (VxWorks version M68K) -- -- -- --- Copyright (C) 1992-2015, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2016, Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -145,8 +145,8 @@ private Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := False; Stack_Check_Default : constant Boolean := False; - Stack_Check_Probes : constant Boolean := False; - Stack_Check_Limits : constant Boolean := True; + Stack_Check_Probes : constant Boolean := True; + Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; diff --git a/gcc/ada/system-vxworks-mips.ads b/gcc/ada/system-vxworks-mips.ads index 2284ebbd904..d4860f42daf 100644 --- a/gcc/ada/system-vxworks-mips.ads +++ b/gcc/ada/system-vxworks-mips.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (VxWorks Version Mips) -- -- -- --- Copyright (C) 1992-2015, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2016, Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -145,8 +145,8 @@ private Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; - Stack_Check_Probes : constant Boolean := False; - Stack_Check_Limits : constant Boolean := True; + Stack_Check_Probes : constant Boolean := True; + Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; diff --git a/gcc/ada/system-vxworks-ppc.ads b/gcc/ada/system-vxworks-ppc.ads index f942470f152..bb27ee4b993 100644 --- a/gcc/ada/system-vxworks-ppc.ads +++ b/gcc/ada/system-vxworks-ppc.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (VxWorks 5 Version PPC) -- -- -- --- Copyright (C) 1992-2015, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2016, Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -152,8 +152,8 @@ private Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; - Stack_Check_Probes : constant Boolean := False; - Stack_Check_Limits : constant Boolean := True; + Stack_Check_Probes : constant Boolean := True; + Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; diff --git a/gcc/ada/system-vxworks-sparcv9.ads b/gcc/ada/system-vxworks-sparcv9.ads index 5c07b05c085..f3caca4fea9 100644 --- a/gcc/ada/system-vxworks-sparcv9.ads +++ b/gcc/ada/system-vxworks-sparcv9.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (VxWorks Version Sparc/64) -- -- -- --- Copyright (C) 1992-2015, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2016, Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -147,8 +147,8 @@ private Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; - Stack_Check_Probes : constant Boolean := False; - Stack_Check_Limits : constant Boolean := True; + Stack_Check_Probes : constant Boolean := True; + Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; diff --git a/gcc/ada/system-vxworks-x86.ads b/gcc/ada/system-vxworks-x86.ads index adc73a69070..a7508aadfa3 100644 --- a/gcc/ada/system-vxworks-x86.ads +++ b/gcc/ada/system-vxworks-x86.ads @@ -7,7 +7,7 @@ -- S p e c -- -- (VxWorks 5 Version x86) -- -- -- --- Copyright (C) 1992-2015, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2016, Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -148,8 +148,8 @@ private Preallocated_Stacks : constant Boolean := False; Signed_Zeros : constant Boolean := True; Stack_Check_Default : constant Boolean := False; - Stack_Check_Probes : constant Boolean := False; - Stack_Check_Limits : constant Boolean := True; + Stack_Check_Probes : constant Boolean := True; + Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; Support_Atomic_Primitives : constant Boolean := True; Support_Composite_Assign : constant Boolean := True; diff --git a/gcc/config/arm/vxworks.h b/gcc/config/arm/vxworks.h index 4d846333601..5b97fe819b1 100644 --- a/gcc/config/arm/vxworks.h +++ b/gcc/config/arm/vxworks.h @@ -112,3 +112,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #undef TARGET_DEFAULT_WORD_RELOCATIONS #define TARGET_DEFAULT_WORD_RELOCATIONS 1 + +/* Define this to be nonzero if static stack checking is supported. */ +#define STACK_CHECK_STATIC_BUILTIN 1 + +/* This platform supports the probing method of stack checking (RTP mode). + 8K is reserved in the stack to propagate exceptions in case of overflow. */ +#define STACK_CHECK_PROTECT 8192 diff --git a/gcc/config/i386/vxworks.h b/gcc/config/i386/vxworks.h index b5960b1c658..d92510e19b5 100644 --- a/gcc/config/i386/vxworks.h +++ b/gcc/config/i386/vxworks.h @@ -88,3 +88,10 @@ along with GCC; see the file COPYING3. If not see #undef ASM_PREFERRED_EH_DATA_FORMAT #define IX86_MAYBE_NO_LIBGCC_TFMODE + +/* Define this to be nonzero if static stack checking is supported. */ +#define STACK_CHECK_STATIC_BUILTIN 1 + +/* This platform supports the probing method of stack checking (RTP mode). + 8K is reserved in the stack to propagate exceptions in case of overflow. */ +#define STACK_CHECK_PROTECT 8192 diff --git a/gcc/config/rs6000/vxworks.h b/gcc/config/rs6000/vxworks.h index 901a81c78d9..7b90fda3f8f 100644 --- a/gcc/config/rs6000/vxworks.h +++ b/gcc/config/rs6000/vxworks.h @@ -138,3 +138,10 @@ VXWORKS_ADDITIONAL_CPP_SPEC /* No _mcount profiling on VxWorks. */ #undef FUNCTION_PROFILER #define FUNCTION_PROFILER(FILE,LABELNO) VXWORKS_FUNCTION_PROFILER(FILE,LABELNO) + +/* Define this to be nonzero if static stack checking is supported. */ +#define STACK_CHECK_STATIC_BUILTIN 1 + +/* This platform supports the probing method of stack checking (RTP mode). + 8K is reserved in the stack to propagate exceptions in case of overflow. */ +#define STACK_CHECK_PROTECT 8192 diff --git a/gcc/config/rs6000/vxworksae.h b/gcc/config/rs6000/vxworksae.h index e607973252a..97e1c70495f 100644 --- a/gcc/config/rs6000/vxworksae.h +++ b/gcc/config/rs6000/vxworksae.h @@ -21,3 +21,8 @@ along with GCC; see the file COPYING3. If not see /* VxWorksAE for E500V2 expects a specific CPU value to designate 8548. */ #undef VXCPU_FOR_8548 #define VXCPU_FOR_8548 "PPCE500V2" + +/* This platform supports the probing method of stack checking and + requires 4K of space for executing a possible last chance handler. */ +#undef STACK_CHECK_PROTECT +#define STACK_CHECK_PROTECT 4096 diff --git a/gcc/config/sparc/vxworks.h b/gcc/config/sparc/vxworks.h index 1bcbace2886..81e0ffb2c76 100644 --- a/gcc/config/sparc/vxworks.h +++ b/gcc/config/sparc/vxworks.h @@ -55,3 +55,10 @@ along with GCC; see the file COPYING3. If not see /* We cannot use PC-relative accesses for VxWorks PIC because there is no fixed gap between segments. */ #undef ASM_PREFERRED_EH_DATA_FORMAT + +/* Define this to be nonzero if static stack checking is supported. */ +#define STACK_CHECK_STATIC_BUILTIN 1 + +/* This platform supports the probing method of stack checking (RTP mode). + 8K is reserved in the stack to propagate exceptions in case of overflow. */ +#define STACK_CHECK_PROTECT 8192 -- 2.30.2