mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-17 02:36:21 +00:00
839ad22f75
Skip (omit) any version string info that is parenthesized. Warning: objdump version 15) is older than 2.19 Warning: Skipping posttest. where 'objdump -v' says: GNU objdump (GNU Binutils; SUSE Linux Enterprise 15) 2.35.1.20201123-7.18 Fixes: 8bee738bb1979 ("x86: Fix objdump version check in chkobjdump.awk for different formats.") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org> Link: https://lore.kernel.org/r/20210731000146.2720-1-rdunlap@infradead.org
35 lines
742 B
Awk
35 lines
742 B
Awk
# 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;
|
|
}
|
|
}
|