diff options
author | Andy Polyakov <appro@openssl.org> | 2017-05-04 15:54:29 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2017-05-05 16:53:33 +0200 |
commit | c47aea8af1e28e46e1ad5e2e7468b49fec3f4f29 (patch) | |
tree | 851254d048d94f09f7f9f2379e2c4eb82ebf96b6 /crypto/perlasm/x86_64-xlate.pl | |
parent | c0b4ff16755c5ced1bde62dd34f9df0ab8967f12 (diff) |
perlasm/x86_64-xlate.pl: work around problem with hex constants in masm.
Perl, multiple versions, for some reason occasionally takes issue with
letter b[?] in ox([0-9a-f]+) regex. As result some constants, such as
0xb1 came out wrong when generating code for MASM. Fixes GH#3241.
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3385)
Diffstat (limited to 'crypto/perlasm/x86_64-xlate.pl')
-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 b612c215a0..645be9184d 100755 --- a/crypto/perlasm/x86_64-xlate.pl +++ b/crypto/perlasm/x86_64-xlate.pl @@ -212,8 +212,9 @@ my %globals; } sprintf "\$%s",$self->{value}; } else { - $self->{value} =~ s/0x([0-9a-f]+)/0$1h/ig if ($masm); - sprintf "%s",$self->{value}; + my $value = $self->{value}; + $value =~ s/0x([0-9a-f]+)/0$1h/ig if ($masm); + sprintf "%s",$value; } } } |