Skip to content

Commit

Permalink
AROS: Make sure opaque SMP extension is used for ABIv11 only
Browse files Browse the repository at this point in the history
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: deadwood2/AROS@b9bc67a
  • Loading branch information
magorium authored and chainq committed Jun 26, 2022
1 parent c660120 commit 4058a0a
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
4 changes: 4 additions & 0 deletions packages/arosunits/src/exec.pas
Original file line number Diff line number Diff line change
Expand Up @@ -652,6 +652,10 @@ TMsgPort = record
{$endif}
{$endif}
{$endif}
{$else}
{$ifndef CPUM68K}
mp_Private: array[0..1] of IPTR; // Private extension field
{$endif}
{$endif}
end;

Expand Down
4 changes: 4 additions & 0 deletions rtl/aros/i386/execd.inc
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down

0 comments on commit 4058a0a

Please sign in to comment.