Re: [x86] Build error at arch/x86/boot/bioscall.S

From: Amerigo Wang
Date: Tue Jun 16 2009 - 04:12:56 EST


On Tue, Jun 16, 2009 at 04:38:54PM +0900, Tetsuo Handa wrote:
>Hello.
>
>I tried to build 03347e2592078a90df818670fddf97a33eec70fb and got this error.
>
>(...snipped...)
>WARNING: modpost: Found 2 section mismatch(es).
>To see full details build your kernel with:
>'make CONFIG_DEBUG_SECTION_MISMATCH=y'
>/usr/src/all/linux/kernel/git/torvalds/linux-2.6.git/usr/include/linux/netfilter/xt_osf.h:40: found __[us]{8,16,32,64} type without #include <linux/types.h>
>/usr/src/all/linux/kernel/git/torvalds/linux-2.6.git/usr/include/mtd/jffs2-user.h:21: userspace cannot call function or variable defined in the kernel
>Documentation/accounting/getdelays.c: In function `main':
>Documentation/accounting/getdelays.c:249: warning: `cmd_type' might be used uninitialized in this function
>Documentation/spi/spidev_fdx.c: In function `do_msg':
>Documentation/spi/spidev_fdx.c:61: warning: cast from pointer to integer of different size
>Documentation/spi/spidev_fdx.c:64: warning: cast from pointer to integer of different size
>arch/x86/boot/bioscall.S: Assembler messages:
>arch/x86/boot/bioscall.S:68: Error: `68(%esp)' is not a valid 16 bit base/index expression

Huh?
16 bit mode doesn't allow 'esp' to be used as a base/index register?

How about:

- movw 68(%esp), %di
+ movzwl %sp, %ebx
+ movw 68(%ebx), %di

? Does this work?

Thanks.
--
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/