Hello Jeroen, > diff --git a/config.mk b/config.mk > index 48913f6..177f685 100644 > --- a/config.mk > +++ b/config.mk > @@ -117,7 +117,7 @@ CC_TEST_OFILE := > $(OBJTREE)/include/generated/cc_test_file.o > -include $(CC_OPTIONS_CACHE_FILE) > > cc-option-sys = $(shell mkdir -p $(dir $(CC_TEST_OFILE)); \ > - if $(CC) $(CFLAGS) $(1) -S -xc /dev/null -o > $(CC_TEST_OFILE) \ > + if $(CC) -Werror $(CFLAGS) $(1) -S -xc /dev/null -o > $(CC_TEST_OFILE) \ > > /dev/null 2>&1; then \ > echo 'CC_OPTIONS += $(strip $1)' >> > $(CC_OPTIONS_CACHE_FILE); \ > echo "$(1)"; fi)
It looks like this was already suggested by Tom too. See http://patchwork.ozlabs.org/patch/183174/ I tested this patch but unfortunatelly it did not work. I downloaded bfin-linux-gcc 4.6.3 from ftp://ftp.kernel.org/pub/tools/crosstool/index.html I added -Werror to config.mk and I tried: CROSS_COMPILE=bfin-linux- ./MAKEALL -a blackfin The log message was still sprinkled with lots of warnings like warning: -fstack-usage not supported for this target [enabled by default] So, I looked into it more closely and I found gcc can compile the input file /dev/null successfully even if -fstack-usage is not supported. $ bfin-uclinux-gcc -fstack-usage -S -xc /dev/null $ echo $? 0 $ bfin-uclinux-gcc -Werror -fstack-usage -S -xc /dev/null $ echo $? 0 Instead of /dev/null, I prepared a very simple C source code as an input. $ cat test.c int test(void) { return 0; } $ bfin-uclinux-gcc -fstack-usage -S -xc test.c test.c: In function 'test': test.c:4:1: warning: -fstack-usage not supported for this target [enabled by default] $ echo $? 0 $ bfin-uclinux-gcc -fstack-usage -Werror -S -xc test.c test.c: In function 'test': test.c:4:1: error: -fstack-usage not supported for this target [-Werror] cc1: all warnings being treated as errors $ echo $? 1 This time we can detect unsupported -fstack-usage by the exit status. So, along with -Werror, I think /dev/null should also be replaced with some _REAL_ C source file. But my concern about this treak is we might go far from Kbuild. In Linux Kernel, cc-option is impilemented in scripts/Kbuild.include. It uses /dev/null as input. I wish U-Boot would someday adopt (not nessarily the same but very similar) Kbuild. If you see Linux Kernel top Makefile, many of optional CFLAGS are provided thru cc-option and also can be turned on/off by CONFIG_ switch. That is one reason I suggested to introduce CONFIG_CC_STACKUSAGE option. But this is just my opinion and I would not necessarily stick to this idea. Please feel free to suggest your thought. Best Regards Masahiro Yamada _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot