lkml.org 
[lkml]   [2019]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2/2] s390/build: use size command to perform empty .bss check
    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@linux.ibm.com>
    ---
    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 \
    echo "error: $< .bss section is not empty" >&2; exit 1; \
    fi; \
    touch $@;
    --
    2.21.0
    \
     
     \ /
      Last update: 2019-08-06 12:59    [W:2.270 / U:2.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site