Branch: refs/heads/maint-5.40 Home: https://github.com/Perl/perl5 Commit: 2956da8f1708a40f59024a6a88d96bd4605b06d6 https://github.com/Perl/perl5/commit/2956da8f1708a40f59024a6a88d96bd4605b06d6 Author: Tony Cook <t...@develop-help.com> Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths: M sv_inline.h Log Message: ----------- bodies_by_type[SVt_PVNV]: handle __float128 NV alignment on 32-bit Perl SV body structures include xmg_stash and xmg_u fields at the front, which are only valid for type SVt_PVMG and higher. This allows those fields to be at a constant offset from the start of the body. To save memory perl generally allocates the bodies where type < SVt_PVMG without the space needed for these two fields, offsetting the body pointer back by the size of the two fields. At least for the first body in an arena this is technically undefined behaviour, but we've done it forever. With -msse __float128 requires 16 byte alignment, but for XPVNV bodies the hack used here means that the base of the XPVNV body ends up mis-aligned on 32-bit systems. On 64-bit systems the combined size of those fields is 16-bytes so the modified pointer is still properly aligned. To fix this allocate the full XPVNV structure when 16 byte alignment is required for NV, NV is more than 8 bytes and pointers are small enough that the NV would have been mis-aligned. Fixes #22577 (cherry picked from commit 914b0076e0ecf29ef800cad16518e6d8d3cb3f67) Commit: c5a43efc1bef22d2457888c1e223bde851e4e602 https://github.com/Perl/perl5/commit/c5a43efc1bef22d2457888c1e223bde851e4e602 Author: Karl Williamson <k...@cpan.org> Date: 2024-12-30 (Mon, 30 Dec 2024) Changed paths: M Configure Log Message: ----------- Configure: Fix compilation error on some systems See https://github.com/Perl/perl5/issues/22793 This typo in a printf format causes some C compilations to fail; others to just warn. However stderr is redirected to /dev/null, so we weren't aware of this issue. When it fails, other issues cause perl to not be usable on the system. (cherry picked from commit c9a9e95023afd06c29fb29c1d5762b9e7e3ad084) Compare: https://github.com/Perl/perl5/compare/0ecd18899c7a...c5a43efc1bef To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications