Messages in this thread |  | | | Date | Fri, 23 Jun 2006 22:43:05 -0400 | | From | "Albert Cahalan" <> | | Subject | Re: i386 ABI and the stack |
| |
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.
I'm pretty sure I saw that code in the kernel in fact, but I can't find it now. Perhaps it got lost in a cleanup accident? (it sure would be nice to have continuous source control history) - 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/
|  |