Re: [PATCH] scripts/ksize: Add kernel build size report

From: Josh Triplett
Date: Sat Nov 08 2014 - 22:27:10 EST


On Sat, Nov 08, 2014 at 03:18:18PM -0800, Darren Hart wrote:
> ksize generates hierarchical build size reports from vmlinux, *.o, and
> built-in.o files.
>
> ksize is useful in preparing minimal configurations and comparing
> similar configurations across kernel versions.
>
> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx>

One comment below; with that addressed:
Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>

> +def main(argv):
> + try:
> + opts, args = getopt.getopt(argv[1:], "dh", ["help"])
> + except getopt.GetoptError, err:
> + print '%s' % str(err)
> + usage()
> + return 2
> +
> + driver_detail = False
> + for o, a in opts:
> + if o == '-d':
> + driver_detail = True
> + elif o in ('-h', '--help'):
> + usage()
> + return 0
> + else:
> + assert False, "unhandled option"
> +
> + cols = term_width()
> +
> + # Determine kernel version
> + p = Popen("strings vmlinux | grep 'Linux version' | cut -d ' ' -f 3",
> + shell=True, stdout=PIPE, stderr=PIPE)
> + version = p.communicate()[0].strip()

This seems like a very fragile, Perl-y way to obtain the kernel version.

I'd suggest either not including the version (just as bloat-o-meter
doesn't), or parsing it out using objdump -h -t and file offsetting
(looking for the offset and size of linux_banner). Personally I'd go
with the former.

- Josh Triplett
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/