[multiple changes]
2015-11-18 Ed Falis <falis@adacore.com> * s-soflin.adb, s-stchop-vxworks.adb: Code clean ups. 2015-11-18 Gary Dismukes <dismukes@adacore.com> * bcheck.adb: Minor editorial changes. From-SVN: r230528
This commit is contained in:
parent
5a99fda7cc
commit
3a2b145788
|
@ -1,3 +1,11 @@
|
|||
2015-11-18 Ed Falis <falis@adacore.com>
|
||||
|
||||
* s-soflin.adb, s-stchop-vxworks.adb: Code clean ups.
|
||||
|
||||
2015-11-18 Gary Dismukes <dismukes@adacore.com>
|
||||
|
||||
* bcheck.adb: Minor editorial changes.
|
||||
|
||||
2015-11-18 Arnaud Charlet <charlet@adacore.com>
|
||||
|
||||
* interfac.ads (Unsigned_24): New type.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 --
|
||||
--------------------
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue