forked from Minki/linux
scripts/bloat-o-meter: add -p argument
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>
This commit is contained in:
parent
b62eb2731e
commit
8b5db66798
@ -17,6 +17,7 @@ group = parser.add_mutually_exclusive_group()
|
|||||||
group.add_argument('-c', help='categorize output based on symbol type', action='store_true')
|
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('-d', help='Show delta of Data Section', action='store_true')
|
||||||
group.add_argument('-t', help='Show delta of text 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('file1', help='First file to compare')
|
||||||
parser.add_argument('file2', help='Second 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):
|
def getsizes(file, format):
|
||||||
sym = {}
|
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:
|
for line in f:
|
||||||
if line.startswith("\n") or ":" in line:
|
if line.startswith("\n") or ":" in line:
|
||||||
continue
|
continue
|
||||||
|
Loading…
Reference in New Issue
Block a user