mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
37 lines
860 B
Awk
37 lines
860 B
Awk
#
|
|
# Awk program to analyze mtrace.c output.
|
|
#
|
|
$1 == "+" { if (allocated[$2] != "")
|
|
print "+", $2, "Alloc", NR, "duplicate:", allocated[$2];
|
|
else
|
|
allocated[$2] = $3;
|
|
}
|
|
$1 == "-" { if (allocated[$2] != "") {
|
|
allocated[$2] = "";
|
|
if (allocated[$2] != "")
|
|
print "DELETE FAILED", $2, allocated[$2];
|
|
} else
|
|
print "-", $2, "Free", NR, "was never alloc'd";
|
|
}
|
|
$1 == "<" { if (allocated[$2] != "")
|
|
allocated[$2] = "";
|
|
else
|
|
print "-", $2, "Realloc", NR, "was never alloc'd";
|
|
}
|
|
$1 == ">" { if (allocated[$2] != "")
|
|
print "+", $2, "Realloc", NR, "duplicate:", allocated[$2];
|
|
else
|
|
allocated[$2] = $3;
|
|
}
|
|
|
|
# Ignore "= Start"
|
|
$1 == "=" { }
|
|
# Ignore failed realloc attempts for now
|
|
$1 == "!" { }
|
|
|
|
|
|
END { for (x in allocated)
|
|
if (allocated[x] != "")
|
|
print "+", x, allocated[x];
|
|
}
|