The "string-i486" part certainly still has bugs:
> @@ -416,9 +416,11 @@
>
> #define __HAVE_ARCH_MEMCPY
> #define memcpy(d,s,count) \
> -(__builtin_constant_p(count) ? \
> - __memcpy_c((d),(s),(count)) : \
> - __memcpy_g((d),(s),(count)))
> +(count == 0 \
> + ? d \
> + : __builtin_constant_p(count) \
> + ? __memcpy_c((d),(s),(count)) \
> + : __memcpy_g((d),(s),(count)))
>
> /*
> * These ought to get tweaked to do some cache priming.
The above makes the macro incorrectly use "count" twice. If count has side
effects, that's a serious problem that is very hard to find. Same goes for
the changes to memset().
The rest looks ok, but I'll continue to consider string-i486 totally
broken,
Linus