Re: [build bug] lguest build failure: drivers/lguest/x86/switcher_32.S:(.text+0x3815f8): undefined reference to `LGUEST_PAGES_regs_trapnum'

Thomas Gleixner
2008-02-17T13:52:03Z

On Mon, 4 Feb 2008, Rusty Russell wrote:

> On Saturday 02 February 2008 04:05:51 Ingo Molnar wrote:
> > looks similar to the previous one so i guess my quick fix attempt was a
> > bit too quick. Will turn lguest off again. And i'm willing to test
> > patches as well :)
>
> Hi Ingo,
>
> OK, this problem was caused by asm-offsets.c only having the offsets when
> lguest *guest* support was set, not lguest host (host support used to imply
> guest support, so now they're separate these bugs come out).
>
> Can you throw this patch into your tree for testing?
>
> Thanks,
> Rusty.

Applied. Thanks,

tglx

> Lguest guest support and host support are separate config options: they used
> to be tied together. Sort out which parts of asm-offsets are needed for Guest
> and Host.
>
> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
>
> diff -r 7d5a5c7a4b95 arch/x86/kernel/asm-offsets_32.c
> --- a/arch/x86/kernel/asm-offsets_32.c Sat Feb 02 23:13:05 2008 +1100
> +++ b/arch/x86/kernel/asm-offsets_32.c Sun Feb 03 10:13:19 2008 +1100
> @@ -20,10 +20,8 @@
>
> #include <xen/interface/xen.h>
>
> -#ifdef CONFIG_LGUEST_GUEST
> #include <linux/lguest.h>
> #include "../../../drivers/lguest/lg.h"
> -#endif
>
> #define DEFINE(sym, val) \
> asm volatile("\n->" #sym " %0 " #val : : "i" (val))
> @@ -134,6 +132,10 @@ void foo(void)
> BLANK();
> OFFSET(LGUEST_DATA_irq_enabled, lguest_data, irq_enabled);
> OFFSET(LGUEST_DATA_pgdir, lguest_data, pgdir);
> +#endif
> +
> +#ifdef CONFIG_LGUEST
> + BLANK();
> OFFSET(LGUEST_PAGES_host_gdt_desc, lguest_pages, state.host_gdt_desc);
> OFFSET(LGUEST_PAGES_host_idt_desc, lguest_pages, state.host_idt_desc);
> OFFSET(LGUEST_PAGES_host_cr3, lguest_pages, state.host_cr3);
>