diff options
Diffstat (limited to '')
-rwxr-xr-x | src/lib/libcrypto/perlasm/x86_64-xlate.pl | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/libcrypto/perlasm/x86_64-xlate.pl b/src/lib/libcrypto/perlasm/x86_64-xlate.pl index d66ad24095..68b4c1ca80 100755 --- a/src/lib/libcrypto/perlasm/x86_64-xlate.pl +++ b/src/lib/libcrypto/perlasm/x86_64-xlate.pl | |||
@@ -167,7 +167,7 @@ my %globals; | |||
167 | } elsif ($self->{op} =~ /^(pop|push)f/) { | 167 | } elsif ($self->{op} =~ /^(pop|push)f/) { |
168 | $self->{op} .= $self->{sz}; | 168 | $self->{op} .= $self->{sz}; |
169 | } elsif ($self->{op} eq "call" && $current_segment eq ".CRT\$XCU") { | 169 | } elsif ($self->{op} eq "call" && $current_segment eq ".CRT\$XCU") { |
170 | $self->{op} = "ALIGN\t8\n\tDQ"; | 170 | $self->{op} = "\tDQ"; |
171 | } | 171 | } |
172 | $self->{op}; | 172 | $self->{op}; |
173 | } | 173 | } |
@@ -546,6 +546,8 @@ my %globals; | |||
546 | if ($line=~/\.([px])data/) { | 546 | if ($line=~/\.([px])data/) { |
547 | $v.=" rdata align="; | 547 | $v.=" rdata align="; |
548 | $v.=$1 eq "p"? 4 : 8; | 548 | $v.=$1 eq "p"? 4 : 8; |
549 | } elsif ($line=~/\.CRT\$/i) { | ||
550 | $v.=" rdata align=8"; | ||
549 | } | 551 | } |
550 | } else { | 552 | } else { |
551 | $v="$current_segment\tENDS\n" if ($current_segment); | 553 | $v="$current_segment\tENDS\n" if ($current_segment); |
@@ -553,6 +555,8 @@ my %globals; | |||
553 | if ($line=~/\.([px])data/) { | 555 | if ($line=~/\.([px])data/) { |
554 | $v.=" READONLY"; | 556 | $v.=" READONLY"; |
555 | $v.=" ALIGN(".($1 eq "p" ? 4 : 8).")" if ($masm>=$masmref); | 557 | $v.=" ALIGN(".($1 eq "p" ? 4 : 8).")" if ($masm>=$masmref); |
558 | } elsif ($line=~/\.CRT\$/i) { | ||
559 | $v.=" READONLY DWORD"; | ||
556 | } | 560 | } |
557 | } | 561 | } |
558 | $current_segment = $line; | 562 | $current_segment = $line; |