Messages in this thread | | | Date | Sat, 27 Mar 1999 20:08:42 +0100 (CET) | From | Andrea Arcangeli <> | Subject | Re: lots of 2.2.4 oopses |
| |
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/
| |