[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