| From: Nikolay Borisov <nborisov@suse.com> |
| Subject: scripts/bloat-o-meter: add -p argument |
| Date: Fri, 1 Jul 2022 14:35:13 +0300 |
| |
| When doing cross platform development on a machine sometimes it might be |
| useful to invoke bloat-o-meter for files which haven't been build with the |
| native toolchain. In cases when the host nm doesn't support the target |
| one then a toolchain-specific nm could be used. Add this ability by |
| adding the -p allowing invocations as: |
| |
| ./scripts/bloat-o-meter -p riscv64-unknown-linux-gnu- file1.o file2.o |
| |
| Link: https://lkml.kernel.org/r/20220701113513.1938008-2-nborisov@suse.com |
| Signed-off-by: Nikolay Borisov <nborisov@suse.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| scripts/bloat-o-meter | 7 ++++++- |
| 1 file changed, 6 insertions(+), 1 deletion(-) |
| |
| --- a/scripts/bloat-o-meter~scripts-bloat-o-meter-add-p-argument |
| +++ a/scripts/bloat-o-meter |
| @@ -17,6 +17,7 @@ group = parser.add_mutually_exclusive_gr |
| group.add_argument('-c', help='categorize output based on symbol type', action='store_true') |
| group.add_argument('-d', help='Show delta of Data Section', action='store_true') |
| group.add_argument('-t', help='Show delta of text Section', action='store_true') |
| +parser.add_argument('-p', dest='prefix', help='Arch prefix for the tool being used. Useful in cross build scenarios') |
| parser.add_argument('file1', help='First file to compare') |
| parser.add_argument('file2', help='Second file to compare') |
| |
| @@ -26,7 +27,11 @@ re_NUMBER = re.compile(r'\.[0-9]+') |
| |
| def getsizes(file, format): |
| sym = {} |
| - with os.popen("nm --size-sort " + file) as f: |
| + nm = "nm" |
| + if args.prefix: |
| + nm = "{}nm".format(args.prefix) |
| + |
| + with os.popen("{} --size-sort {}".format(nm, file)) as f: |
| for line in f: |
| if line.startswith("\n") or ":" in line: |
| continue |
| _ |