[PATCH] too strict asm constraints

Artur Skawina (skawina@geocities.com)
Sun, 01 Aug 1999 16:44:46 +0200


diff -urNp --exclude-from /usr/src/lkdontdiff /img/linux-2.3.12/arch/i386/kernel/time.c linux-2.3.12as/arch/i386/kernel/time.c
--- /img/linux-2.3.12/arch/i386/kernel/time.c Wed May 12 19:30:31 1999
+++ linux-2.3.12as/arch/i386/kernel/time.c Fri Jul 30 16:10:51 1999
@@ -584,7 +584,7 @@ __initfunc(static unsigned long calibrat
/* 64-bit subtract - gcc just messes up with long longs */
__asm__("subl %2,%0\n\t"
"sbbl %3,%1"
- :"=a" (endlow), "=d" (endhigh)
+ :"=&r" (endlow), "=&r" (endhigh)
:"g" (startlow), "g" (starthigh),
"0" (endlow), "1" (endhigh));

diff -urNp --exclude-from /usr/src/lkdontdiff /img/linux-2.3.12/arch/i386/kernel/vm86.c linux-2.3.12as/arch/i386/kernel/vm86.c
--- /img/linux-2.3.12/arch/i386/kernel/vm86.c Thu Jul 22 21:47:28 1999
+++ linux-2.3.12as/arch/i386/kernel/vm86.c Fri Jul 30 16:10:51 1999
@@ -326,7 +326,7 @@ static inline int is_revectored(int nr,
{
__asm__ __volatile__("btl %2,%1\n\tsbbl %0,%0"
:"=r" (nr)
- :"m" (*bitmap),"r" (nr));
+ :"m" (*bitmap),"Ir" (nr));
return nr;
}

diff -urNp --exclude-from /usr/src/lkdontdiff /img/linux-2.3.12/include/asm-i386/desc.h linux-2.3.12as/include/asm-i386/desc.h
--- /img/linux-2.3.12/include/asm-i386/desc.h Thu Jul 29 16:10:42 1999
+++ linux-2.3.12as/include/asm-i386/desc.h Fri Jul 30 16:10:53 1999
@@ -56,9 +56,9 @@ struct Xgt_desc_struct {
#define idt_descr (*(struct Xgt_desc_struct *)((char *)&idt - 2))
#define gdt_descr (*(struct Xgt_desc_struct *)((char *)&gdt - 2))

-#define load_TR(n) __asm__ __volatile__("ltr %%ax"::"a" (__TSS(n)<<3))
+#define load_TR(n) __asm__ __volatile__("ltr %w0"::"q" (__TSS(n)<<3))

-#define __load_LDT(n) __asm__ __volatile__("lldt %%ax"::"a" (__LDT(n)<<3))
+#define __load_LDT(n) __asm__ __volatile__("lldt %w0"::"q" (__LDT(n)<<3))

/*
* This is the ldt that every process will get unless we need

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