Non-executable stack in asm.

This commit is contained in:
Ben Laurie 2010-05-05 15:50:13 +00:00
parent f472ec8c2f
commit 0e3ef596e5
8 changed files with 18 additions and 1 deletions

View File

@ -4,6 +4,9 @@
Changes between 1.0.0 and 1.1.0 [xx XXX xxxx] 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 *) New function OPENSSL_gmtime_diff to find the difference in days
and seconds between two tm structures. This will be used to provide and seconds between two tm structures. This will be used to provide
additional functionality for ASN1_TIME. additional functionality for ASN1_TIME.

View File

@ -42,7 +42,8 @@ $verticalspin=1; # unlike 32-bit version $verticalspin performs
# ~15% better on both AMD and Intel cores # ~15% better on both AMD and Intel cores
$speed_limit=512; # see aes-586.pl for details $speed_limit=512; # see aes-586.pl for details
$code=".text\n"; $code=".section .note.GNU-stack,\"\",\@progbits\n";
$code.=".text\n";
$s0="%eax"; $s0="%eax";
$s1="%ebx"; $s1="%ebx";

View File

@ -45,6 +45,7 @@ $m0="%rbx";
$m1="%rbp"; $m1="%rbp";
$code=<<___; $code=<<___;
.section .note.GNU-stack,"",\@progbits
.text .text
.globl bn_mul_mont .globl bn_mul_mont

View File

@ -123,6 +123,7 @@ no warnings qw(uninitialized);
open STDOUT,"| $^X $xlate $flavour $output"; open STDOUT,"| $^X $xlate $flavour $output";
$code .= <<EOF; $code .= <<EOF;
.section .note.GNU-stack,"",\@progbits
.text .text
.align 16 .align 16

View File

@ -82,6 +82,7 @@ $YY="%r12";
$TY="%r13"; $TY="%r13";
$code=<<___; $code=<<___;
.section .note.GNU-stack,"",\@progbits
.text .text
.globl RC4 .globl RC4

View File

@ -178,6 +178,7 @@ unshift(@xi,pop(@xi));
} }
$code.=<<___; $code.=<<___;
.section .note.GNU-stack,"",\@progbits
.text .text
.globl sha1_block_data_order .globl sha1_block_data_order

View File

@ -178,6 +178,8 @@ ___
} }
$code=<<___; $code=<<___;
.section .note.GNU-stack,"",\@progbits
.text .text
.globl $func .globl $func

View File

@ -16,6 +16,13 @@ print<<___;
.section .init .section .init
call OPENSSL_cpuid_setup call OPENSSL_cpuid_setup
___
if ($flavour =~ /elf/) {
print ".section .note.GNU-stack,\"\",\@progbits\n"
}
print<<___;
.text .text
.globl OPENSSL_atomic_add .globl OPENSSL_atomic_add