16f5f6726SMasami Hiramatsu# GNU objdump version checker 26f5f6726SMasami Hiramatsu# 36f5f6726SMasami Hiramatsu# Usage: 46f5f6726SMasami Hiramatsu# objdump -v | awk -f chkobjdump.awk 56f5f6726SMasami HiramatsuBEGIN { 66f5f6726SMasami Hiramatsu # objdump version 2.19 or later is OK for the test. 76f5f6726SMasami Hiramatsu od_ver = 2; 86f5f6726SMasami Hiramatsu od_sver = 19; 96f5f6726SMasami Hiramatsu} 106f5f6726SMasami Hiramatsu 118bee738bSMasami Hiramatsu/^GNU objdump/ { 128bee738bSMasami Hiramatsu verstr = "" 13*839ad22fSRandy Dunlap gsub(/\(.*\)/, ""); 148bee738bSMasami Hiramatsu for (i = 3; i <= NF; i++) 158bee738bSMasami Hiramatsu if (match($(i), "^[0-9]")) { 168bee738bSMasami Hiramatsu verstr = $(i); 178bee738bSMasami Hiramatsu break; 188bee738bSMasami Hiramatsu } 198bee738bSMasami Hiramatsu if (verstr == "") { 208bee738bSMasami Hiramatsu printf("Warning: Failed to find objdump version number.\n"); 218bee738bSMasami Hiramatsu exit 0; 228bee738bSMasami Hiramatsu } 238bee738bSMasami Hiramatsu split(verstr, ver, "."); 246f5f6726SMasami Hiramatsu if (ver[1] > od_ver || 256f5f6726SMasami Hiramatsu (ver[1] == od_ver && ver[2] >= od_sver)) { 266f5f6726SMasami Hiramatsu exit 1; 276f5f6726SMasami Hiramatsu } else { 286f5f6726SMasami Hiramatsu printf("Warning: objdump version %s is older than %d.%d\n", 298bee738bSMasami Hiramatsu verstr, od_ver, od_sver); 306f5f6726SMasami Hiramatsu print("Warning: Skipping posttest."); 316f5f6726SMasami Hiramatsu # Logic is inverted, because we just skip test without error. 326f5f6726SMasami Hiramatsu exit 0; 336f5f6726SMasami Hiramatsu } 346f5f6726SMasami Hiramatsu} 35