diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index d462f2f0e23..19cefb23845 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 72a2cbd58a8..8f00ea299e8 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 b3efac83c47..9158a92dccb 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 24de94d91af..53f6c457c02 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;