[PATCH] D62639: Fix ABI breakage with noimplicitfloat and varargs functions
Salim Nasser via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 10 13:21:25 PDT 2019
salim.nasser added a comment.
Note that this change will expose bug 42219 ([X86_64] Variadic functions unconditionally spill %XMM registers). In that bug report I wrote:
"Specifically this behavior may become a problem for OS kernel code compiled with -no-implicit-float when bug 36507 is fixed (https://reviews.llvm.org/D62639).
Previously, variadic functions compiled with -no-implicit-float could safely be used even with the SSE unit disabled. If we fix 36507 without fixing the present bug, such code will lead to a crash at runtime due to reading XMM registers.
I understand that it is arguable whether or not that would be a bug. For example AArch64 variadic functions always unconditionally access the vector registers. But that is because the AArch64 ABI does not provide a way to avoid this. Whereas the X86_64 ABI *does*."
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62639/new/
https://reviews.llvm.org/D62639
More information about the llvm-commits
mailing list