chkobjdump.awk 742 B

12345678910111213141516171819202122232425262728293031323334
  1. # GNU objdump version checker
  2. #
  3. # Usage:
  4. # objdump -v | awk -f chkobjdump.awk
  5. BEGIN {
  6. # objdump version 2.19 or later is OK for the test.
  7. od_ver = 2;
  8. od_sver = 19;
  9. }
  10. /^GNU objdump/ {
  11. verstr = ""
  12. gsub(/\(.*\)/, "");
  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, ".");
  23. if (ver[1] > od_ver ||
  24. (ver[1] == od_ver && ver[2] >= od_sver)) {
  25. exit 1;
  26. } else {
  27. printf("Warning: objdump version %s is older than %d.%d\n",
  28. verstr, od_ver, od_sver);
  29. print("Warning: Skipping posttest.");
  30. # Logic is inverted, because we just skip test without error.
  31. exit 0;
  32. }
  33. }