From 21e09b1c157b1b8488055bae3f973143d6f59e20 Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Sun, 22 Jul 2018 10:11:26 -0600 Subject: Build system: Add fixes for scanbuild - Exclude build flags that generate warnings when scanbuild is running - Add the SCANBUILD_ARGS variable to abuild so we can pass in arguments to scanbuild. - Set the default scanbuild argument to -k (--keep-going) so that even if an error occurs it continues with the scan. This is similar to what we do with coverity runs. Change-Id: I82e7c13d7fd7432b43c17a31834ec82fca158a07 Signed-off-by: Martin Roth Reviewed-on: https://review.coreboot.org/27595 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- Makefile.inc | 9 +++------ util/abuild/abuild | 3 ++- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Makefile.inc b/Makefile.inc index 6884a90967..fe325048f8 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -385,11 +385,13 @@ CFLAGS_common += -Wstrict-aliasing -Wshadow -Wdate-time CFLAGS_common += -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer CFLAGS_common += -ffunction-sections -fdata-sections -fno-pie ifeq ($(CONFIG_COMPILER_GCC),y) -CFLAGS_common += -Wno-packed-not-aligned CFLAGS_common += -fno-delete-null-pointer-checks # Don't add these GCC specific flags when running scan-build ifeq ($(CCC_ANALYZER_OUTPUT_FORMAT),) +CFLAGS_common += -Wno-packed-not-aligned CFLAGS_common += -fconserve-stack +# cf. commit f69a99db (coreboot: x86: enable gc-sections) +CFLAGS_common += -Wno-unused-but-set-variable endif endif @@ -439,11 +441,6 @@ ADAFLAGS_common += -gnatyN LDFLAGS_common := --gc-sections -nostdlib -nostartfiles -static --emit-relocs -ifeq ($(CONFIG_COMPILER_GCC),y) -# cf. commit f69a99db (coreboot: x86: enable gc-sections) -CFLAGS_common += -Wno-unused-but-set-variable -endif - ifeq ($(CONFIG_WARNINGS_ARE_ERRORS),y) CFLAGS_common += -Werror endif diff --git a/util/abuild/abuild b/util/abuild/abuild index 85881b3411..5ec416a97b 100755 --- a/util/abuild/abuild +++ b/util/abuild/abuild @@ -469,7 +469,7 @@ function build_config if [ "$scanbuild" = "true" ]; then scanbuild_out=$TARGET/${BUILD_NAME}-scanbuild rm -rf "${scanbuild_out}" - BUILDPREFIX="scan-build -o ${scanbuild_out}tmp" + BUILDPREFIX="scan-build ${SCANBUILD_ARGS} -o ${scanbuild_out}tmp" fi compile_target "${BUILD_NAME}" if [ "$scanbuild" = "true" ]; then @@ -667,6 +667,7 @@ while true ; do --scan-build) shift scanbuild=true customizing="${customizing}, scan-build" + SCANBUILD_ARGS=${SCANBUILD_ARGS:-'-k'} ;; -y|--ccache) shift customizing="${customizing}, ccache" -- cgit v1.2.3