summaryrefslogtreecommitdiffstats
path: root/crypto/perlasm
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2008-11-03 08:46:07 +0000
committerAndy Polyakov <appro@openssl.org>2008-11-03 08:46:07 +0000
commit8fe8bae15a159730928a6f031a4e9af5744eac19 (patch)
treecf07e3d3432fc28a0cbb6e6061ad587cdb350c3f /crypto/perlasm
parentf2c0230518551f49d3f9afe12ff5ec92c0845cc6 (diff)
Minor perlasm updates.
Diffstat (limited to 'crypto/perlasm')
-rwxr-xr-xcrypto/perlasm/x86_64-xlate.pl10
-rw-r--r--crypto/perlasm/x86gas.pl4
2 files changed, 9 insertions, 5 deletions
diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
index 10b8629e61..647e72e171 100755
--- a/crypto/perlasm/x86_64-xlate.pl
+++ b/crypto/perlasm/x86_64-xlate.pl
@@ -68,7 +68,7 @@ my $output = shift;
if ($stddev!=$outdev || $stdino!=$outino);
}
-my $win64=1 if ($output =~ /\.asm/);
+my $win64=1 if ($output =~ /\.asm$/);
my $masmref=8 + 50727*2**-32; # 8.00.50727 shipped with VS2005
my $masm=0;
@@ -462,8 +462,12 @@ my %globals;
last;
};
/\.size/ && do { if (defined($current_function)) {
- $self->{value}="\$L\$SEH_end_$current_function->{name}:";
- $self->{value}.=":\n$current_function->{name}\tENDP" if($masm);
+ undef $self->{value};
+ if ($current_function->{abi} eq "svr4") {
+ $self->{value}="\$L\$SEH_end_$current_function->{name}:";
+ $self->{value}.=":\n" if($masm);
+ }
+ $self->{value}.="$current_function->{name}\tENDP" if($masm);
undef $current_function;
}
last;
diff --git a/crypto/perlasm/x86gas.pl b/crypto/perlasm/x86gas.pl
index 9969d382cf..e3fbb940f0 100644
--- a/crypto/perlasm/x86gas.pl
+++ b/crypto/perlasm/x86gas.pl
@@ -77,11 +77,11 @@ sub ::jmp_ptr { &::generic("jmp","*$_[0]"); }
};
*::shld = sub
{ my($dst,$src,$bits)=@_;
- &::emit("shldl",$bit eq "cl"?"%cl":"\$$bits","%$src","%$dst");
+ &::emit("shldl",$bits eq "cl"?"%cl":"\$$bits","%$src","%$dst");
};
*::shrd = sub
{ my($dst,$src,$bits)=@_;
- &::emit("shrdl",$bit eq "cl"?"%cl":"\$$bits","%$src","%$dst");
+ &::emit("shrdl",$bits eq "cl"?"%cl":"\$$bits","%$src","%$dst");
};
sub ::DWP