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.

Attachment: 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

Reply via email to