On Wed, May 22, 2019 at 05:03:23PM -0700, Matt Helsley wrote: > This series cleans up recordmcount and then makes it into > an objtool subcommand. > > The series starts with 8 cleanup patches which make recordmcount > easier to review and integrate with objtool. The final 5 patches > show the beginning steps of converting recordmcount to use objtool's > ELF code rather than its own open-coded methods of accessing ELF > files.
Hi Matt, Thanks for the patches. This looks like a good step in the right direction. What's the performance difference between the old recordmcount and the new version which relies on elf_open()? It would be useful to compare kernel build times, before and after. Would it be feasible to eventually combine subcommands so that objtool could do both ORC and mcount generation in a single invocation? I wonder what what the interface would look like. > Matt Helsley (13): > recordmcount: Remove redundant strcmp > recordmcount: Remove uread() > recordmcount: Remove unused fd from uwrite() and ulseek() > recordmcount: Rewrite error/success handling > recordmcount: Kernel style function signature formatting > recordmcount: Kernel style formatting > recordmcount: Remove redundant cleanup() calls > recordmcount: Clarify what cleanup() does > objtool: Prepare to merge recordmcount > objtool: Make recordmcount into an objtool subcmd > objtool: recordmcount: Start using objtool's elf wrapper > objtool: recordmcount: Search for __mcount_loc before walking the > sections > objtool: recordmcount: Convert do_func() relhdrs > > scripts/.gitignore | 1 - > scripts/Makefile | 1 - > scripts/Makefile.build | 22 +- > tools/objtool/.gitignore | 1 + > tools/objtool/Build | 1 + > tools/objtool/Makefile | 7 +- > tools/objtool/builtin-mcount.c | 72 +++++ > tools/objtool/builtin-mcount.h | 23 ++ > tools/objtool/builtin.h | 6 + > tools/objtool/objtool.c | 6 + > {scripts => tools/objtool}/recordmcount.c | 350 ++++++++++----------- > {scripts => tools/objtool}/recordmcount.h | 197 +++++++----- > {scripts => tools/objtool}/recordmcount.pl | 0 > 13 files changed, 420 insertions(+), 267 deletions(-) > create mode 100644 tools/objtool/builtin-mcount.c > create mode 100644 tools/objtool/builtin-mcount.h > rename {scripts => tools/objtool}/recordmcount.c (78%) > rename {scripts => tools/objtool}/recordmcount.h (78%) > rename {scripts => tools/objtool}/recordmcount.pl (100%) > > -- > 2.20.1 > -- Josh