Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 8133ff91c4c7c14e009b6480e451ed83cb83d016
      
https://github.com/Perl/perl5/commit/8133ff91c4c7c14e009b6480e451ed83cb83d016
  Author: Tony Cook <t...@develop-help.com>
  Date:   2023-08-07 (Mon, 07 Aug 2023)

  Changed paths:
    M dist/threads/lib/threads.pm
    M dist/threads/threads.xs
    M mg.c
    M perl.h
    M win32/perlhost.h

  Log Message:
  -----------
  mingw 32-bit: realign the stack in our callbacks

A default 32-bit mingw build assumes the stack is 16 byte aligned,
which appears to be a problem with gcc.

With quadmath enabled, libgcc includes instructions that require
16-byte alignment and access relative to the stack pointer, and
when the stack isn't aligned, results in a crash.

To prevent that add the force_align_arg_pointer attribute to our
callbacks for 32-bit gcc on Windows.


Reply via email to