Messages in this thread | | | Date | Tue, 14 Oct 2003 14:00:54 -0500 (CDT) | From | Chris Lattner <> | Subject | Re: [x86] Access off the bottom of stack causes a segfault? |
| |
> > Generated code: > > .intel_syntax > > ... > > main: > > mov DWORD PTR [%ESP - 16004], %EBP # Save EBP to stack > ^^^^^^^^^^^^ > > Yes, this is the problem (even Windows does that IIRC).
Ok, I realize what's going on here. The question is, why does the linux kernel consider this to be a bug? Where (in the X86 specs) is it documented that it's illegal to access off the bottom of the stack?
My compiler does a nice leaf function optimization where it does not even bother to adjust the stack for leaf functions, which eliminates the adds and subtracts entirely from these (common) functions. This completely invalidates the optimization.
Since I'm going to have to live with lots of preexisting kernels, it looks like I'm going to have to disable it entirely, which is disappointing. I'm still curious though why this is thought to be illegal.
-Chris
-- http://llvm.cs.uiuc.edu/ http://www.nondot.org/~sabre/Projects/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |