Messages in this thread | | | Subject | Re: i386 ABI and the stack | From | Arjan van de Ven <> | Date | Sat, 24 Jun 2006 13:03:18 +0200 |
| |
On Fri, 2006-06-23 at 22:43 -0400, Albert Cahalan wrote: > On 6/23/06, Linus Torvalds <torvalds@osdl.org> wrote: > > On Fri, 23 Jun 2006, H. Peter Anvin wrote: > > > > > > > > The x86-64 ABI has a 128-byte(*) zone that is safe from signals etc, so you > > > > can use a small amount of stack below the stackpointer safely. Not so on > > > > x86. > > > > > > Adding a small redzone like this to i386 would be easy, though -- just drop > > > the stack pointer by that much when creating a signal frame. 128 bytes isn't > > > enough to interfere with libraries. > > > > However, any binaries created with that in mind would be > > buggy-by-definition on older kernels, so I don't think it's worth it. > > Since gcc-2.96 would access 256 bytes below the stack pointer > (according to the valgrind man page), the kernel needs to allow > for this in signal handlers anyway.
only a handful buggy editions of that compiler did in a few corner cases. And they were really buggy, and they were corner cases. Nobody should be using a compiler like that; and nobody is expected to compile software with a broken version of that compiler (iirc the window in which it was broken was really small). There is a limit to userspace brokenness that the kernel should work around. This imo is on the other side of the line.
- 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/
| |