pgcc and the kernel.. is this a fix?

Michael L. Galbraith (mikeg@weiden.de)
Thu, 14 Aug 1997 08:10:46 +0200 (MET DST)


Hello assembler magicians,

Changing constraints..

--- include/asm-i386/string.h.org Thu Aug 14 07:28:18 1997
+++ include/asm-i386/string.h Thu Aug 14 07:29:52 1997
@@ -299,7 +299,7 @@
"scasb\n\t"
"notl %0\n\t"
"decl %0"
- :"=c" (__res):"D" (s),"a" (0),"0" (0xffffffff):"di");
+ :"=r" (__res):"D" (s),"r" (0),"0" (0xffffffff):"di");
return __res;
}

changes this..

inet_ioctl:
pushl %ebp / 758 movsi-2
movl %esp,%ebp / 760 movsi+1/1
pushl %eax / 762 allocate_stack+1
pushl %eax
pushl %edi / 763 movsi-2
pushl %esi / 764 movsi-2
pushl %ebx / 765 movsi-2
movl 16(%ebp),%ebx / 8 movsi+1/2
movl 8(%ebp),%eax / 672 movsi+1/2
movl 24(%eax),%eax / 14 movsi+1/2
movl %eax,-8(%ebp) / 675 movsi+1/1
movl 12(%ebp),%edx / 678 movsi+1/2
addl $-35073,%edx / 643 addsi3+1/1
cmpl $128,%edx / 644 cmpsi_1/1
ja .L139 / 645 bgtu+1
jmp *.L142(,%edx,4) / 648 tablejump
.section .rodata
.align 4
.align 4

into this. (don't have the foggiest idea _why_ tho :)

.type inet_ioctl,@function
inet_ioctl:
pushl %ebp / 749 movsi-2
movl %esp,%ebp / 751 movsi+1/1
pushl %eax / 753 allocate_stack+1
pushl %edi / 754 movsi-2
pushl %esi / 755 movsi-2
pushl %ebx / 756 movsi-2
movl 8(%ebp),%eax / 4 movsi+1/2
movl 16(%ebp),%ebx / 8 movsi+1/2
movl 24(%eax),%eax / 14 movsi+1/2
movl %eax,-4(%ebp) / 672 movsi+1/1
movl 12(%ebp),%eax / 675 movsi+1/2
addl $-35073,%eax / 643 addsi3+1/1
cmpl $128,%eax / 644 cmpsi_1/1
ja .L139 / 645 bgtu+1
jmp *.L142(,%eax,4) / 648 tablejump
.section .rodata
.align 4
.align 4

-Mike