On Tue, Aug 6, 2019 at 7:56 PM Vasily Gorbik <gor@xxxxxxxxxxxxx> wrote: > > Currently empty .bss checks performed do not pay attention to "common > objects" in object files which end up in .bss section eventually. > > The "size" tool is a part of binutils and since version 2.18 provides > "--common" command line option, which allows to account "common objects" > sizes in .bss section size. Utilize "size --common" to perform accurate > check that .bss section is unused. Besides that the size tool handles > object files without .bss section gracefully and doesn't require > additional objdump run. > > The linux kernel requires binutils 2.20 since 4.13. > > Kbuild exports OBJSIZE to reference the right size tool. > > Signed-off-by: Vasily Gorbik <gor@xxxxxxxxxxxxx> > --- > arch/s390/scripts/Makefile.chkbss | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/arch/s390/scripts/Makefile.chkbss b/arch/s390/scripts/Makefile.chkbss > index 884a9caff5fb..ba1d7a8a242f 100644 > --- a/arch/s390/scripts/Makefile.chkbss > +++ b/arch/s390/scripts/Makefile.chkbss > @@ -11,8 +11,7 @@ chkbss: $(addprefix $(obj)/, $(chkbss-files)) > > quiet_cmd_chkbss = CHKBSS $< > cmd_chkbss = \ > - if $(OBJDUMP) -h $< | grep -q "\.bss" && \ > - ! $(OBJDUMP) -j .bss -w -h $< | awk 'END { if ($$3) exit 1 }'; then \ > + if ! $(OBJSIZE) --common $< | awk 'END { if ($$3) exit 1 }'; then \ While you are touching this line, you may also want to replace 'awk' with $(AWK), which is defined in the top-level Makefile. > echo "error: $< .bss section is not empty" >&2; exit 1; \ > fi; \ > touch $@; > -- > 2.21.0 > -- Best Regards Masahiro Yamada