diff options
-rw-r--r-- | CHANGES | 3 | ||||
-rwxr-xr-x | crypto/aes/asm/aes-x86_64.pl | 3 | ||||
-rwxr-xr-x | crypto/bn/asm/x86_64-mont.pl | 1 | ||||
-rwxr-xr-x | crypto/md5/asm/md5-x86_64.pl | 1 | ||||
-rwxr-xr-x | crypto/rc4/asm/rc4-x86_64.pl | 1 | ||||
-rwxr-xr-x | crypto/sha/asm/sha1-x86_64.pl | 1 | ||||
-rwxr-xr-x | crypto/sha/asm/sha512-x86_64.pl | 2 | ||||
-rw-r--r-- | crypto/x86_64cpuid.pl | 7 |
8 files changed, 18 insertions, 1 deletions
@@ -4,6 +4,9 @@ Changes between 1.0.0 and 1.1.0 [xx XXX xxxx] + *) Make generated asm have non-executable stack. + [Contributed by Google <agl@google.com>] + *) New function OPENSSL_gmtime_diff to find the difference in days and seconds between two tm structures. This will be used to provide additional functionality for ASN1_TIME. diff --git a/crypto/aes/asm/aes-x86_64.pl b/crypto/aes/asm/aes-x86_64.pl index a545e892ae..a757b47146 100755 --- a/crypto/aes/asm/aes-x86_64.pl +++ b/crypto/aes/asm/aes-x86_64.pl @@ -42,7 +42,8 @@ $verticalspin=1; # unlike 32-bit version $verticalspin performs # ~15% better on both AMD and Intel cores $speed_limit=512; # see aes-586.pl for details -$code=".text\n"; +$code=".section .note.GNU-stack,\"\",\@progbits\n"; +$code.=".text\n"; $s0="%eax"; $s1="%ebx"; diff --git a/crypto/bn/asm/x86_64-mont.pl b/crypto/bn/asm/x86_64-mont.pl index 3b7a6f243f..b62373f567 100755 --- a/crypto/bn/asm/x86_64-mont.pl +++ b/crypto/bn/asm/x86_64-mont.pl @@ -45,6 +45,7 @@ $m0="%rbx"; $m1="%rbp"; $code=<<___; +.section .note.GNU-stack,"",\@progbits .text .globl bn_mul_mont diff --git a/crypto/md5/asm/md5-x86_64.pl b/crypto/md5/asm/md5-x86_64.pl index 867885435e..b75cf3b7a4 100755 --- a/crypto/md5/asm/md5-x86_64.pl +++ b/crypto/md5/asm/md5-x86_64.pl @@ -123,6 +123,7 @@ no warnings qw(uninitialized); open STDOUT,"| $^X $xlate $flavour $output"; $code .= <<EOF; +.section .note.GNU-stack,"",\@progbits .text .align 16 diff --git a/crypto/rc4/asm/rc4-x86_64.pl b/crypto/rc4/asm/rc4-x86_64.pl index 677be5fe25..a134127e8c 100755 --- a/crypto/rc4/asm/rc4-x86_64.pl +++ b/crypto/rc4/asm/rc4-x86_64.pl @@ -82,6 +82,7 @@ $YY="%r12"; $TY="%r13"; $code=<<___; +.section .note.GNU-stack,"",\@progbits .text .globl RC4 diff --git a/crypto/sha/asm/sha1-x86_64.pl b/crypto/sha/asm/sha1-x86_64.pl index 35ab0e7e78..a00f7c6799 100755 --- a/crypto/sha/asm/sha1-x86_64.pl +++ b/crypto/sha/asm/sha1-x86_64.pl @@ -178,6 +178,7 @@ unshift(@xi,pop(@xi)); } $code.=<<___; +.section .note.GNU-stack,"",\@progbits .text .globl sha1_block_data_order diff --git a/crypto/sha/asm/sha512-x86_64.pl b/crypto/sha/asm/sha512-x86_64.pl index e6643f8cf6..aaf9c57875 100755 --- a/crypto/sha/asm/sha512-x86_64.pl +++ b/crypto/sha/asm/sha512-x86_64.pl @@ -178,6 +178,8 @@ ___ } $code=<<___; +.section .note.GNU-stack,"",\@progbits + .text .globl $func diff --git a/crypto/x86_64cpuid.pl b/crypto/x86_64cpuid.pl index c96821a3c8..72010c9cbe 100644 --- a/crypto/x86_64cpuid.pl +++ b/crypto/x86_64cpuid.pl @@ -16,6 +16,13 @@ print<<___; .section .init call OPENSSL_cpuid_setup +___ + +if ($flavour =~ /elf/) { + print ".section .note.GNU-stack,\"\",\@progbits\n" +} + +print<<___; .text .globl OPENSSL_atomic_add |