[foreign-memaccess+abi] RFR: 8275332: Variadic functions don't work on Linux/AArch64
Nick Gasson
ngasson at openjdk.java.net
Tue Oct 19 09:01:23 UTC 2021
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.
-------------
Commit messages:
- 8275332: Variadic functions don't work on Linux/AArch64
Changes: https://git.openjdk.java.net/panama-foreign/pull/601/files
Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=601&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8275332
Stats: 79 lines in 5 files changed: 50 ins; 0 del; 29 mod
Patch: https://git.openjdk.java.net/panama-foreign/pull/601.diff
Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/601/head:pull/601
PR: https://git.openjdk.java.net/panama-foreign/pull/601
More information about the panama-dev
mailing list