[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A37B703.3060409@zytor.com>
Date: Tue, 16 Jun 2009 08:15:15 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Amerigo Wang <xiyou.wangcong@...il.com>
CC: Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>,
linux-kernel@...r.kernel.org
Subject: Re: [x86] Build error at arch/x86/boot/bioscall.S
Amerigo Wang wrote:
>
> Huh?
> 16 bit mode doesn't allow 'esp' to be used as a base/index register?
>
16-bit mode does, but gas used to be utterly broken with regards to
32-bit address overrides. This has been fixed, but apparently these
old, broken versions of gas are still out there festering in the
environment.
One possible workaround is to switch .code16 to .code16gcc at the top of
the file; another is:
- movw 68(%esp), %di
+ movw %sp, %di
+ movw 68(%di), %di
Does changing .code16 to .code16gcc work for you?
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists