On Mon, May 6, 2024 at 4:26 PM Fangrui Song maskray@google.com wrote:
On Wed, May 1, 2024 at 5:29 AM Muhammad Usama Anjum usama.anjum@collabora.com wrote:
This series fixes build errors found by clang to allow the x86 suite to get built with the clang.
Unfortunately, there is one bug [1] in the clang becuase of which extended asm isn't handled correctly by it and build fails for sysret_rip.c. Hence even after this series the build of this test would fail with clang. Should we disable this test for now when clang is used until the bug is fixed in clang? Not sure. Any opinions?
I've closed https://github.com/llvm/llvm-project/issues/53728 (constant expression folding for relocatable file output (MCObjectStreamer)).
I've sent a patch to address https://github.com/llvm/llvm-project/issues/62520 (constant expression folding for relocatable file output when inline assembly is used).
(I am subscribed to llvm@lists.linux.dev but rarely read it. I noticed this message accidentally :) )
On the LLVM/Clang side, I've landed https://github.com/llvm/llvm-project/pull/91082 to make the following .if directive work for clang -c. clang -S still doesn't work (https://discourse.llvm.org/t/rfc-clang-assembly-object-equivalence-for-files...) but people can probably live with that
``` % cat b.cc asm(R"( .pushsection .text,"ax" .globl _start; _start: ret .if . -_start == 1 ret .endif .popsection )");
% clang -c b.cc # succeeded with this patch % clang -S b.cc # still failed <inline asm>:4:5: error: expected absolute expression 4 | .if . -_start == 1 | ^ 1 error generated. ```
Muhammad Usama Anjum (8): selftests: x86: Remove dependence of headers file selftests: x86: check_initial_reg_state: remove -no-pie while using -static selftests: x86: test_vsyscall: remove unused function selftests: x86: fsgsbase_restore: fix asm directive from =rm to =r selftests: x86: syscall_arg_fault_32: remove unused variable selftests: x86: test_FISTTP: use fisttps instead of ambigous fisttp selftests: x86: fsgsbase: Remove unused function and variable selftests: x86: amx: Remove unused functions
tools/testing/selftests/x86/Makefile | 9 +++++---- tools/testing/selftests/x86/amx.c | 16 ---------------- tools/testing/selftests/x86/fsgsbase.c | 6 ------ tools/testing/selftests/x86/fsgsbase_restore.c | 2 +- tools/testing/selftests/x86/syscall_arg_fault.c | 1 - tools/testing/selftests/x86/test_FISTTP.c | 8 ++++---- tools/testing/selftests/x86/test_vsyscall.c | 5 ----- 7 files changed, 10 insertions(+), 37 deletions(-)
-- 2.39.2