From 891529cb34c47f8192b0ee9cf1f8d0ccbe8275de Mon Sep 17 00:00:00 2001 From: charlet Date: Wed, 18 Nov 2015 10:20:28 +0000 Subject: [PATCH] 2015-11-18 Ed Falis * s-soflin.adb, s-stchop-vxworks.adb: Code clean ups. 2015-11-18 Gary Dismukes * bcheck.adb: Minor editorial changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230528 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/ChangeLog | 8 ++++++++ gcc/ada/bcheck.adb | 2 +- gcc/ada/s-soflin.adb | 6 ++++++ gcc/ada/s-stchop-vxworks.adb | 11 +++++------ 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index d462f2f..19cefb2 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,11 @@ +2015-11-18 Ed Falis + + * s-soflin.adb, s-stchop-vxworks.adb: Code clean ups. + +2015-11-18 Gary Dismukes + + * bcheck.adb: Minor editorial changes. + 2015-11-18 Arnaud Charlet * interfac.ads (Unsigned_24): New type. diff --git a/gcc/ada/bcheck.adb b/gcc/ada/bcheck.adb index 72a2cbd..8f00ea2 100644 --- a/gcc/ada/bcheck.adb +++ b/gcc/ada/bcheck.adb @@ -453,7 +453,7 @@ package body Bcheck is -- 2. The with'ed unit was compiled with dynamic elaboration checks -- 3. The with'ed unit has pragma Preelaborate or Pure -- 4. It is an internal GNAT unit (including children of GNAT) - -- 5. It is an interface of a Stand-Aline Library + -- 5. It is an interface of a Stand-Alone Library procedure Check_Consistent_Dynamic_Elaboration_Checking is begin diff --git a/gcc/ada/s-soflin.adb b/gcc/ada/s-soflin.adb index b3efac8..9158a92 100644 --- a/gcc/ada/s-soflin.adb +++ b/gcc/ada/s-soflin.adb @@ -49,6 +49,12 @@ package body System.Soft_Links is NT_TSD : TSD; -- Note: we rely on the default initialization of NT_TSD + -- Needed for Vx6Cert (Vx653mc) GOS cert and ravenscar-cert runtimes, + -- VxMILS cert, ravenscar-cert and full runtimes, Vx 5 default runtime + Stack_Limit : aliased System.Address; + + pragma Export (C, Stack_Limit, "__gnat_stack_limit"); + -------------------- -- Abort_Defer_NT -- -------------------- diff --git a/gcc/ada/s-stchop-vxworks.adb b/gcc/ada/s-stchop-vxworks.adb index 24de94d..53f6c45 100644 --- a/gcc/ada/s-stchop-vxworks.adb +++ b/gcc/ada/s-stchop-vxworks.adb @@ -60,10 +60,9 @@ package body System.Stack_Checking.Operations is -- VxWorks MILS includes the necessary routine in taskLib, so nothing -- special needs to be done there. - Stack_Limit : Address := - Boolean'Pos (Stack_Grows_Down) * Address'First - + Boolean'Pos (not Stack_Grows_Down) * Address'Last; - pragma Export (C, Stack_Limit, "__gnat_stack_limit"); + Stack_Limit : Address; + + pragma Import (C, Stack_Limit, "__gnat_stack_limit"); -- Stack_Limit contains the limit of the stack. This variable is later made -- a task variable (by calling taskVarAdd) and then correctly set to the @@ -91,7 +90,6 @@ package body System.Stack_Checking.Operations is procedure Initialize_Stack_Limit is begin - -- For the environment task Set_Stack_Limit_For_Current_Task; @@ -126,6 +124,7 @@ package body System.Stack_Checking.Operations is Limit : System.Address; begin + -- Get stack bounds from VxWorks Get_Stack_Info (Stack_Info'Access); @@ -141,6 +140,6 @@ package body System.Stack_Checking.Operations is end if; Stack_Limit := Limit; - end Set_Stack_Limit_For_Current_Task; + end Set_Stack_Limit_For_Current_Task; end System.Stack_Checking.Operations; -- 2.7.4