[foreign-memaccess+abi] RFR: 8275332: Variadic functions don't work on Linux/AArch64 [v2]
Maurizio Cimadamore
mcimadamore at openjdk.java.net
Thu Oct 21 11:50:26 UTC 2021
On Thu, 21 Oct 2021 08:57:09 GMT, Nick Gasson <ngasson at openjdk.org> wrote:
>> Variable length argument lists are handled differently in the
>> Mac/Windows and Linux ABIs on AArch64. Following the recent API refresh
>> on the foreign-memaccess+abi branch the Mac behaviour was inadvertently
>> applied on Linux too. This patch restores the correct behaviour on
>> Linux and adds a CallArranger unit test so regressions can be more
>> easily caught.
>>
>> I just added an extra varArgsOnStack argument to
>> CallArranger.getBindings() as that seemed the simplest fix, although it
>> could get unwieldy if there were too many configurable options.
>
> Nick Gasson has updated the pull request incrementally with one additional commit since the last revision:
>
> Add per-platform CallArranger classes
Looks very good.
If possible I'd prefer this to be integrated as is, and other issues (e.g, stack arguments) fixed separately - I believe this fix is needed for the PR I'm working on for 18:
https://git.openjdk.java.net/jdk/pull/5907
-------------
Marked as reviewed by mcimadamore (Committer).
PR: https://git.openjdk.java.net/panama-foreign/pull/601
More information about the panama-dev
mailing list