libm: Add .section .note.GNU-stack to all assembly files
authorJohn Marino <draco@marino.st>
Tue, 20 Dec 2011 12:07:37 +0000 (13:07 +0100)
committerJohn Marino <draco@marino.st>
Thu, 22 Dec 2011 07:21:23 +0000 (08:21 +0100)
commit70e34eb24a22146387d9d5fab19ae39ea9225a1d
treeb559f2e2ef88f5865f0122433dc7ba66fd26b6db
parent03de92a87b9b6a08762025e05384bdc00f018534
libm: Add .section .note.GNU-stack to all assembly files

GCC always appends the following line to assembly files it generates:

  .section    .note.GNU-stack,"",@progbits

This creates an empty section named ".note.GNU-stack" to the object file
which servers as a hint to GNU linkers that this object file does not
require an executable stack.  When all linked object files indicate that
no executable stack is needed, the executable NX bit is set such as the
binary is run on a non-executable stack.  This is a free security
improvement against buffer overflow attacks.
52 files changed:
lib/libm/arch/i386/e_acos.S
lib/libm/arch/i386/e_asin.S
lib/libm/arch/i386/e_atan2.S
lib/libm/arch/i386/e_atan2f.S
lib/libm/arch/i386/e_exp.S
lib/libm/arch/i386/e_expf.S
lib/libm/arch/i386/e_fmod.S
lib/libm/arch/i386/e_log.S
lib/libm/arch/i386/e_log10.S
lib/libm/arch/i386/e_log10f.S
lib/libm/arch/i386/e_log2.S
lib/libm/arch/i386/e_log2f.S
lib/libm/arch/i386/e_logf.S
lib/libm/arch/i386/e_remainder.S
lib/libm/arch/i386/e_remainderf.S
lib/libm/arch/i386/e_scalb.S
lib/libm/arch/i386/e_scalbf.S
lib/libm/arch/i386/e_sqrt.S
lib/libm/arch/i386/e_sqrtf.S
lib/libm/arch/i386/lrint.S
lib/libm/arch/i386/s_atan.S
lib/libm/arch/i386/s_atanf.S
lib/libm/arch/i386/s_ceil.S
lib/libm/arch/i386/s_ceilf.S
lib/libm/arch/i386/s_copysign.S
lib/libm/arch/i386/s_copysignf.S
lib/libm/arch/i386/s_cos.S
lib/libm/arch/i386/s_cosf.S
lib/libm/arch/i386/s_finite.S
lib/libm/arch/i386/s_finitef.S
lib/libm/arch/i386/s_floor.S
lib/libm/arch/i386/s_floorf.S
lib/libm/arch/i386/s_ilogb.S
lib/libm/arch/i386/s_ilogbf.S
lib/libm/arch/i386/s_ilogbl.S
lib/libm/arch/i386/s_log1p.S
lib/libm/arch/i386/s_log1pf.S
lib/libm/arch/i386/s_logb.S
lib/libm/arch/i386/s_logbf.S
lib/libm/arch/i386/s_logbl.S
lib/libm/arch/i386/s_modf.S
lib/libm/arch/i386/s_rint.S
lib/libm/arch/i386/s_rintf.S
lib/libm/arch/i386/s_scalbn.S
lib/libm/arch/i386/s_scalbnf.S
lib/libm/arch/i386/s_scalbnl.S
lib/libm/arch/i386/s_significand.S
lib/libm/arch/i386/s_significandf.S
lib/libm/arch/i386/s_sin.S
lib/libm/arch/i386/s_sinf.S
lib/libm/arch/i386/s_tan.S
lib/libm/arch/i386/s_tanf.S