diff options
| -rw-r--r-- | arch/x86/tools/chkobjdump.awk | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/arch/x86/tools/chkobjdump.awk b/arch/x86/tools/chkobjdump.awk index 5bbb5a33f220..fd1ab80be0de 100644 --- a/arch/x86/tools/chkobjdump.awk +++ b/arch/x86/tools/chkobjdump.awk | |||
| @@ -8,14 +8,24 @@ BEGIN { | |||
| 8 | od_sver = 19; | 8 | od_sver = 19; |
| 9 | } | 9 | } |
| 10 | 10 | ||
| 11 | /^GNU/ { | 11 | /^GNU objdump/ { |
| 12 | split($3, ver, "."); | 12 | verstr = "" |
| 13 | for (i = 3; i <= NF; i++) | ||
| 14 | if (match($(i), "^[0-9]")) { | ||
| 15 | verstr = $(i); | ||
| 16 | break; | ||
| 17 | } | ||
| 18 | if (verstr == "") { | ||
| 19 | printf("Warning: Failed to find objdump version number.\n"); | ||
| 20 | exit 0; | ||
| 21 | } | ||
| 22 | split(verstr, ver, "."); | ||
| 13 | if (ver[1] > od_ver || | 23 | if (ver[1] > od_ver || |
| 14 | (ver[1] == od_ver && ver[2] >= od_sver)) { | 24 | (ver[1] == od_ver && ver[2] >= od_sver)) { |
| 15 | exit 1; | 25 | exit 1; |
| 16 | } else { | 26 | } else { |
| 17 | printf("Warning: objdump version %s is older than %d.%d\n", | 27 | printf("Warning: objdump version %s is older than %d.%d\n", |
| 18 | $4, od_ver, od_sver); | 28 | verstr, od_ver, od_sver); |
| 19 | print("Warning: Skipping posttest."); | 29 | print("Warning: Skipping posttest."); |
| 20 | # Logic is inverted, because we just skip test without error. | 30 | # Logic is inverted, because we just skip test without error. |
| 21 | exit 0; | 31 | exit 0; |
