Re: [PATCH v4 0/7] selftests/x86: fix build errors and warnings found via clang

From: Shuah Khan
Date: Tue Jul 09 2024 - 16:34:24 EST


On 7/4/24 01:24, John Hubbard wrote:
Changes since v3:

1) Rebased onto Linux 6.10-rc6+.

2) Added Muhammad's acks for the series.

Cover letter for v3:

Hi,

Dave Hansen, Muhammad Usama Anjum, here is the combined series that we
discussed yesterday [1].

As I mentioned then, this is a bit intrusive--but no more than
necessary, IMHO. Specifically, it moves some clang-un-inlineable things
out to "pure" assembly code files.

I've tested this by building with clang, then running each binary on my
x86_64 test system with today's 6.10-rc1, and comparing the console and
dmesg output to a gcc-based build without these patches applied. Aside
from timestamps and virtual addresses, it looks identical.

Earlier cover letter:

Just a bunch of build and warnings fixes that show up when building with
clang. Some of these depend on each other, so I'm sending them as a
series.

Changes since v2:

1) Dropped my test_FISTTP.c patch, and picked up Muhammad's fix instead,
seeing as how that was posted first.

2) Updated patch descriptions to reflect that Valentin Obst's build fix
for LLVM [1] has already been merged into Linux main.

3) Minor wording and typo corrections in the commit logs throughout.

Changes since the first version:
1) Rebased onto Linux 6.10-rc1

Enjoy!

[1] https://lore.kernel.org/44428518-4d21-4de7-8587-04eceefb330d@xxxxxxxxxx

thanks,
John Hubbard

John Hubbard (6):
selftests/x86: fix Makefile dependencies to work with clang
selftests/x86: build fsgsbase_restore.c with clang
selftests/x86: build sysret_rip.c with clang
selftests/x86: avoid -no-pie warnings from clang during compilation
selftests/x86: remove (or use) unused variables and functions
selftests/x86: fix printk warnings reported by clang


Muhammad Usama Anjum (1):
selftests: x86: test_FISTTP: use fisttps instead of ambiguous fisttp


Usama and John,

I am seeing checkpatch warnings in this series.

v4-3-7
WARNING: externs should be avoided in .c files
#210: FILE: tools/testing/selftests/x86/fsgsbase_restore.c:46:
+unsigned int dereference_seg_base(void);

ARNING: Consecutive strings are generally better as a single string
#156: FILE: tools/testing/selftests/x86/test_FISTTP.c:28:
+ " fisttps res16""\n"

WARNING: Consecutive strings are generally better as a single string
#165: FILE: tools/testing/selftests/x86/test_FISTTP.c:48:
+ " fisttps res16""\n"

WARNING: Consecutive strings are generally better as a single string
#174: FILE: tools/testing/selftests/x86/test_FISTTP.c:69:
+ " fisttps res16""\n"

WARNING: Consecutive strings are generally better as a single string
#183: FILE: tools/testing/selftests/x86/test_FISTTP.c:91:
+ " fisttps res16""\n"

total: 0 errors, 5 warnings, 32 lines checked

Can you take a look at these and see if they can be fixed. Send me
v5 with these fixed - I will pull these in for 6.11-rc1

thanks,
-- Shuah