diff options
author | Andy Polyakov <appro@openssl.org> | 2011-10-18 09:50:23 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2011-10-18 09:50:23 +0000 |
commit | 4010b341b79cef9f2fccedf8c14bbcf1046b9d3e (patch) | |
tree | 664f9507f8a578e7b7d40255ea85f2b17cf40371 /crypto/perlasm | |
parent | 5a326467dcec154dae3664ed8d1a742153c9248c (diff) |
x86_64-xlate.pl: make vpaes-x86_64.pl and rc4-md5-x86_64 work with ml64,
fix bug in .crt section alignment.
PR: 2620, 2624
Diffstat (limited to 'crypto/perlasm')
-rwxr-xr-x | crypto/perlasm/x86_64-xlate.pl | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl index cafacb867e..97310d898d 100755 --- a/crypto/perlasm/x86_64-xlate.pl +++ b/crypto/perlasm/x86_64-xlate.pl @@ -276,6 +276,7 @@ my %globals; $self->{label} =~ s/(?<![\w\$\.])0x([0-9a-f]+)/0$1h/ig; $self->{label} = "($self->{label})" if ($self->{label} =~ /[\*\+\-\/]/); $sz="q" if ($self->{asterisk} || opcode->mnemonic() eq "movq"); + $sz="l" if (opcode->mnemonic() eq "movd"); if (defined($self->{index})) { sprintf "%s[%s%s*%d%s]",$szmap{$sz}, @@ -567,7 +568,7 @@ my %globals; $v.=" READONLY"; $v.=" ALIGN(".($1 eq "p" ? 4 : 8).")" if ($masm>=$masmref); } elsif ($line=~/\.CRT\$/i) { - $v.=" READONLY DWORD"; + $v.=" READONLY ALIGN(8)"; } } $current_segment = $line; @@ -589,7 +590,7 @@ my %globals; $self->{value}="${decor}SEH_end_$current_function->{name}:"; $self->{value}.=":\n" if($masm); } - $self->{value}.="$current_function->{name}\tENDP" if($masm); + $self->{value}.="$current_function->{name}\tENDP" if($masm && $current_function->{name}); undef $current_function; } last; |