Re: [PATCH v2] Re: 2.6.25-rc2-mm1 (wakeup)

From: Sam Ravnborg
Date: Sun Feb 17 2008 - 16:07:26 EST


On Sun, Feb 17, 2008 at 09:40:15PM +0100, Rafael J. Wysocki wrote:
> On Sunday, 17 of February 2008, Randy Dunlap wrote:
> > H. Peter Anvin wrote:
> > > Randy Dunlap wrote:
> > >> On Sat, 16 Feb 2008 19:58:06 -0800 H. Peter Anvin wrote:
> > >>
> > >>> Randy Dunlap wrote:
> > >>>> Yes, adding -m32 to the X86_32 config ccflags (as is done for the
> > >>>> X86_64 case) makes it build for me. (like patch below)
> > >>>>
> > >>> It's wrong, though, because you can't assume a 32-bit compiler knows
> > >>> about -m32.
> > >>>
> > >>> You need $(call cc-option,-m32).
> > >>
> > >> -cflags-$(CONFIG_X86_32) :=
> > >> +cflags-$(CONFIG_X86_32) := $(call cc-option, -m32)
> > >> cflags-$(CONFIG_X86_64) := -m32
> > >
> > > I think this works for both; that's what we do for arch/x86/boot.
> >
> > OK, that makes sense. I think I'll let Rafael complete it.
>
> OK, so that would be the appended patch.
>
> Still, since there are several fixes against the "move the wakeup code to C"
> patch, I'll probably fold them all into a new version of this patch and resend
> it.
>
> Thanks,
> Rafael
>
> ---
> arch/x86/kernel/acpi/realmode/Makefile | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> Index: linux-2.6/arch/x86/kernel/acpi/realmode/Makefile
> ===================================================================
> --- linux-2.6.orig/arch/x86/kernel/acpi/realmode/Makefile
> +++ linux-2.6/arch/x86/kernel/acpi/realmode/Makefile
> @@ -27,8 +27,6 @@ bootsrc := $(src)/../../../boot
> # How to compile the 16-bit code. Note we always compile for -march=i386,
> # that way we can complain to the user if the CPU is insufficient.
> # Compile with _SETUP since this is similar to the boot-time setup code.
> -cflags-$(CONFIG_X86_32) :=
> -cflags-$(CONFIG_X86_64) := -m32
> KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os -D_SETUP -D_WAKEUP -D__KERNEL__ \
> -I$(srctree)/$(bootsrc) \
> $(cflags-y) \
> @@ -41,6 +39,7 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
> $(call cc-option, -fno-unit-at-a-time)) \
> $(call cc-option, -fno-stack-protector) \
> $(call cc-option, -mpreferred-stack-boundary=2)
> +KBUILD_CFLAGS += $(call cc-option, -m32)

For a 64 bit build we should error out if the compiler
fials to support -m32 (how unlikely that may be).
So I would prefer it unconditional for 64 bit.

But nit picking - I know.

Sam
--
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/