Re: [patch 02/2] allow gcc4 to optimize unit-at-a-time

From: Jakub Jelinek
Date: Wed Dec 28 2005 - 07:05:52 EST


On Wed, Dec 28, 2005 at 12:47:01PM +0100, Ingo Molnar wrote:
> allow gcc4 compilers to optimize unit-at-a-time - which results in gcc
> having a wider scope when optimizing. This also results in smaller code
> when optimizing for size. (gcc4 does not have the stack footprint
> problem of gcc3 compilers.)
>
> Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
> Signed-off-by: Arjan van de Ven <arjan@xxxxxxxxxxxxx>
> ----
>
> arch/i386/Makefile | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> Index: linux/arch/i386/Makefile
> ===================================================================
> --- linux.orig/arch/i386/Makefile
> +++ linux/arch/i386/Makefile
> @@ -42,9 +42,9 @@ include $(srctree)/arch/i386/Makefile.cp
> GCC_VERSION := $(call cc-version)
> cflags-$(CONFIG_REGPARM) += $(shell if [ $(GCC_VERSION) -ge 0300 ] ; then echo "-mregparm=3"; fi ;)
>
> -# Disable unit-at-a-time mode, it makes gcc use a lot more stack
> -# due to the lack of sharing of stacklots.
> -CFLAGS += $(call cc-option,-fno-unit-at-a-time)
> +# Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
> +# a lot more stack due to the lack of sharing of stacklots:
> +CFLAGS += $(shell if [ $(GCC_VERSION) -lt 0400 ] ; then echo "-fno-unit-at-a-time"; fi ;)

-fno-unit-at-a-time option has been introduced in GCC 3.4 (and 3.3-hammer
branch). So unless the minimum supported GCC version to compile kernel is
3.4+, you need to replace
echo "-fno-unit-at-a-time"
with
$(call cc-option,-fno-unit-at-a-time)
.

Jakub
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/