提交 4010b341 编写于 作者: A Andy Polyakov

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
上级 5a326467
...@@ -276,6 +276,7 @@ my %globals; ...@@ -276,6 +276,7 @@ my %globals;
$self->{label} =~ s/(?<![\w\$\.])0x([0-9a-f]+)/0$1h/ig; $self->{label} =~ s/(?<![\w\$\.])0x([0-9a-f]+)/0$1h/ig;
$self->{label} = "($self->{label})" if ($self->{label} =~ /[\*\+\-\/]/); $self->{label} = "($self->{label})" if ($self->{label} =~ /[\*\+\-\/]/);
$sz="q" if ($self->{asterisk} || opcode->mnemonic() eq "movq"); $sz="q" if ($self->{asterisk} || opcode->mnemonic() eq "movq");
$sz="l" if (opcode->mnemonic() eq "movd");
if (defined($self->{index})) { if (defined($self->{index})) {
sprintf "%s[%s%s*%d%s]",$szmap{$sz}, sprintf "%s[%s%s*%d%s]",$szmap{$sz},
...@@ -567,7 +568,7 @@ my %globals; ...@@ -567,7 +568,7 @@ my %globals;
$v.=" READONLY"; $v.=" READONLY";
$v.=" ALIGN(".($1 eq "p" ? 4 : 8).")" if ($masm>=$masmref); $v.=" ALIGN(".($1 eq "p" ? 4 : 8).")" if ($masm>=$masmref);
} elsif ($line=~/\.CRT\$/i) { } elsif ($line=~/\.CRT\$/i) {
$v.=" READONLY DWORD"; $v.=" READONLY ALIGN(8)";
} }
} }
$current_segment = $line; $current_segment = $line;
...@@ -589,7 +590,7 @@ my %globals; ...@@ -589,7 +590,7 @@ my %globals;
$self->{value}="${decor}SEH_end_$current_function->{name}:"; $self->{value}="${decor}SEH_end_$current_function->{name}:";
$self->{value}.=":\n" if($masm); $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; undef $current_function;
} }
last; last;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册