Re: 2.2.13-pre6 build failed (gcc-2.95.1)

Horst von Brand (vonbrand@sleipnir.valparaiso.cl)
Sun, 12 Sep 1999 20:16:29 -0400


Sergey Kubushin <ksi@ksi-linux.com> said:
> 2.2.13-pre6 i386 build fails with gcc-2.95.1:
>
> === Cut ===
> usercopy.c: In function `strnlen_user':
> usercopy.c:145: Invalid `asm' statement:
> usercopy.c:145: fixed or forbidden register 2 (cx) was spilled for class
> CREG.
> make[2]: *** [usercopy.o] Error 1
> === Cut ===
>
> Is the cure known?

An illegal asm constraint, again...

BTW, the function definition itself bothers me a lot: it is called
strnlen_user; but doesn't return the string's length, but its size; or some
weird values that signal various errors. I'd clean it up to return a string
length (I can see the unending patches "fixing" the uses assuming it
returns a proper length...), -EFAULT for bad addresses, or -E2BIG (?) for
strings that are too long.

-- 
Horst von Brand                             vonbrand@sleipnir.valparaiso.cl
Casilla 9G, Viņa del Mar, Chile                               +56 32 672616

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