|
|

楼主 |
发表于 2005-5-10 02:01:10
|
显示全部楼层
问题已经解决。
kernel补丁地址如下:
http://www.kernel.org/pub/linux/ ... nux-2.6-seg-5.patch
----------------------------------------------------------------------------------------
附上binutil自己的说明
The new i386/x86_64 assemblers no longer accept instructions for moving
between a segment register and a 32bit memory location, i.e.,
movl (%eax),%ds
movl %ds,(%eax)
To generate instructions for moving between a segment register and a
16bit memory location without the 16bit operand size prefix, 0x66,
mov (%eax),%ds
mov %ds,(%eax)
should be used. It will work with both new and old assemblers. The
assembler starting from 2.16.90.0.2 will also support
movw (%eax),%ds
movw %ds,(%eax)
without the 0x66 prefix. Patches for 2.4 and 2.6 Linux kernels are
available at
http://www.kernel.org/pub/linux/ ... nux-2.4-seg-4.patch
http://www.kernel.org/pub/linux/ ... nux-2.6-seg-5.patch |
|