Enable the use of scan-build on the coreboot-v3 tree, too
It requires a flag (CONFIG_SCAN_BUILD) to be set, and then $ scan-build make Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://coreboot.org/repository/coreboot-v3@1146 f3766cd6-281f-0410-b1cd-43a5c92072e9
This commit is contained in:
parent
5a90884bd4
commit
032a81eb9c
3 changed files with 34 additions and 9 deletions
8
Kconfig
8
Kconfig
|
|
@ -84,6 +84,14 @@ config WHOLE_PROGRAM_COMPILE
|
|||
Say No.
|
||||
If you are a Gentoo user, say NO!
|
||||
|
||||
config SCAN_BUILD
|
||||
bool "Use clang's scan-build utility for static analysis"
|
||||
depends EXPERT && EXPERIMENTAL && !WHOLE_PROGRAM_COMPILE
|
||||
default n
|
||||
help
|
||||
Change the compiler configuration so that a 'scan-build make'
|
||||
has a chance to succeed.
|
||||
|
||||
endmenu
|
||||
|
||||
source mainboard/Kconfig
|
||||
|
|
|
|||
10
Makefile
10
Makefile
|
|
@ -36,14 +36,14 @@ export src obj
|
|||
# Do not print "Entering directory ...".
|
||||
MAKEFLAGS += --no-print-directory
|
||||
|
||||
CC := gcc
|
||||
CC ?= gcc
|
||||
CFLAGS := -Os -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
|
||||
-Werror-implicit-function-declaration -Wstrict-aliasing \
|
||||
-fno-common -ffreestanding -fno-builtin -fomit-frame-pointer \
|
||||
-mpreferred-stack-boundary=2 -mregparm=3 -pipe
|
||||
# FIXME: Does stack boundary or regparm break the code on real hardware?
|
||||
|
||||
HOSTCC := gcc
|
||||
HOSTCC := $(CC)
|
||||
HOSTCXX := g++
|
||||
HOSTCFLAGS := -Wall -Wstrict-prototypes -g -fomit-frame-pointer \
|
||||
-Wno-unused -Wno-sign-compare
|
||||
|
|
@ -61,9 +61,6 @@ endif
|
|||
KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)
|
||||
export KERNELVERSION
|
||||
|
||||
include $(shell $(src)/util/xcompile/xcompile > $(src)/.xcompile || \
|
||||
{ echo "complete\\ toolchain" && rm -f $(src)/.xcompile && exit 1; }; echo $(src)/.xcompile)
|
||||
|
||||
ifeq ($(strip $(have_dotconfig)),)
|
||||
|
||||
all:
|
||||
|
|
@ -73,6 +70,9 @@ else
|
|||
|
||||
include $(src)/.config
|
||||
|
||||
include $(shell scanbuild=$(CONFIG_SCAN_BUILD) $(src)/util/xcompile/xcompile > $(src)/.xcompile || \
|
||||
{ echo "complete\\ toolchain" && rm -f $(src)/.xcompile && exit 1; }; echo $(src)/.xcompile)
|
||||
|
||||
ifneq ($(CONFIG_LOCALVERSION),"")
|
||||
COREBOOT_EXTRA_VERSION := -$(shell echo $(CONFIG_LOCALVERSION))
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -55,8 +55,20 @@ searchgnu()
|
|||
|
||||
case "$ARCH" in
|
||||
"x86_64")
|
||||
echo "CC_x86 := gcc -m32"
|
||||
CC="gcc -m32"
|
||||
if [ "$scanbuild" = "y" ]; then
|
||||
ccwrap=`mktemp`
|
||||
mkdir -p build
|
||||
mv $ccwrap build
|
||||
ccwrap=$PWD/build/`basename $ccwrap`
|
||||
echo '#!/bin/bash' > $ccwrap
|
||||
echo $CC' -m32 "$@"' >> $ccwrap
|
||||
chmod +x $ccwrap
|
||||
echo "CC_x86 := $ccwrap"
|
||||
CC=$ccwrap
|
||||
else
|
||||
echo "CC_x86 := gcc -m32"
|
||||
CC="gcc -m32"
|
||||
fi
|
||||
|
||||
searchgnu ar >/dev/null && echo "AR_x86 := $(searchgnu ar)"
|
||||
searchgnu as >/dev/null && echo "AS_x86 := $(searchgnu as) --32"
|
||||
|
|
@ -68,8 +80,13 @@ case "$ARCH" in
|
|||
;;
|
||||
"x86")
|
||||
if [ "$OS" != "Darwin" ]; then
|
||||
echo "CC_x86 := gcc"
|
||||
CC="gcc"
|
||||
if [ "$scanbuild" = "y" ]; then
|
||||
echo 'CC_x86 := $(CC)'
|
||||
if [ "$CC" = "" ]; then CC=gcc; fi
|
||||
else
|
||||
echo "CC_x86 := gcc"
|
||||
CC="gcc"
|
||||
fi
|
||||
|
||||
searchgnu ar >/dev/null && echo "AR_x86 := $(searchgnu ar)"
|
||||
searchgnu as >/dev/null && echo "AS_x86 := $(searchgnu as)"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue