Re: [patch 2/7] enable unit-at-a-time optimisations for gcc4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jan 07, 2006 at 01:07:57AM -0800, Andrew Morton wrote:
 
> From: Andrew Morton <[email protected]>
> 
> Set GCC_VERSION up-front rather than in arch Makefiles.  This reduces ordering
> problems and generally consolidates things.

This will fail if arch/Makefile for some reason redefine CC to something
else. I recall one arch did that in the past.

Two options:
1) Use $(call cc-version) all over the place.
2) Use '=' assignment to GCC_VERSION so value is evaluated only when
used.

I prefer the first version since we loose the optimzation that gcc is
called once anyway.

	Sam

> 
> Cc: Sam Ravnborg <[email protected]>
> Cc: Arjan van de Ven <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> ---
> 
>  Makefile              |    2 +-
>  arch/ia64/Makefile    |    1 -
>  arch/parisc/Makefile  |    4 ----
>  arch/powerpc/Makefile |    2 --
>  arch/ppc/Makefile     |    1 -
>  5 files changed, 1 insertion(+), 9 deletions(-)
> 
> diff -puN arch/ia64/Makefile~kbuild-call-gcc_version-earlier arch/ia64/Makefile
> --- devel/arch/ia64/Makefile~kbuild-call-gcc_version-earlier	2006-01-07 01:05:39.000000000 -0800
> +++ devel-akpm/arch/ia64/Makefile	2006-01-07 01:05:39.000000000 -0800
> @@ -25,7 +25,6 @@ cflags-y	:= -pipe $(EXTRA) -ffixed-r13 -
>  		   -falign-functions=32 -frename-registers -fno-optimize-sibling-calls
>  CFLAGS_KERNEL	:= -mconstant-gp
>  
> -GCC_VERSION     := $(call cc-version)
>  GAS_STATUS	= $(shell $(srctree)/arch/ia64/scripts/check-gas "$(CC)" "$(OBJDUMP)")
>  CPPFLAGS += $(shell $(srctree)/arch/ia64/scripts/toolchain-flags "$(CC)" "$(OBJDUMP)" "$(READELF)")
>  
> diff -puN arch/parisc/Makefile~kbuild-call-gcc_version-earlier arch/parisc/Makefile
> --- devel/arch/parisc/Makefile~kbuild-call-gcc_version-earlier	2006-01-07 01:05:39.000000000 -0800
> +++ devel-akpm/arch/parisc/Makefile	2006-01-07 01:05:39.000000000 -0800
> @@ -35,10 +35,6 @@ FINAL_LD=$(CROSS_COMPILE)ld --warn-commo
>  
>  OBJCOPY_FLAGS =-O binary -R .note -R .comment -S
>  
> -GCC_VERSION     := $(call cc-version)
> -ifneq ($(shell if [ -z $(GCC_VERSION) ] ; then echo "bad"; fi ;),)
> -$(error Sorry, couldn't find ($(cc-version)).)
> -endif
>  ifneq ($(shell if [ $(GCC_VERSION) -lt 0303 ] ; then echo "bad"; fi ;),)
>  $(error Sorry, your compiler is too old ($(GCC_VERSION)).  GCC v3.3 or above is required.)
>  endif
> diff -puN arch/powerpc/Makefile~kbuild-call-gcc_version-earlier arch/powerpc/Makefile
> --- devel/arch/powerpc/Makefile~kbuild-call-gcc_version-earlier	2006-01-07 01:05:39.000000000 -0800
> +++ devel-akpm/arch/powerpc/Makefile	2006-01-07 01:05:39.000000000 -0800
> @@ -76,7 +76,6 @@ LINUXINCLUDE    += $(LINUXINCLUDE-y)
>  CHECKFLAGS	+= -m$(SZ) -D__powerpc__ -D__powerpc$(SZ)__
>  
>  ifeq ($(CONFIG_PPC64),y)
> -GCC_VERSION     := $(call cc-version)
>  GCC_BROKEN_VEC	:= $(shell if [ $(GCC_VERSION) -lt 0400 ] ; then echo "y"; fi)
>  
>  ifeq ($(CONFIG_POWER4_ONLY),y)
> @@ -189,7 +188,6 @@ TOUT	:= .tmp_gas_check
>  # Ensure this is binutils 2.12.1 (or 2.12.90.0.7) or later for altivec
>  # instructions.
>  # gcc-3.4 and binutils-2.14 are a fatal combination.
> -GCC_VERSION	:= $(call cc-version)
>  
>  checkbin:
>  	@if test "$(GCC_VERSION)" = "0304" ; then \
> diff -puN arch/ppc/Makefile~kbuild-call-gcc_version-earlier arch/ppc/Makefile
> --- devel/arch/ppc/Makefile~kbuild-call-gcc_version-earlier	2006-01-07 01:05:39.000000000 -0800
> +++ devel-akpm/arch/ppc/Makefile	2006-01-07 01:05:39.000000000 -0800
> @@ -128,7 +128,6 @@ TOUT	:= .tmp_gas_check
>  # Ensure this is binutils 2.12.1 (or 2.12.90.0.7) or later for altivec
>  # instructions.
>  # gcc-3.4 and binutils-2.14 are a fatal combination.
> -GCC_VERSION	:= $(call cc-version)
>  
>  checkbin:
>  	@if test "$(GCC_VERSION)" = "0304" ; then \
> diff -puN Makefile~kbuild-call-gcc_version-earlier Makefile
> --- Makefile~kbuild-call-gcc_version-earlier	2006-01-07 01:05:39.000000000 -0800
> +++ devel-akpm/Makefile	2006-01-07 01:05:39.000000000 -0800
> @@ -300,7 +300,7 @@ cc-option-align = $(subst -functions=0,,
>  # Usage gcc-ver := $(call cc-version $(CC))
>  cc-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-version.sh \
>                $(if $(1), $(1), $(CC)))
> -
> +GCC_VERSION	:= $(call cc-version)
>  
>  # Look for make include files relative to root of kernel src
>  MAKEFLAGS += --include-dir=$(srctree)
> _
> 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux