add check infrastructure, default sparse Add support for running source code checkers on u-boot source, e.g., using sparse to aid with typechecking. This comes in especially handy as SoC vendors mix and match cores and devices with different endianness, thus here we add CHECK_ENDIAN to the otherwise linux kernel default CHECKFLAGS. Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
diff --git a/config.mk b/config.mk index 51b4783..bb5c69a 100644 --- a/config.mk +++ b/config.mk
@@ -149,6 +149,7 @@ OBJDUMP = $(CROSS_COMPILE)objdump RANLIB = $(CROSS_COMPILE)RANLIB DTC = dtc +CHECK = sparse ######################################################################### @@ -275,6 +276,10 @@ LDFLAGS_u-boot-spl += -Ttext $(CONFIG_SPL_TEXT_BASE) endif +# Linus' kernel sanity checking tool +CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \ + -Wbitwise -Wno-return-void -D__CHECK_ENDIAN__ $(CF) + # Location of a usable BFD library, where we define "usable" as # "built for ${HOST}, supports ${TARGET}". Sensible values are # - When cross-compiling: the root of the cross-environment @@ -322,6 +327,9 @@ $(obj)%.o: %.S $(CC) $(ALL_AFLAGS) -o $@ $< -c $(obj)%.o: %.c +ifneq ($(CHECKSRC),0) + $(CHECK) $(CHECKFLAGS) $(ALL_CFLAGS) $< +endif $(CC) $(ALL_CFLAGS) -o $@ $< -c $(obj)%.i: %.c $(CPP) $(ALL_CFLAGS) -o $@ $< -c