This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: linux-kernel 2.1.130/VGER and egcs-2.92.23


Hi,

teunis:
> Newer egcs spits out:
> gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -pipe -fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=586  -c -o init/main.o init/main.c
> /usr/src/linux/include/asm/string.h: In function `check_cyrix_cpu':
> /usr/src/linux/include/asm/string.h:40: Invalid `asm' statement:
> /usr/src/linux/include/asm/string.h:40: fixed or forbidden register 4 (si) was spilled for class SIREG.

The code looks like this:

extern inline char * strcpy(char * dest,const char *src)
{
__asm__ __volatile__(
    "cld\n"
    "1:\tlodsb\n\t"
    "stosb\n\t"
    "testb %%al,%%al\n\t"
    "jne 1b"
    : /* no output */
    :"S" (src),"D" (dest):"si","di","ax","memory");
return dest;
}

-- 
Matthias Urlichs  |  noris network GmbH   |   smurf@noris.de  |  ICQ: 20193661


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]