{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":321154,"defaultBranch":"master","name":"libffi","ownerLogin":"libffi","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2009-09-29T15:05:17.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/7063475?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1708266216.0","currentOid":""},"activityList":{"items":[{"before":"3d0ce1e6fcf19f853894862abcbac0ae78a7be60","after":"f64141ee3f9e455a060bd09e9ab72b6c94653d7c","ref":"refs/heads/master","pushedAt":"2024-03-19T16:44:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Fix bti support (#830)\n\n* bti: add identifier to ffi_closure_SYSV_V_alt\r\n\r\nThis was missing BTI_C identifier.\r\n\r\nOld Code:\r\nffi_closure_SYSV_V_alt:\r\n0000fffff7f70500: ldr x17, [sp, #8]\r\n\r\nSigned-off-by: Bill Roberts \r\n\r\n* testsuite: fix whitespace in Makefile.am\r\n\r\nSigned-off-by: Bill Roberts \r\n\r\n* aarch64: correct comment describing BTI\r\n\r\nThe comment is incorrect, BTI is enabled per mapping via mprotect with\r\nPROT_BTI flag set, not per-process. When the loader loads the library,\r\nif the GNU Notes section is missing this, PROT_BTI will not be enabled\r\nfor that mapping, but is independent of other mappings.\r\n\r\nSigned-off-by: Bill Roberts \r\n\r\n---------\r\n\r\nSigned-off-by: Bill Roberts ","shortMessageHtmlLink":"Fix bti support (#830)"}},{"before":"94eaedb40e67e26d2fa35d1c22d8818f4d9f4c2d","after":"3d0ce1e6fcf19f853894862abcbac0ae78a7be60","ref":"refs/heads/master","pushedAt":"2024-02-18T14:23:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"chore: update version to 3.4.6 and fix long double regression on mips64 and alpha","shortMessageHtmlLink":"chore: update version to 3.4.6 and fix long double regression on mips…"}},{"before":"e1dcf03b4642e75a1058799a3023e0ebd0024258","after":"94eaedb40e67e26d2fa35d1c22d8818f4d9f4c2d","ref":"refs/heads/master","pushedAt":"2024-02-18T13:41:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Update sparc64 host","shortMessageHtmlLink":"Update sparc64 host"}},{"before":"cd78b539125ae615d76df5a57039fe70ebd56c27","after":"e1dcf03b4642e75a1058799a3023e0ebd0024258","ref":"refs/heads/master","pushedAt":"2024-02-18T13:02:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Update cfarm hostnames","shortMessageHtmlLink":"Update cfarm hostnames"}},{"before":"012fcaf96c87ab617ba34babce9b6b259188fcf0","after":"cd78b539125ae615d76df5a57039fe70ebd56c27","ref":"refs/heads/master","pushedAt":"2024-02-18T12:49:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Always define long double types.","shortMessageHtmlLink":"Always define long double types."}},{"before":"d1597239af492240770692b8e453f0dca70fc551","after":"012fcaf96c87ab617ba34babce9b6b259188fcf0","ref":"refs/heads/master","pushedAt":"2024-02-15T13:35:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Update","shortMessageHtmlLink":"Update"}},{"before":"91739a1a912476adbf1e0e4dcb091b9a2c5007d9","after":"d1597239af492240770692b8e453f0dca70fc551","ref":"refs/heads/master","pushedAt":"2024-02-15T13:34:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"update copyright year in libffi.texi","shortMessageHtmlLink":"update copyright year in libffi.texi"}},{"before":"9752a622d12e696eaf9a4c46d4f09b58bca6bb83","after":"91739a1a912476adbf1e0e4dcb091b9a2c5007d9","ref":"refs/heads/master","pushedAt":"2024-02-15T13:30:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Update version, copyright and testsuite info.","shortMessageHtmlLink":"Update version, copyright and testsuite info."}},{"before":"404355317b3314da14a9ead0c0a50c040212e1fc","after":"9752a622d12e696eaf9a4c46d4f09b58bca6bb83","ref":"refs/heads/master","pushedAt":"2024-02-15T13:03:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Fix test filename reference","shortMessageHtmlLink":"Fix test filename reference"}},{"before":"04f6fa310ddec494cfcf32fd3685cefe35a8d2a2","after":"404355317b3314da14a9ead0c0a50c040212e1fc","ref":"refs/heads/master","pushedAt":"2024-02-15T13:01:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"docs(README): update release details for libffi-3.4.5","shortMessageHtmlLink":"docs(README): update release details for libffi-3.4.5"}},{"before":"00c0c87773910a320d82f026bb481eea31b50206","after":"04f6fa310ddec494cfcf32fd3685cefe35a8d2a2","ref":"refs/heads/master","pushedAt":"2024-02-15T12:52:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"mips: Fix N32 ABI return value handling (#813)\n\nIn N32 ABI, 8-bit or 16-bit integers should be extended following the\r\nsignedness of the integer, but 32-bit integers should always be\r\nsign-extended to 64-bit (note that N32 ABI only works on 64-bit CPUs).\r\n\r\nSo handling this in everything using libffi would be nasty. And the\r\nlibffi code for architectures with a similar rule (LoongArch & RISC-V)\r\nalso properly handle this. Let's do this work in libffi for MIPS N32\r\ntoo.\r\n\r\nThis fixes two failures in Python 3.12.1 ctypes test.","shortMessageHtmlLink":"mips: Fix N32 ABI return value handling (#813)"}},{"before":"b3091029ed85339c856224c243826022ae93c041","after":"00c0c87773910a320d82f026bb481eea31b50206","ref":"refs/heads/master","pushedAt":"2024-02-15T12:51:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Fix loongarch64 soft-float build (#816) (#817)","shortMessageHtmlLink":"Fix loongarch64 soft-float build (#816) (#817)"}},{"before":"98881ecb8eec6d5f2beaaced96d9f625b0dee499","after":"b3091029ed85339c856224c243826022ae93c041","ref":"refs/heads/master","pushedAt":"2024-02-15T12:51:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Emscripten: Don't unbox single element structs if they are larger than 16 bytes (#818)\n\nThis arguably is a compensation for a Python ctypes bug / strange behavior\r\ndescribed here:\r\nhttps://github.com/python/cpython/blob/a16a9f978f42b8a09297c1efbf33877f6388c403/Modules/_ctypes/stgdict.c#L718-L779\r\n\r\nIf a struct is larger than 16 bytes, Python does not bother to accurately report\r\nits contents figuring that we don't need to know.","shortMessageHtmlLink":"Emscripten: Don't unbox single element structs if they are larger tha…"}},{"before":"f9da12e944c947e797e5f3a98f3860c2a0ed055e","after":"98881ecb8eec6d5f2beaaced96d9f625b0dee499","ref":"refs/heads/master","pushedAt":"2024-02-15T12:50:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"aarch64: add BTI flag to ELF notes (#822)\n\nWhen a program is loaded and linked, the first ELF file that doesn't\r\ndeclare that BTI is supported in the GNU NOTES section disables BTI\r\nsupport.\r\n\r\nExample:\r\nreadelf -n ./aarch64-unknown-linux-gnu/.libs/libffi.so\r\nDisplaying notes found in: .note.gnu.property\r\n Owner Data size \tDescription\r\n GNU 0x00000010\tNT_GNU_PROPERTY_TYPE_0\r\n Properties: AArch64 feature: BTI\r\n\r\nFixes: #823\r\n\r\nSigned-off-by: Bill Roberts ","shortMessageHtmlLink":"aarch64: add BTI flag to ELF notes (#822)"}},{"before":"f8ed78f1b2e65f2741455612d38477424e321850","after":"f9da12e944c947e797e5f3a98f3860c2a0ed055e","ref":"refs/heads/master","pushedAt":"2024-02-15T12:50:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"don't skip ffi_type_longdouble symbols (#814) (#824)\n\nSeems there are configurations (ppc64 or ppc64le) that define\r\nHAVE_LONG_DOUBLE_VARIANT in fficonfig.h, but do not define\r\nHAVE_LONG_DOUBLE, and still want ffi_type_{,complex_}longdouble\r\nsymbols. Update the condition in libffi.map.in accordingly.","shortMessageHtmlLink":"don't skip ffi_type_longdouble symbols (#814) (#824)"}},{"before":"0b1dd62bef4192b61153182f7687edf7e885611c","after":"f8ed78f1b2e65f2741455612d38477424e321850","ref":"refs/heads/master","pushedAt":"2024-02-15T12:49:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"LoongArch: Fix a build error with GCC 14 (#825)\n\nFix the build error with GCC 14:\r\n\r\n ../src/loongarch64/ffi.c: In function 'ffi_prep_closure_loc':\r\n ../src/loongarch64/ffi.c:525:7: error: implicit declaration of\r\n function 'ffi_tramp_set_parms' [-Wimplicit-function-declaration]","shortMessageHtmlLink":"LoongArch: Fix a build error with GCC 14 (#825)"}},{"before":"c07c40ee9444e029bc595860a669de32b7af282a","after":"0b1dd62bef4192b61153182f7687edf7e885611c","ref":"refs/heads/master","pushedAt":"2024-02-01T03:54:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Update README.md (#820)\n\nFor cygwin/MSVC build, CXXCPP is also needed to pass configure checks","shortMessageHtmlLink":"Update README.md (#820)"}},{"before":"622caabcd25f4e11f752241417d06c9062acdf1f","after":"c07c40ee9444e029bc595860a669de32b7af282a","ref":"refs/heads/master","pushedAt":"2024-02-01T03:43:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"`feat(github-actions): add new build workflow for warp`","shortMessageHtmlLink":"feat(github-actions): add new build workflow for warp"}},{"before":"a1c391bd8e604c611c7e9c8f6705dc723d403eb5","after":"622caabcd25f4e11f752241417d06c9062acdf1f","ref":"refs/heads/master","pushedAt":"2023-12-24T15:38:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Put more optional symbols behind ifdefs (#812)","shortMessageHtmlLink":"Put more optional symbols behind ifdefs (#812)"}},{"before":"3a62a08af7bd0b5d540a087590dc54cdc312416b","after":"a1c391bd8e604c611c7e9c8f6705dc723d403eb5","ref":"refs/heads/master","pushedAt":"2023-12-22T10:30:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Fix a variety of warnings (#811)","shortMessageHtmlLink":"Fix a variety of warnings (#811)"}},{"before":"d96fa2117cc6ca2923de9a2f34311ef0219b7590","after":"3a62a08af7bd0b5d540a087590dc54cdc312416b","ref":"refs/heads/master","pushedAt":"2023-12-21T20:19:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Remove warnings","shortMessageHtmlLink":"Remove warnings"}},{"before":"5b1944b4ce4b03e28a5843d36812756168d66b08","after":"d96fa2117cc6ca2923de9a2f34311ef0219b7590","ref":"refs/heads/master","pushedAt":"2023-12-21T19:04:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Eliminate warning","shortMessageHtmlLink":"Eliminate warning"}},{"before":"11af2196d5f4e8c756758cf86e4ab79dda89f405","after":"5b1944b4ce4b03e28a5843d36812756168d66b08","ref":"refs/heads/master","pushedAt":"2023-11-28T22:38:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"aarch64: Write the BTI instructions as \"hint\" instructions (#810)\n\nGNU binutils refuses to assemble the direct BTI instructions unless\r\nthe target architecture explicitly supports BTI, ending up with errors\r\nsuch as\r\n\r\n ../src/aarch64/sysv.S: Assembler messages:\r\n ../src/aarch64/sysv.S:87: Error: selected processor does not support `bti c'\r\n ../src/aarch64/sysv.S:156: Error: selected processor does not support `bti j'\r\n\r\nBuilding with -march=armv8.5-a fixes building this.\r\n\r\nHowever, the BTI instructions assemble into hint instructions, that\r\nare ignored by processors that don't implement them. Therefore it is\r\npossible to assemble them for the baseline armv8.0-a target as well,\r\nby replacing \"bti j\" with \"hint #36\", \"bti c\" with \"hint #34\" and\r\n\"bti jc\" with \"hint #38\"; this assembles into the same instruction\r\nbits.","shortMessageHtmlLink":"aarch64: Write the BTI instructions as \"hint\" instructions (#810)"}},{"before":"d7f5e98b437a242ac712cda8df3e47b205339711","after":"11af2196d5f4e8c756758cf86e4ab79dda89f405","ref":"refs/heads/master","pushedAt":"2023-11-23T14:22:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Reference recent changes","shortMessageHtmlLink":"Reference recent changes"}},{"before":"7f960d9a062fab0624302e9f63ef8b025f51dd10","after":"d7f5e98b437a242ac712cda8df3e47b205339711","ref":"refs/heads/master","pushedAt":"2023-11-23T14:16:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Fix visibility check for AIX (#804)","shortMessageHtmlLink":"Fix visibility check for AIX (#804)"}},{"before":"d93c0be8a0f11f207e8232770c5f0590406efad1","after":"7f960d9a062fab0624302e9f63ef8b025f51dd10","ref":"refs/heads/master","pushedAt":"2023-11-23T14:16:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"[powerpc][AIX] fix layout issues for nested struct types (#805)\n\n* [powerpc][AIX] fix layout issues for nested struct types\r\n\r\nOn AIX under the default power alignment rules, the layout\r\nof struct types which are nested inside other structs may\r\nbe different than the layout of those types on their own.\r\n\r\nSpecifically the first member double rules which would\r\napply an eight byte alignment if that type appears in the\r\nfirst position of a struct:\r\n\r\n 1) apply recursively if the struct appear in the first member\r\n of another struct\r\n 2) do not apply if that struct is itself a member of another struct\r\n and not the first member.\r\n\r\nThe current implementation of the rules in libffi doesn't handle these\r\ncases, causing a mismatch with the compiler and causing some crashes\r\nwe see when OpenJ9 is used with libffi on AIX.\r\n\r\nThis PR corrects this and adds some representative test cases.\r\n\r\n* Fix code style\r\n\r\n* Add a size check\r\n\r\n* Add additional test\r\n\r\n* Fix padding in internal structs\r\n\r\n* Flip condition back to original form\r\n\r\n* Add a comment","shortMessageHtmlLink":"[powerpc][AIX] fix layout issues for nested struct types (#805)"}},{"before":"adbcf2b247696dde2667ab552cb93e0c79455c84","after":"d93c0be8a0f11f207e8232770c5f0590406efad1","ref":"refs/heads/master","pushedAt":"2023-11-23T14:15:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Add bti intructions to aarch64 assembly to work with strict (#808)\n\nBTI enforcement on OpenBSD.","shortMessageHtmlLink":"Add bti intructions to aarch64 assembly to work with strict (#808)"}},{"before":"357755eef44735676de1cec458192c7784fb3aa8","after":"adbcf2b247696dde2667ab552cb93e0c79455c84","ref":"refs/heads/master","pushedAt":"2023-10-21T13:58:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Disable firefox testing","shortMessageHtmlLink":"Disable firefox testing"}},{"before":"c23e9a1c81a84ea4804d001865845b25ff8d4c8a","after":"357755eef44735676de1cec458192c7784fb3aa8","ref":"refs/heads/master","pushedAt":"2023-10-21T13:05:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Try logging","shortMessageHtmlLink":"Try logging"}},{"before":"a4be0b7210b5a7fd67770d2f4d63105900bc459a","after":"c23e9a1c81a84ea4804d001865845b25ff8d4c8a","ref":"refs/heads/master","pushedAt":"2023-10-21T11:44:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"atgreen","name":"Anthony Green","path":"/atgreen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89993?s=80&v=4"},"commit":{"message":"Check if FFI_GO_CLOSURES is defined (#796)\n\nThis macro is always defined to 1 if defined, or undefined.\r\nWith `-Wundef` option, checking the value without checking if it is defined causes warnings:\r\n\r\n```\r\n/opt/local/include/ffi.h:477:5: warning: 'FFI_GO_CLOSURES' is not defined, evaluates to 0 [-Wundef]\r\n#if FFI_GO_CLOSURES\r\n ^\r\n```","shortMessageHtmlLink":"Check if FFI_GO_CLOSURES is defined (#796)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEGdj3_gA","startCursor":null,"endCursor":null}},"title":"Activity · libffi/libffi"}