On Thu, Apr 12, 2012 at 10:17:07PM +0200, Geert Uytterhoeven wrote: > Hi Sam, > > On Thu, Apr 12, 2012 at 22:07, Sam Ravnborg <sam@xxxxxxxxxxxx> wrote: > > Could you try this: > > > > cc-disable-opt = $(call try-run,\ > > $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -f$(strip $(1)) -c -xc /dev/null -o "$TMP",-fno-$(strip $(1))) > > > > KBUILD_CFLAGS += $(call cc-disable-opt, ipa-cp-clone) > > > > > > It will try if "gcc -fipa-cp-clone" is supported, > > and add -fno-ipa-cp-clone in that case. > > Unfortunately not: > > m68k-linux-gnu-gcc -Wp,-MD,kernel/.bounds.s.d -nostdinc -isystem > /usr/lib/gcc/m68k-linux-gnu/4.1.2/include > -I/scratch/geert/linux/linux-next/arch/m68k/include > Iarch/m68k/include/generated -Iinclude -include > /scratch/geert/linux/linux-next/include/linux/kconfig.h -D__KERNEL__ > -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing > -fno-common -Werror-implicit-function-declaration -Wno-format-security > -fno-delete-null-pointer-checks -Os -fno-reorder-blocks > -fno-ipa-cp-clone -pipe -fno-strength-reduce -ffixed-a2 > -fno-omit-frame-pointer -fno-optimize-sibling-calls -g > -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(bounds)" > -D"KBUILD_MODNAME=KBUILD_STR(bounds)" -fverbose-asm -S -o > kernel/bounds.s kernel/bounds.c > cc1: error: unrecognized command line option "-fno-ipa-cp-clone" > make[1]: *** [kernel/bounds.s] Error 1 > make: *** [prepare0] Error 2 So with the above command-line gcc fails with an exit code for -fno-ipa-cp-clone. But with cc-option it does not. Can you dig out the command-line used for cc-option? We may be able to analyze why it fails in the above case, but not with cc-option. I wonder if we hit something strange due to the fact that we are assigning to KBUILD_CFLAGS and we reference the same variable. But that does not explain why the others work. Sam -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html