Hello all,
Kostik Belousov is currently working on a patchset for FreeBSD to make no-exec stacks work on i386 and amd64. Support for this is long overdue, but limitations to the way signal handling is implemented on those architectures has made it a bit tougher to implement this.
If I understand the patchset correctly, processes will only use a no-exec stack if the executable and its libraries don't depend on it being executable. This is done by adding a marker to all object files. For C files, this seems to be done automatically, but for assembly files, we need to mark them manually.
Kostik is proposing the following patchset to be committed to FreeBSD HEAD:
http://people.freebsd.org/~kib/misc/nxstack.2.patch
Would it be possible for the compiler-rt changes (in contrib/compiler-rt) to get upstreamed? Thanks.