>Even if you can just track it down to "file x when compiled with egcs results
>in an unstable system" would be a big help in tracking down this problem.
Well in the last days I discovered a new way to cause egcs-2.91.60
19981201 (egcs-1.1.1 release) to miscompile a piece of code using
regparm=3 (I don't think gcc-2.7.2 would have worked but it worth to try,
but I don't have it here). Simply declare do_bottom_half in
include/linux/interrupt.h as a ... FASTCALL(do_bottom_half(... and you'll
notice that the asm of do_bottom_half will start anyway with an `xor
%eax,%eax'...
But I know you don't care about regparm safety (ahh bad). If regparm would
work on i386 we could compile the whole kernel with regparm=3, and it
would be a _big_ improvement. Someday I'll go into that.
At least I hope that the Mercede won't use the stack to pass the first
parameters to the called function as default calling convention.
Andrea Arcangeli
-
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/