src/powerpc/ffi_darwin.c


Log

Author Commit Date CI Message
David Tenty 7f960d9a 2023-11-23T09:16:35 [powerpc][AIX] fix layout issues for nested struct types (#805) * [powerpc][AIX] fix layout issues for nested struct types On AIX under the default power alignment rules, the layout of struct types which are nested inside other structs may be different than the layout of those types on their own. Specifically the first member double rules which would apply an eight byte alignment if that type appears in the first position of a struct: 1) apply recursively if the struct appear in the first member of another struct 2) do not apply if that struct is itself a member of another struct and not the first member. The current implementation of the rules in libffi doesn't handle these cases, causing a mismatch with the compiler and causing some crashes we see when OpenJ9 is used with libffi on AIX. This PR corrects this and adds some representative test cases. * Fix code style * Add a size check * Add additional test * Fix padding in internal structs * Flip condition back to original form * Add a comment
Ken 484c1a0d 2020-10-27T07:07:07 darwin powerpc: use go closures only if enabled (#583) SHA: 0ff9419f2e75652426469e256cb7d0748064ad58 added go closures for darwin powerpc AIX, but these have not yet been implemented for non-AIX systems use the go closures only if enabled
Tony Reix 0ff9419f 2017-05-17T14:57:53 This patch enables FFI Go Closure on AIX.
Gregory Pakosz bd72848c 2017-04-27T13:20:36 Prefix ALIGN macros with FFI_
Anthony Green 128cd1d2 2013-10-08T06:45:51 Fix spelling errors
Anthony Green 05fbe1fa 2013-01-11T16:54:40 xlc compiler support
Anthony Green 853cc722 2012-04-10T06:33:33 Fix typo for darwin targets
Anthony Green bd78c9c3 2012-03-21T08:09:30 More cygwin fixes
Anthony Green 0e584399 2011-02-08T07:52:40 Refresh from GCC
Anthony Green f2c2a4fc 2010-04-13T10:19:28 Remove warnings and add OS/2 support
Anthony Green 0cfe60e9 2009-12-29T10:06:04 3.0.9rc12
Anthony Green 115ab36f 2009-12-24T00:22:00 Update missing changes for 3.0.9r4.
Anthony Green c6dddbd0 2009-10-04T08:11:33 Initial commit