From: Andy Polyakov Date: Thu, 4 May 2017 13:54:29 +0000 (+0200) Subject: perlasm/x86_64-xlate.pl: work around problem with hex constants in masm. X-Git-Tag: OpenSSL_1_1_1-pre1~1578 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c47aea8af1e28e46e1ad5e2e7468b49fec3f4f29;p=openssl 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 (Merged from https://github.com/openssl/openssl/pull/3385) --- 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; } } }