[PATCH] Use -fno-unit-at-a-time if gcc supports it

From: Andi Kleen (ak_at_muc.de)
Date: 09/05/03

  • Next message: Randy.Dunlap: "Re: make checkconfig problem"
    Date:	Fri, 5 Sep 2003 02:47:10 +0200
    To: torvalds@osdl.org, akpm@osdl.org, rth@redhat.com, linux-kernel@vger.kernel.org, jh@suse.cz
    
    

    Hallo,

    gcc 3.4 current has switched to default -fno-unit-at-a-time mode for -O2.
    The 3.3-Hammer branch compiler used in some distributions also does this.

    Unfortunately the kernel doesn't compile with unit-at-a-time currently,
    it cannot tolerate the reordering of functions in relation to inline
    assembly.

    This patch just turns it off when gcc supports the option.

    I only did it for i386 for now. The problem is actually not i386 specific
    (other architectures break too), so it may make sense to move the check_gcc
    stuff into the main Makefile and do it for everybody.

    -Andi

    --- linux-2.6.0test4-work/arch/i386/Makefile-o 2003-08-23 13:03:08.000000000 +0200
    +++ linux-2.6.0test4-work/arch/i386/Makefile 2003-09-05 02:14:07.000000000 +0200
    @@ -26,6 +26,10 @@
     # prevent gcc from keeping the stack 16 byte aligned
     CFLAGS += $(call check_gcc,-mpreferred-stack-boundary=2,)
     
    +# gcc 3.4/3.3-hammer support -funit-at-a-time mode, but the Kernel is not ready
    +# for it yet
    +CFLAGS += $(call check_gcc,-fno-unit-at-a-time,)
    +
     align := $(subst -functions=0,,$(call check_gcc,-falign-functions=0,-malign-functions=0))
     
     cflags-$(CONFIG_M386) += -march=i386
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Randy.Dunlap: "Re: make checkconfig problem"