]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-110190: Fix ctypes structs with array on Arm (#112604)
authorDiego Russo <diego.russo@arm.com>
Tue, 5 Dec 2023 15:07:50 +0000 (15:07 +0000)
committerGitHub <noreply@github.com>
Tue, 5 Dec 2023 15:07:50 +0000 (16:07 +0100)
commitbc68f4a4abcfbea60bb1db1ccadb07613561931c
tree33433b1b17d0871f69594a60da419ff2276fb7d1
parente7e1116a781434763c309b55a31204a98237f7b4
gh-110190: Fix ctypes structs with array on Arm (#112604)

Set MAX_STRUCT_SIZE to 32 in stgdict.c when on Arm platforms.
This because on Arm platforms structs with at most 4 elements of any
floating point type values can be passed through registers. If the type
is double the maximum size of the struct is 32 bytes.
On x86-64 Linux, it's maximum 16 bytes hence we need to differentiate.
Lib/test/test_ctypes/test_structures.py
Misc/NEWS.d/next/Library/2023-12-01-18-05-09.gh-issue-110190.5bf-c9.rst [new file with mode: 0644]
Modules/_ctypes/_ctypes_test.c
Modules/_ctypes/stgdict.c