aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/scripts/Makefile.chkbss
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2019-04-08 23:26:24 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2019-04-11 13:36:52 +0200
commit9a0ceb9cfbee7da4a005135c620603ea837878a9 (patch)
treea33ac528857d40e24ba64ff9a2cd10f591373393 /arch/s390/scripts/Makefile.chkbss
parents390: make __load_psw_mask work with clang (diff)
downloadlinux-dev-9a0ceb9cfbee7da4a005135c620603ea837878a9.tar.xz
linux-dev-9a0ceb9cfbee7da4a005135c620603ea837878a9.zip
s390: make chkbss work with clang
llvm skips an empty .bss section entirely, which makes the check fail with an unexpected error: /tmp/binutils-multi-test/bin/s390x-linux-gnu-objdump: section '.bss' mentioned in a -j option, but not found in any input file error: arch/s390/boot/compressed/decompressor.o .bss section is not empty ../arch/s390/scripts/Makefile.chkbss:20: recipe for target 'arch/s390/boot/compressed/decompressor.o.chkbss' failed Change the check so we first see if a .bss section exists before trying to read its size. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to '')
-rw-r--r--arch/s390/scripts/Makefile.chkbss3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/scripts/Makefile.chkbss b/arch/s390/scripts/Makefile.chkbss
index cd7e8f4419f5..884a9caff5fb 100644
--- a/arch/s390/scripts/Makefile.chkbss
+++ b/arch/s390/scripts/Makefile.chkbss
@@ -11,7 +11,8 @@ chkbss: $(addprefix $(obj)/, $(chkbss-files))
quiet_cmd_chkbss = CHKBSS $<
cmd_chkbss = \
- if ! $(OBJDUMP) -j .bss -w -h $< | awk 'END { if ($$3) exit 1 }'; then \
+ if $(OBJDUMP) -h $< | grep -q "\.bss" && \
+ ! $(OBJDUMP) -j .bss -w -h $< | awk 'END { if ($$3) exit 1 }'; then \
echo "error: $< .bss section is not empty" >&2; exit 1; \
fi; \
touch $@;