On Wed, Nov 09, 2005 at 12:00:19AM +0100, Dirk Mueller wrote:
> 
> Hi, 
> 
> the appended patch makes libcrypto.so compile without executable stack 
> requirements. it should be portable accross all versions of binutils (and 
> doesn't affect any non-linux platform anyway). 

The problem is that binutils assumes that assembler files without
that section require an executable stack, while most don't.  This
means that on all platforms that use gnu binutils something is
required for all (generated) assembler files (not created by
gcc), not just for x86.

You don't have the problem with .c files since gcc will add the
proper section if it needs to, which is in most cases.  There are
cases where gcc will generate assembler that requires an
executable stack too.

This means either patching all those generated files, or telling
the assembler (with -Wa,--noexecstack) that it shouldn't generate
an executable stack.

I would prefer the first, but I don't see how to make that
portable in an easy way.

The problem with an executable stack is probaly obvious to most
people, in case of a security bug it's ussually the most easy way
to exploit it.

The Linux kernel now has the abbility to make the stack
executable on request, specialy on hardware with the "NX" bit.
There exist patches that do not allow you to have an executable
stack.


Kurt

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to