diff options
Diffstat (limited to 'kernel/arch/x86/tools/chkobjdump.awk')
-rw-r--r-- | kernel/arch/x86/tools/chkobjdump.awk | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/kernel/arch/x86/tools/chkobjdump.awk b/kernel/arch/x86/tools/chkobjdump.awk new file mode 100644 index 000000000..fd1ab80be --- /dev/null +++ b/kernel/arch/x86/tools/chkobjdump.awk @@ -0,0 +1,33 @@ +# 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 = "" + 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; + } +} |