compnerd wrote: Not entirely - `_fltused` indicates that any floating point operations are being used. The problem is that the kernel mode code does not permit floating point operations (though you can explicitly use `KeSaveFloatingPointState` and `KeRestoreFloatingPointState` to explicitly use floating point code in a region). The `_fltused` is a protection mechanism for that, with the user space C++ runtime ("ABI library" - a la libc++abi) support library (vcruntime) providing a default definition of the symbol. That way, if the user accidentally uses floating point code in the kernel, it is identified at link time and prevents the errant use. Doing this post legalization makes sense though.
https://github.com/llvm/llvm-project/pull/100368 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits