Re: [x86] Access off the bottom of stack causes a segfault?

From: Chris Lattner
Date: Tue Oct 14 2003 - 13:48:50 EST


> > 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/