------- Comment #14 from laurent at guerby dot net 2008-02-22 21:12 -------
Default values come from ada/s-parame-rtems.adb, for the stack it ends up in
RTEMS ada_pthread_minimum_stack_size:
package body System.Parameters is
function ada_pthread_minimum_stack_size return Interfaces.C.size_t;
pragma Import (C, ada_pthread_minimum_stack_size,
"_ada_pthread_minimum_stack_size");
------------------------
-- Default_Stack_Size --
------------------------
function Default_Stack_Size return Size_Type is
begin
return Size_Type (ada_pthread_minimum_stack_size);
end Default_Stack_Size;
...
In ada/s-tassta.adb above line 333 you should be able to trace where Priority
and Stack_Size come from, compare between the two targets:
-- Activate all the tasks in the chain. Creation of the thread of
-- control was deferred until activation. So create it now.
C := Chain_Access.T_ID;
while C /= null loop
if C.Common.State /= Terminated then
pragma Assert (C.Common.State = Unactivated);
P := C.Common.Parent;
Write_Lock (P);
Write_Lock (C);
if C.Common.Base_Priority < Get_Priority (Self_ID) then
Activate_Prio := Get_Priority (Self_ID);
else
Activate_Prio := C.Common.Base_Priority;
end if;
System.Task_Primitives.Operations.Create_Task
(C, Task_Wrapper'Address,
Parameters.Size_Type
(C.Common.Compiler_Data.Pri_Stack_Info.Size),
Activate_Prio, Success);
...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35284