The force_align_arg_pointer attribute was using a hardcoded 16-byte alignment value which in combination with -mstack-alignment=32 (or larger) would produce a misaligned stack which could result in crashes when accessing stack buffers using aligned AVX load/store instructions.
The attached patch fixes the issue by using the "stackrealign" function attribute instead of using a hardcoded 16-byte alignment. Tested on 64-bit Linux and it works as far as I can see, unable to test on anything else though.
force_align_arg_pointer.diff
Description: Binary data
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits