From 4058a0ac4b4b1f47dc58a3055ebda62edaf6560e Mon Sep 17 00:00:00 2001 From: magorium <10467276-magorium@users.noreply.gitlab.com> Date: Thu, 12 May 2022 23:25:15 +0200 Subject: [PATCH] AROS: Make sure opaque SMP extension is used for ABIv11 only These changes adds an additional record field to record structure TMsgPort in order to support SMP for ABIv11 (non m68k targets only). This additional field contains two opaque IPTR's/PtrUInt's and therefor breaks compatibility between ABIv0, ABIv1 and ABIv11 as well as make them binary incompatible. It also renders ABIv11 incompatible with itself when this change was introduced on march 18 2022. Recompilation of existing code for this ABI is thus required. See: https://github.com/deadw00d/AROS/commit/b9bc67accce27db0e2cc0f79f554dc76e9b17a73 --- packages/arosunits/src/exec.pas | 4 ++++ rtl/aros/i386/execd.inc | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/packages/arosunits/src/exec.pas b/packages/arosunits/src/exec.pas index 6efd9cf0f3..bef3a5b4d8 100644 --- a/packages/arosunits/src/exec.pas +++ b/packages/arosunits/src/exec.pas @@ -652,6 +652,10 @@ type {$endif} {$endif} {$endif} +{$else} +{$ifndef CPUM68K} + mp_Private: array[0..1] of IPTR; // Private extension field +{$endif} {$endif} end; diff --git a/rtl/aros/i386/execd.inc b/rtl/aros/i386/execd.inc index 01c5896b37..617855fd89 100644 --- a/rtl/aros/i386/execd.inc +++ b/rtl/aros/i386/execd.inc @@ -618,6 +618,10 @@ type // Checked OK 05.08.2011 ALB {$endif} {$endif} {$endif} +{$else} +{$ifndef CPUM68K} + mp_Private: array[0..1] of PtrUInt; +{$endif} {$endif} end;