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)
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

index 757bcce..8864d12 100644 (file)
@@ -23,3 +23,5 @@ ENTRY(acos)
        XMM_DOUBLE_EPILOGUE
        ret
 END(acos)
+
+       .section .note.GNU-stack,"",%progbits
index 0f252c5..5268c07 100644 (file)
@@ -22,3 +22,5 @@ ENTRY(asin)
        XMM_DOUBLE_EPILOGUE
        ret
 END(asin)
+
+       .section .note.GNU-stack,"",%progbits
index c7980b1..594c798 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(atan2)
        XMM_DOUBLE_EPILOGUE
        ret
 END(atan2)
+
+       .section .note.GNU-stack,"",%progbits
index 1cf34c6..cd5e420 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(atan2f)
        XMM_FLOAT_EPILOGUE
        ret
 END(atan2f)
+
+       .section .note.GNU-stack,"",%progbits
index 6db5286..5f80f11 100644 (file)
@@ -103,3 +103,5 @@ x_not_minus_Inf:
        XMM_DOUBLE_EPILOGUE
        ret
 END(exp)
+
+       .section .note.GNU-stack,"",%progbits
index 29de387..f50337e 100644 (file)
@@ -53,3 +53,5 @@ x_not_minus_Inf:
        XMM_FLOAT_EPILOGUE
        ret
 END(expf)
+
+       .section .note.GNU-stack,"",%progbits
index a438ebe..1620c32 100644 (file)
@@ -21,3 +21,5 @@ ENTRY(fmod)
        XMM_DOUBLE_EPILOGUE
        ret
 END(fmod)
+
+       .section .note.GNU-stack,"",%progbits
index 9421813..9fb08b1 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(log)
        XMM_DOUBLE_EPILOGUE
        ret
 END(log)
+
+       .section .note.GNU-stack,"",%progbits
index 244ccdb..581c778 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(log10)
        XMM_DOUBLE_EPILOGUE
        ret
 END(log10)
+
+       .section .note.GNU-stack,"",%progbits
index c753df3..81a0d8e 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(log10f)
        XMM_FLOAT_EPILOGUE
        ret
 END(log10f)
+
+       .section .note.GNU-stack,"",%progbits
index 9aa9b16..877fef4 100644 (file)
@@ -16,3 +16,5 @@ ENTRY(log2)
        XMM_DOUBLE_EPILOGUE
        ret
 END(log2)
+
+       .section .note.GNU-stack,"",%progbits
index 9dea612..dc7d818 100644 (file)
@@ -16,3 +16,5 @@ ENTRY(log2f)
        XMM_FLOAT_EPILOGUE
        ret
 END(log2f)
+
+       .section .note.GNU-stack,"",%progbits
index 7177332..5517bed 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(logf)
        XMM_FLOAT_EPILOGUE
        ret
 END(logf)
+
+       .section .note.GNU-stack,"",%progbits
index 6fa35eb..8cbc968 100644 (file)
@@ -21,3 +21,5 @@ ENTRY(remainder)
        XMM_DOUBLE_EPILOGUE
        ret
 END(remainder)
+
+       .section .note.GNU-stack,"",%progbits
index 85d68dd..a58df3b 100644 (file)
@@ -21,3 +21,5 @@ ENTRY(remainderf)
        XMM_FLOAT_EPILOGUE
        ret
 END(remainderf)
+
+       .section .note.GNU-stack,"",%progbits
index d2bd0fc..03c57c9 100644 (file)
@@ -18,3 +18,5 @@ ENTRY(scalb)
        XMM_DOUBLE_EPILOGUE
        ret
 END(scalb)
+
+       .section .note.GNU-stack,"",%progbits
index bd466af..a5fc150 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(scalbf)
        XMM_FLOAT_EPILOGUE
        ret
 END(scalbf)
+
+       .section .note.GNU-stack,"",%progbits
index ad21d9a..5a2928f 100644 (file)
@@ -16,3 +16,5 @@ ENTRY(sqrt)
 #endif
        ret
 END(sqrt)
+
+       .section .note.GNU-stack,"",%progbits
index ea5d60f..cfc89c1 100644 (file)
@@ -16,3 +16,5 @@ ENTRY(sqrtf)
 #endif
        ret
 END(sqrtf)
+
+       .section .note.GNU-stack,"",%progbits
index 7713f8b..2759d39 100644 (file)
@@ -22,3 +22,5 @@ ENTRY(lrint)
        ret
 #endif
 END(lrint)
+
+       .section .note.GNU-stack,"",%progbits
index 031fec3..15216d2 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(atan)
        XMM_DOUBLE_EPILOGUE
        ret
 END(atan)
+
+       .section .note.GNU-stack,"",%progbits
index 409d264..56a566e 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(atanf)
        XMM_FLOAT_EPILOGUE
        ret
 END(atanf)
+
+       .section .note.GNU-stack,"",%progbits
index 826814e..5280c39 100644 (file)
@@ -44,3 +44,5 @@ ENTRY(ceil)
 #endif
        ret
 END(ceil)
+
+       .section .note.GNU-stack,"",%progbits
index 731fe35..3ed54e9 100644 (file)
@@ -42,3 +42,5 @@ ENTRY(ceilf)
 #endif
        ret
 END(ceilf)
+
+       .section .note.GNU-stack,"",%progbits
index 9a9e1a9..2367439 100644 (file)
@@ -37,3 +37,5 @@ ENTRY(copysign)
 #endif
        ret
 END(copysign)
+
+       .section .note.GNU-stack,"",%progbits
index 26b2f5c..838d352 100644 (file)
@@ -36,3 +36,5 @@ ENTRY(copysignf)
 #endif
        ret
 END(copysignf)
+
+       .section .note.GNU-stack,"",%progbits
index 398940b..20f3e04 100644 (file)
@@ -30,3 +30,5 @@ ENTRY(cos)
        XMM_DOUBLE_EPILOGUE
        ret
 END(cos)
+
+       .section .note.GNU-stack,"",%progbits
index b20b1b8..09d106d 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(cosf)
        XMM_FLOAT_EPILOGUE
        ret
 END(cosf)
+
+       .section .note.GNU-stack,"",%progbits
index f840393..3be7c9a 100644 (file)
@@ -25,3 +25,5 @@ ENTRY(finite)
 #endif
        ret
 END(finite)
+
+       .section .note.GNU-stack,"",%progbits
index 6aa0e70..c977eba 100644 (file)
@@ -24,3 +24,5 @@ ENTRY(finitef)
 #endif
        ret
 END(finitef)
+
+       .section .note.GNU-stack,"",%progbits
index ea45db2..fc6ff95 100644 (file)
@@ -42,3 +42,5 @@ ENTRY(floor)
 #endif
        ret
 END(floor)
+
+       .section .note.GNU-stack,"",%progbits
index d5e40c3..70c2a9d 100644 (file)
@@ -42,3 +42,5 @@ ENTRY(floorf)
 #endif
        ret
 END(floorf)
+
+       .section .note.GNU-stack,"",%progbits
index f5d5927..3ac9bc2 100644 (file)
@@ -31,3 +31,5 @@ ENTRY(ilogb)
 #endif
        ret
 END(ilogb)
+
+       .section .note.GNU-stack,"",%progbits
index 444b323..72e79f7 100644 (file)
@@ -31,3 +31,5 @@ ENTRY(ilogbf)
 #endif
        ret
 END(ilogbf)
+
+       .section .note.GNU-stack,"",%progbits
index e91159e..727b297 100644 (file)
@@ -22,4 +22,6 @@ ENTRY(ilogbl)
        movl    -4(%rsp), %eax
 #endif
        ret
-END(ilogbl)
\ No newline at end of file
+END(ilogbl)
+
+       .section .note.GNU-stack,"",%progbits
index 01cca2e..1a57762 100644 (file)
@@ -75,3 +75,5 @@ use_fyl2xp1:
        XMM_DOUBLE_EPILOGUE
        ret
 END(log1p)
+
+       .section .note.GNU-stack,"",%progbits
index 48dd76d..31f62a5 100644 (file)
@@ -75,3 +75,5 @@ use_fyl2xp1:
        XMM_FLOAT_EPILOGUE
        ret
 END(log1pf)
+
+       .section .note.GNU-stack,"",%progbits
index a9f8128..5a16a49 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(logb)
        XMM_DOUBLE_EPILOGUE
        ret
 END(logb)
+
+       .section .note.GNU-stack,"",%progbits
index 07aae79..6199b8d 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(logbf)
        XMM_FLOAT_EPILOGUE
        ret
 END(logbf)
+
+       .section .note.GNU-stack,"",%progbits
index dbba186..fcfbbe7 100644 (file)
@@ -14,4 +14,6 @@ ENTRY(logbl)
        fxtract
        fstp    %st
        ret
-END(logbl)
\ No newline at end of file
+END(logbl)
+
+       .section .note.GNU-stack,"",%progbits
index 48adaaf..a038030 100644 (file)
@@ -102,3 +102,5 @@ L1:
        leave
        ret
 END(modf)
+
+       .section .note.GNU-stack,"",%progbits
index b84618c..ae756d2 100644 (file)
@@ -16,3 +16,5 @@ ENTRY(rint)
        XMM_DOUBLE_EPILOGUE
        ret
 END(rint)
+
+       .section .note.GNU-stack,"",%progbits
index 3c98429..85d29b1 100644 (file)
@@ -16,3 +16,5 @@ ENTRY(rintf)
        XMM_FLOAT_EPILOGUE
        ret
 END(rintf)
+
+       .section .note.GNU-stack,"",%progbits
index e619140..884be71 100644 (file)
@@ -25,3 +25,5 @@ ENTRY(scalbn)
 #endif
        ret
 END(scalbn)
+
+       .section .note.GNU-stack,"",%progbits
index d6c5312..e0b91f9 100644 (file)
@@ -25,3 +25,5 @@ ENTRY(scalbnf)
 #endif
        ret
 END(scalbnf)
+
+       .section .note.GNU-stack,"",%progbits
index 4a6545a..e1857a2 100644 (file)
@@ -22,3 +22,5 @@ ENTRY(scalbnl)
 #endif
        ret
 END(scalbnl)
+
+       .section .note.GNU-stack,"",%progbits
index 156bcac..58f67ba 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(significand)
        XMM_DOUBLE_EPILOGUE
        ret
 END(significand)
+
+       .section .note.GNU-stack,"",%progbits
index d6a74c7..7d1cb0b 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(significandf)
        XMM_FLOAT_EPILOGUE
        ret
 END(significandf)
+
+       .section .note.GNU-stack,"",%progbits
index f59cd2a..3c01132 100644 (file)
@@ -30,3 +30,5 @@ ENTRY(sin)
        XMM_DOUBLE_EPILOGUE
        ret
 END(sin)
+
+       .section .note.GNU-stack,"",%progbits
index 17f9f89..5585bbd 100644 (file)
@@ -17,3 +17,5 @@ ENTRY(sinf)
        XMM_FLOAT_EPILOGUE
        ret
 END(sinf)
+
+       .section .note.GNU-stack,"",%progbits
index f961aae..c0c3611 100644 (file)
@@ -32,3 +32,5 @@ ENTRY(tan)
        XMM_DOUBLE_EPILOGUE
        ret
 END(tan)
+
+       .section .note.GNU-stack,"",%progbits
index 4b43c0d..cd8f30c 100644 (file)
@@ -18,3 +18,5 @@ ENTRY(tanf)
        XMM_FLOAT_EPILOGUE
        ret
 END(tanf)
+
+       .section .note.GNU-stack,"",%progbits