AROS: ABI compatibility update AROSSupportBase (ABI/API/BC break)

These changes break API/Binary Compatibility between ABIv0 and ABIv1.

Field stdOut is replaced by undefined field named _pad for ABIv1 while
(still) being present as stdOut for ABIv0.

Field DebugConfig is completely removed from ABIv1 (still present for ABIv0).

If your code depends on either of these two fields then you need to make
appropriate changes when compiling for ABIv1.

Removing dependency on either of these two mentioned fields is preferred.

Both RTL (execd.inc) and unit (exec.pas) are updated.

See also 194cc5e1c5
This commit is contained in:
magorium 2022-05-10 23:41:22 +02:00 committed by Charlie Balogh
parent 8bc7d5897d
commit b218393b57
2 changed files with 12 additions and 0 deletions

View File

@ -998,11 +998,17 @@ const
type
PArosSupportBase = ^TArosSupportBase;
TArosSupportBase = record
{$IFDEF AROS_ABIv0}
StdOut: Pointer;
{$ELSE}
_pad: IPTR;
{$ENDIF}
kPrintfPtr: Pointer;
rkPrintfPtr: Pointer;
vkPrintfPtr: Pointer;
{$IFDEF AROS_ABIv0}
DebugConfig: Pointer;
{$ENDIF}
end;
PExecBase = ^TExecBase;

View File

@ -1531,11 +1531,17 @@ type
PArosSupportBase = ^TArosSupportBase;
TArosSupportBase = record
{$IFDEF AROS_ABIv0}
StdOut: Pointer;
{$ELSE}
_pad: PtrUInt;
{$ENDIF}
kPrintfPtr: Pointer;
rkPrintfPtr: Pointer;
vkPrintfPtr: Pointer;
{$IFDEF AROS_ABIv0}
DebugConfig: Pointer;
{$ENDIF}
end;
{ * exec include