From 08cc81ff60ca9f66ce9f4de4bf36e30dec1403d2 Mon Sep 17 00:00:00 2001 From: magorium <10467276-magorium@users.noreply.gitlab.com> Date: Sun, 8 May 2022 10:03:13 +0200 Subject: [PATCH] AROS: Update RTL structure TETask (execd) Bring RTL (execd.inc) structure TETask up to date to unit exec (exec.pas). This structure situated in the RTL was (literally) based on the MorphOS version which is not compliant to AROS. The original MorphOS TETask structure can still be 'activated' when the flag AROS_MORPHOS_COMPATIBLE is defined when compiling the RTL and exec unit (as is also the case in the original AROS repo). --- rtl/aros/i386/execd.inc | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/rtl/aros/i386/execd.inc b/rtl/aros/i386/execd.inc index 12fc8fe002..2ad25c5946 100644 --- a/rtl/aros/i386/execd.inc +++ b/rtl/aros/i386/execd.inc @@ -694,6 +694,7 @@ const type +{$ifdef AROS_MORPHOS_COMPATIBLE} PETask = ^TETask; TETask = record Message : TMessage; @@ -748,7 +749,29 @@ type * never assume a size of this structure * } end; - +{$else} + TETask = record + et_Message: TMessage; + et_Parent: PTask; // Pointer to parent task + et_UniqueID: DWord; + et_Children: TMinList; // List of children + et_TrapAlloc: Word; + et_TrapAble: Word; + et_Result1: DWord; // First result + et_Result2: Pointer; // Result data pointer (AllocVec) + et_TaskMsgPort: TMsgPort; + et_Compatibility: array[0..3] of Pointer; // Reserve this space for compiled software to access iet_startup and iet_acpd + et_MemPool: Pointer; // Task's private memory pool +{$ifdef aros} + et_Reserved: array[0..0] of PtrUInt; // MorphOS Private + et_TaskStorage: Pointer; // Task Storage Slots +{$else} + et_Reserved: array[0..1] of PtrUInt; // MorphOS Private +{$endif} + et_RegFrame: Pointer; + // Internal fields follow + end; +{$endif} type PTaskInitExtension = ^TTaskInitExtension;