Re: longword register asm errors with new binutils <Patch>

Albert D. Cahalan (acahalan@cs.uml.edu)
Wed, 20 Oct 1999 23:17:50 -0400 (EDT)


> The longwords remain as the natural size of the registers. Longwords
> may correctly set segment registers on Intel machines and therefore
> avoids the 0x66 prefix.

And you define a longword to be...?

> Anyways. This patch should work on anything new. There remain a few
> other warnings and I haven't found out where they come from yet
> because it's the result of the expansion of some macro somewhere.
>
> --- linux-2.3.13/arch/i386/kernel/irq.h.orig Wed Oct 20 15:23:42 1999
> +++ linux-2.3.13/arch/i386/kernel/irq.h Wed Oct 20 15:24:27 1999
> @@ -168,8 +168,8 @@
> "pushl %ecx\n\t" \
> "pushl %ebx\n\t" \
> "movl $" STR(__KERNEL_DS) ",%edx\n\t" \
> - "movl %dx,%ds\n\t" \
> - "movl %dx,%es\n\t"
> + "movl %edx,%ds\n\t" \
> + "movl %edx,%es\n\t"

Assemblers just can't agree on some of these. The fix goes something
like this:

#define movl_edx_ds .byte 234 234 234

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/