+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.
-- 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
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 --
--------------------
-- 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
procedure Initialize_Stack_Limit is
begin
- -- For the environment task
Set_Stack_Limit_For_Current_Task;
Limit : System.Address;
begin
+
-- Get stack bounds from VxWorks
Get_Stack_Info (Stack_Info'Access);
end if;
Stack_Limit := Limit;
- end Set_Stack_Limit_For_Current_Task;
+ end Set_Stack_Limit_For_Current_Task;
end System.Stack_Checking.Operations;