On older 32bit kernels (e.g. Ubuntu Hardy), the seccomp sandbox fails to handle signals correctly. This is primarily a result of the kernel not supporting non-executable data segments. But it also runs into problems because the format of the signal frame is subtly different and does not appear to always include a "magic restorer function".
On older 32bit kernels (e.g. Ubuntu Hardy), the seccomp sandbox fails to handle
signals correctly. This is primarily a result of the kernel not supporting
non-executable data segments. But it also runs into problems because the
format of the signal frame is subtly different and does not appear to always
include a "magic restorer function".

This changelist removes all dependencies on NX support from the 32bit version
of the code. And it eliminates the code that patches the restorer function.

Both of these features were originally added to make it easier for gdb to
debug code that runs inside of a signal handler. But given the observed problems
with this approach, it does not seem worth the effort.

64bit code seems unaffected by all of these problems -- presumably because
that architecture is a lot more recent. So, we'll not make any changes to it.

BUG=http://code.google.com/p/seccompsandbox/issues/detail?id=5
TEST=make test
Review URL: http://codereview.chromium.org/4688002

git-svn-id: c2a6f690695ec6703fa4e0d44c2dfcc6697c486d@147 55e79e8e-603c-11de-8c10-5fe6993ea61f

mseaborn/seccompsandbox,mseaborn/seccompsandbox,mseaborn/seccompsandbox