Re: [patch] power, xen64: fix PM_SLEEP build dependencies (was:Re: [PATCH 00 of 55] xen64: implement 64-bit Xen support)

From: Ingo Molnar
Date: Wed Jul 09 2008 - 15:53:04 EST



* Ingo Molnar <mingo@xxxxxxx> wrote:

> -tip testing found another PM/PM_SLEEP victim:
>
> arch/x86/kernel/built-in.o: In function `suspend':
> apm_32.c:(.text+0xedb5): undefined reference to `save_processor_state'
> apm_32.c:(.text+0xedd0): undefined reference to `restore_processor_state'

ah, found it - the arch-level power/ directory had a CONFIG_PM-only
build dependency as well. Fixed via the commit below.

Ingo

------------->
commit 6666fa5ebb7c78afcab540bf183c7f070c890930
Author: Ingo Molnar <mingo@xxxxxxx>
Date: Wed Jul 9 21:45:54 2008 +0200

power, xen64: fix PM_SLEEP build dependencies, #2

-tip testing found another PM/PM_SLEEP victim:

arch/x86/kernel/built-in.o: In function `suspend':
apm_32.c:(.text+0xedb5): undefined reference to `save_processor_state'
apm_32.c:(.text+0xedd0): undefined reference to `restore_processor_state'

with this config:

http://redhat.com/~mingo/misc/config-Wed_Jul__9_18_53_45_CEST_2008.bad

the core scenario is this combination (and only this combination) of
config values:

# CONFIG_PM is not set
CONFIG_PM_SLEEP=y
CONFIG_APM=y
CONFIG_PARAVIRT=y
CONFIG_XEN=y

the problem is that the .o file where these symbols live does get built
on PM_SLEEP=y, but the directory itself was only dependent on CONFIG_PM.

Fix it by adding another rule that also covers the CONFIG_PM_SLEEP case.

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index fc698f2..4c85d09 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -175,6 +175,7 @@ drivers-$(CONFIG_OPROFILE) += arch/x86/oprofile/

# suspend and hibernation support
drivers-$(CONFIG_PM) += arch/x86/power/
+drivers-$(CONFIG_PM_SLEEP) += arch/x86/power/

ifeq ($(CONFIG_X86_32),y)
drivers-$(CONFIG_FB) += arch/x86/video/
--
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/