kbuild: remove GCC_VERSION

This was causing some ordering problems. Remove the up-front evaluation
and just revaluate the compiler version each time we need it.

(The up-front evaluation was problematic because some architectures modify
the value of $(CC)).

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

+8 -16
+2 -2
Documentation/kbuild/makefiles.txt
··· 1033 1033 1034 1034 Example: 1035 1035 #arch/i386/Makefile 1036 - GCC_VERSION := $(call cc-version) 1037 1036 cflags-y += $(shell \ 1038 - if [ $(GCC_VERSION) -ge 0300 ] ; then echo "-mregparm=3"; fi ;) 1037 + if [ $(call cc-version) -ge 0300 ] ; then \ 1038 + echo "-mregparm=3"; fi ;) 1039 1039 1040 1040 In the above example -mregparm=3 is only used for gcc version greater 1041 1041 than or equal to gcc 3.0.
+2 -2
arch/i386/Makefile
··· 39 39 40 40 # -mregparm=3 works ok on gcc-3.0 and later 41 41 # 42 - GCC_VERSION := $(call cc-version) 43 - cflags-$(CONFIG_REGPARM) += $(shell if [ $(GCC_VERSION) -ge 0300 ] ; then echo "-mregparm=3"; fi ;) 42 + cflags-$(CONFIG_REGPARM) += $(shell if [ $(call cc-version) -ge 0300 ] ; then \ 43 + echo "-mregparm=3"; fi ;) 44 44 45 45 # Disable unit-at-a-time mode, it makes gcc use a lot more stack 46 46 # due to the lack of sharing of stacklots.
+1 -6
arch/ia64/Makefile
··· 25 25 -falign-functions=32 -frename-registers -fno-optimize-sibling-calls 26 26 CFLAGS_KERNEL := -mconstant-gp 27 27 28 - GCC_VERSION := $(call cc-version) 29 28 GAS_STATUS = $(shell $(srctree)/arch/ia64/scripts/check-gas "$(CC)" "$(OBJDUMP)") 30 29 CPPFLAGS += $(shell $(srctree)/arch/ia64/scripts/toolchain-flags "$(CC)" "$(OBJDUMP)" "$(READELF)") 31 30 ··· 36 37 ftp://ftp.hpl.hp.com/pub/linux-ia64/gas-030124.tar.gz) 37 38 endif 38 39 39 - ifneq ($(shell if [ $(GCC_VERSION) -lt 0300 ] ; then echo "bad"; fi ;),) 40 - $(error Sorry, your compiler is too old. GCC v2.96 is known to generate bad code.) 41 - endif 42 - 43 - ifeq ($(GCC_VERSION),0304) 40 + ifeq ($(call cc-version),0304) 44 41 cflags-$(CONFIG_ITANIUM) += -mtune=merced 45 42 cflags-$(CONFIG_MCKINLEY) += -mtune=mckinley 46 43 endif
+2 -4
arch/powerpc/Makefile
··· 76 76 CHECKFLAGS += -m$(SZ) -D__powerpc__ -D__powerpc$(SZ)__ 77 77 78 78 ifeq ($(CONFIG_PPC64),y) 79 - GCC_VERSION := $(call cc-version) 80 - GCC_BROKEN_VEC := $(shell if [ $(GCC_VERSION) -lt 0400 ] ; then echo "y"; fi) 79 + GCC_BROKEN_VEC := $(shell if [ $(call cc-version) -lt 0400 ] ; then echo "y"; fi) 81 80 82 81 ifeq ($(CONFIG_POWER4_ONLY),y) 83 82 ifeq ($(CONFIG_ALTIVEC),y) ··· 188 189 # Ensure this is binutils 2.12.1 (or 2.12.90.0.7) or later for altivec 189 190 # instructions. 190 191 # gcc-3.4 and binutils-2.14 are a fatal combination. 191 - GCC_VERSION := $(call cc-version) 192 192 193 193 checkbin: 194 - @if test "$(GCC_VERSION)" = "0304" ; then \ 194 + @if test "$(call cc-version)" = "0304" ; then \ 195 195 if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \ 196 196 echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build '; \ 197 197 echo 'correctly with gcc-3.4 and your version of binutils.'; \
+1 -2
arch/ppc/Makefile
··· 128 128 # Ensure this is binutils 2.12.1 (or 2.12.90.0.7) or later for altivec 129 129 # instructions. 130 130 # gcc-3.4 and binutils-2.14 are a fatal combination. 131 - GCC_VERSION := $(call cc-version) 132 131 133 132 checkbin: 134 - @if test "$(GCC_VERSION)" = "0304" ; then \ 133 + @if test "$(call cc-version)" = "0304" ; then \ 135 134 if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \ 136 135 echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build '; \ 137 136 echo 'correctly with gcc-3.4 and your version of binutils.'; \