deps: update libffi to 3.6.0#64040
Conversation
|
Review requested:
|
|
Fast-track has been requested by @aduh95. Please 👍 to approve. |
|
Let's fast-track to include it in the next 26.x release, which I'd like to be able to prepare today |
|
Related compilation failure on AIX and Windows |
|
@nodejs/platform-aix any idea on how to fix the compilation? |
Why are we compiling Lines 118 to 126 in 2e19033 |
This appears to be how libffi plays it. As for the missing defines, these were added to ffi_powerpc.h in this update, but there's clearly something janky going on with the includes. ffi_darwin.c is missing this header, whereas ffi.c/ffi_linux64.c/ffi_sysv.c include it. node/deps/libffi/src/powerpc/ffi_powerpc.h Lines 35 to 94 in d393b32 |
|
ffi.c uses the linux64/sysv asm symbols, not the aix symbols, hence (presumably) the linker error. ffi_darwin.c is explicitly the correct source here: |
|
Let's give this a go. https://ci.nodejs.org/job/node-test-commit-aix/63337/ Edit: guess not then 😆 |
|
I get the sense that this is just busted at source. The function in ffi_darwin.c that returns these constants still expects to return a I note that libffi only tests powerpc64 builds targeting linux, not darwin or aix. |
|
Opened libffi/libffi#987. We have a suggested patch to try, going to give it a go! |
4537b46 to
432321b
Compare
|
432321b Would need to be a |
|
👍 Once we confirm the build is green, then it can be landed upstream and we can formally cherry-pick. |
Signed-off-by: Paolo Insogna <paolo@cowtech.it>
Original commit message:
powerpc: fix aix/darwin closure build errors
unbuildable: the PPC_LD_* jump-table indexes (defined in ffi_powerpc.h,
which this file cannot include) were missing, and the closure helper
functions still declared an ffi_type* return type inconsistent with the
PPC_LD_* constants they now return.
Define the PPC_LD_* constants locally and change the closure helper
return types to int.
Fixes #987
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
432321b to
b07e414
Compare
This is an automated update of libffi to 3.6.0.