diff options
| author | cgd <cgd@NetBSD.org> | 1993-09-23 21:10:27 +0000 |
|---|---|---|
| committer | cgd <cgd@NetBSD.org> | 1993-09-23 21:10:27 +0000 |
| commit | 3560b76d3f84cb0ea9f5fe3311f110609d77240a (patch) | |
| tree | d16f4bd7e5ba4513a6b38820d70e1c0199132c8f /gnu/lib/libmalloc/mtrace.awk | |
| parent | 10c0a04cce1fe09818446413a5f6f1684ddb77c2 (diff) | |
add gnu malloc library. to use, -lgnumalloc (same style as -lgnuregex)
Diffstat (limited to 'gnu/lib/libmalloc/mtrace.awk')
| -rw-r--r-- | gnu/lib/libmalloc/mtrace.awk | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/lib/libmalloc/mtrace.awk b/gnu/lib/libmalloc/mtrace.awk new file mode 100644 index 00000000000..d7689cec3ff --- /dev/null +++ b/gnu/lib/libmalloc/mtrace.awk @@ -0,0 +1,36 @@ +# +# 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]; + } |
