Re: lots of 2.2.4 oopses

Andrea Arcangeli (andrea@e-mind.com)
Sat, 27 Mar 1999 20:08:42 +0100 (CET)


On Fri, 26 Mar 1999, Jeffrey A Law wrote:

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