Re: [PATCH v2 5/9] objtool: Add verbose option for disassembling affected functions

From: Peter Zijlstra
Date: Thu Apr 13 2023 - 04:10:36 EST


On Wed, Apr 12, 2023 at 12:03:20PM -0700, Josh Poimboeuf wrote:
> + objdump_str = "%sobjdump -wdr %s | gawk -M -v _funcs='%s' '"
> + "BEGIN { split(_funcs, funcs); }"
> + "/^$/ { func_match = 0; }"
> + "/<.*>:/ { "
> + "f = gensub(/.*<(.*)>:/, \"\\\\1\", 1);"
> + "for (i in funcs) {"
> + "if (funcs[i] == f) {"
> + "func_match = 1;"
> + "base = strtonum(\"0x\" $1);"
> + "break;"
> + "}"
> + "}"
> + "}"
> + "{"
> + "if (func_match) {"
> + "addr = strtonum(\"0x\" $1);"
> + "printf(\"%%04x \", addr - base);"
> + "print;"
> + "}"
> + "}' 1>&2";

Do we want to have scripts/objdump-func.awk and use that to avoid the
duplication and eventual divergence of these awk thingies?