aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/perlasm
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2011-09-06 20:45:36 +0000
committerAndy Polyakov <appro@openssl.org>2011-09-06 20:45:36 +0000
commited28aef8b455be436f252dfceac49a958a92e53b (patch)
treecd34319f2128612e24d78d06571cdc4c24eab614 /crypto/perlasm
parent0486cce653b62d26a8ca37ac12f69f1a6b998844 (diff)
downloadopenssl-ed28aef8b455be436f252dfceac49a958a92e53b.tar.gz
Padlock engine: make it independent of inline assembler.
Diffstat (limited to 'crypto/perlasm')
-rw-r--r--crypto/perlasm/x86masm.pl7
-rw-r--r--crypto/perlasm/x86nasm.pl7
2 files changed, 14 insertions, 0 deletions
diff --git a/crypto/perlasm/x86masm.pl b/crypto/perlasm/x86masm.pl
index 6154b079b9..ee446de5c1 100644
--- a/crypto/perlasm/x86masm.pl
+++ b/crypto/perlasm/x86masm.pl
@@ -186,4 +186,11 @@ ___
sub ::dataseg
{ push(@out,"$segment\tENDS\n_DATA\tSEGMENT\n"); $segment="_DATA"; }
+sub ::safeseh
+{ my $nm=shift;
+ push(@out,"IF \@Version GE 710\n");
+ push(@out,".SAFESEH ".&::LABEL($nm,$nmdecor.$nm)."\n");
+ push(@out,"ENDIF\n");
+}
+
1;
diff --git a/crypto/perlasm/x86nasm.pl b/crypto/perlasm/x86nasm.pl
index 23a84ba563..ca2511c9eb 100644
--- a/crypto/perlasm/x86nasm.pl
+++ b/crypto/perlasm/x86nasm.pl
@@ -167,4 +167,11 @@ sub ::dataseg
else { push(@out,"section\t.data align=4\n"); }
}
+sub ::safeseh
+{ my $nm=shift;
+ push(@out,"%if __NASM_VERSION_ID__ >= 0x02030000\n");
+ push(@out,"safeseh ".&::LABEL($nm,$nmdecor.$nm)."\n");
+ push(@out,"%endif\n");
+}
+
1;