[PATCH] Stackgap

Doug Rabson dfr at nlsystems.com
Sun May 29 07:07:57 PDT 2005


On Saturday 28 May 2005 15:10, Robert Watson wrote:
> On Fri, 27 May 2005, Suleiman Souhlal wrote:
> > You can find an implementation of stackgap from OpenBSD at http://
> > people.freebsd.org/~ssouhlal/testing/stackgap-20050527.diff
> >
> > You can control the range of the random stack gap with the
> > kern.stackgap_random sysctl. A value of 0 disables it. Otherwise,
> > it has to be a power of 2 and not too large. The default value is
> > 64K.
> >
> > I've only had the chance to test this on i386. Could anyone test it
> > on other architectures as well?
> >
> > Any comments/objections?
>
> In the past, substantial performance hits have been measured due to
> poor stack alignment.  Specifically, in combination with less optimal
> compiler behavior, the results have been pretty nasty.  Have you
> tried micro-benchmarking a series of runs with this stack offset
> randomness using floating point on stack arguments to see if there's
> a measurable cost to moving the stack around?  Hopefull if all is
> well, there will be little or no difference, but a small error here
> could result in a substantial performance hit...

I recently modified the crt code to force the stack alignment to 16 
bytes on startup (so that I could safely write code that uses movaps).


More information about the freebsd-arch mailing list