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 = "" 138bee738bSMasami Hiramatsu for (i = 3; i <= NF; i++) 148bee738bSMasami Hiramatsu if (match($(i), "^[0-9]")) { 158bee738bSMasami Hiramatsu verstr = $(i); 168bee738bSMasami Hiramatsu break; 178bee738bSMasami Hiramatsu } 188bee738bSMasami Hiramatsu if (verstr == "") { 198bee738bSMasami Hiramatsu printf("Warning: Failed to find objdump version number.\n"); 208bee738bSMasami Hiramatsu exit 0; 218bee738bSMasami Hiramatsu } 228bee738bSMasami Hiramatsu split(verstr, ver, "."); 236f5f6726SMasami Hiramatsu if (ver[1] > od_ver || 246f5f6726SMasami Hiramatsu (ver[1] == od_ver && ver[2] >= od_sver)) { 256f5f6726SMasami Hiramatsu exit 1; 266f5f6726SMasami Hiramatsu } else { 276f5f6726SMasami Hiramatsu printf("Warning: objdump version %s is older than %d.%d\n", 288bee738bSMasami Hiramatsu verstr, od_ver, od_sver); 296f5f6726SMasami Hiramatsu print("Warning: Skipping posttest."); 306f5f6726SMasami Hiramatsu # Logic is inverted, because we just skip test without error. 316f5f6726SMasami Hiramatsu exit 0; 326f5f6726SMasami Hiramatsu } 336f5f6726SMasami Hiramatsu} 34