x86/build changes for v6.8:
- Update the objdump & instruction decoder self-test code for better LLVM toolchain compatibility - Rework CONFIG_X86_PAE dependencies, for better readability and higher robustness. - Misc cleanups Signed-off-by: Ingo Molnar <mingo@kernel.org> -----BEGIN PGP SIGNATURE----- iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmWb2OgRHG1pbmdvQGtl cm5lbC5vcmcACgkQEnMQ0APhK1jLsQ/+Pyub3JBVG256jH5ShGt61Ums8jowv4my 4PFozz8SKutgfRYT2XT3gRNmg/wYJXTpYVpvFy6btBkxH/ny3iSfQLYFs1+p3oKZ 3R2Aq4Esro6zbXm2N29z2jZF3R9nL6vX6gAdQz/N5d6+44ifTLAM/OZXEaCVTLzO 4zSxUib19oEqSvIyUTl4ZqKag1UvYjq5UaRBWW9iTI/jsPmU/qSAjpbJvxRago+0 iJwOYgKebRPR1Mxzw2eoXIfmt0r8+pLALYi4a+Mk7ROIcfNgh+B9Z+gJApY58bUv Z2YeYgJRj0/OkhmHQjt92vgovFkFM2VvocrJsQy78piuv7JlExBKAXHFndT7QdU7 S+ZMFhcr+jU/deY0WWVEDBvX9lbpbn/s1NiEguOiwzt5tSh/RzvsmpNNnD/idsQD aqrA6ttlg8UiE2G4nfyqiB6eXgRMy5C3v40JbT1B1ebkkgAS78oLDsI2sec/YyFE CKzb/Apva1rI1HWQYMgQ3wHVKyf8JtzOYKyNm7cV9jDjgBDGV2eEn9M8cVGXgF+J 5ozfv7dh8A7l1KVRSN+nWdjWnqEk/n16m3FD4IiQTeb3P08aGzvsOax3YZhuYuoU 92kgpGlOzFNyAIBSH4lT9QU1LfjoQPbq1dD72hocXaHsZM7IcTtDZBca59VsvCMZ ptt0lmqwQhM= =kKzf -----END PGP SIGNATURE----- Merge tag 'x86-build-2024-01-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 build updates from Ingo Molnar: - Update the objdump & instruction decoder self-test code for better LLVM toolchain compatibility - Rework CONFIG_X86_PAE dependencies, for better readability and higher robustness. - Misc cleanups * tag 'x86-build-2024-01-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/tools: objdump_reformat.awk: Skip bad instructions from llvm-objdump x86/Kconfig: Rework CONFIG_X86_PAE dependency x86/tools: Remove chkobjdump.awk x86/tools: objdump_reformat.awk: Allow for spaces x86/tools: objdump_reformat.awk: Ensure regex matches fwait
This commit is contained in:
commit
42c371f8ec
@ -1415,7 +1415,7 @@ config HIGHMEM4G
|
||||
|
||||
config HIGHMEM64G
|
||||
bool "64GB"
|
||||
depends on !M486SX && !M486 && !M586 && !M586TSC && !M586MMX && !MGEODE_LX && !MGEODEGX1 && !MCYRIXIII && !MELAN && !MWINCHIPC6 && !MWINCHIP3D && !MK6
|
||||
depends on X86_HAVE_PAE
|
||||
select X86_PAE
|
||||
help
|
||||
Select this if you have a 32-bit processor and more than 4
|
||||
@ -1472,7 +1472,7 @@ config HIGHMEM
|
||||
|
||||
config X86_PAE
|
||||
bool "PAE (Physical Address Extension) Support"
|
||||
depends on X86_32 && !HIGHMEM4G
|
||||
depends on X86_32 && X86_HAVE_PAE
|
||||
select PHYS_ADDR_T_64BIT
|
||||
select SWIOTLB
|
||||
help
|
||||
|
@ -362,9 +362,13 @@ config X86_TSC
|
||||
def_bool y
|
||||
depends on (MWINCHIP3D || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2 || MATOM) || X86_64
|
||||
|
||||
config X86_HAVE_PAE
|
||||
def_bool y
|
||||
depends on MCRUSOE || MEFFICEON || MCYRIXIII || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC7 || MCORE2 || MATOM || X86_64
|
||||
|
||||
config X86_CMPXCHG64
|
||||
def_bool y
|
||||
depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586TSC || M586MMX || MATOM || MGEODE_LX || MGEODEGX1 || MK6 || MK7 || MK8
|
||||
depends on X86_HAVE_PAE || M586TSC || M586MMX || MK6 || MK7
|
||||
|
||||
# this should be set for all -march=.. options where the compiler
|
||||
# generates cmov.
|
||||
|
@ -17,7 +17,7 @@ reformatter = $(srctree)/arch/x86/tools/objdump_reformat.awk
|
||||
chkobjdump = $(srctree)/arch/x86/tools/chkobjdump.awk
|
||||
|
||||
quiet_cmd_posttest = TEST $@
|
||||
cmd_posttest = ($(OBJDUMP) -v | $(AWK) -f $(chkobjdump)) || $(OBJDUMP) -d -j .text $(objtree)/vmlinux | $(AWK) -f $(reformatter) | $(obj)/insn_decoder_test $(posttest_64bit) $(posttest_verbose)
|
||||
cmd_posttest = $(OBJDUMP) -d -j .text $(objtree)/vmlinux | $(AWK) -f $(reformatter) | $(obj)/insn_decoder_test $(posttest_64bit) $(posttest_verbose)
|
||||
|
||||
quiet_cmd_sanitytest = TEST $@
|
||||
cmd_sanitytest = $(obj)/insn_sanity $(posttest_64bit) -m 1000000
|
||||
|
@ -1,34 +0,0 @@
|
||||
# GNU objdump version checker
|
||||
#
|
||||
# Usage:
|
||||
# objdump -v | awk -f chkobjdump.awk
|
||||
BEGIN {
|
||||
# objdump version 2.19 or later is OK for the test.
|
||||
od_ver = 2;
|
||||
od_sver = 19;
|
||||
}
|
||||
|
||||
/^GNU objdump/ {
|
||||
verstr = ""
|
||||
gsub(/\(.*\)/, "");
|
||||
for (i = 3; i <= NF; i++)
|
||||
if (match($(i), "^[0-9]")) {
|
||||
verstr = $(i);
|
||||
break;
|
||||
}
|
||||
if (verstr == "") {
|
||||
printf("Warning: Failed to find objdump version number.\n");
|
||||
exit 0;
|
||||
}
|
||||
split(verstr, ver, ".");
|
||||
if (ver[1] > od_ver ||
|
||||
(ver[1] == od_ver && ver[2] >= od_sver)) {
|
||||
exit 1;
|
||||
} else {
|
||||
printf("Warning: objdump version %s is older than %d.%d\n",
|
||||
verstr, od_ver, od_sver);
|
||||
print("Warning: Skipping posttest.");
|
||||
# Logic is inverted, because we just skip test without error.
|
||||
exit 0;
|
||||
}
|
||||
}
|
@ -11,8 +11,8 @@ BEGIN {
|
||||
prev_addr = ""
|
||||
prev_hex = ""
|
||||
prev_mnemonic = ""
|
||||
bad_expr = "(\\(bad\\)|^rex|^.byte|^rep(z|nz)$|^lock$|^es$|^cs$|^ss$|^ds$|^fs$|^gs$|^data(16|32)$|^addr(16|32|64))"
|
||||
fwait_expr = "^9b "
|
||||
bad_expr = "(\\(bad\\)|<unknown>|^rex|^.byte|^rep(z|nz)$|^lock$|^es$|^cs$|^ss$|^ds$|^fs$|^gs$|^data(16|32)$|^addr(16|32|64))"
|
||||
fwait_expr = "^9b[ \t]*fwait"
|
||||
fwait_str="9b\tfwait"
|
||||
}
|
||||
|
||||
@ -22,7 +22,7 @@ BEGIN {
|
||||
}
|
||||
|
||||
/^ *[0-9a-f]+:/ {
|
||||
if (split($0, field, "\t") < 3) {
|
||||
if (split($0, field, /: |\t/) < 3) {
|
||||
# This is a continuation of the same insn.
|
||||
prev_hex = prev_hex field[2]
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user