From: Andy Polyakov Date: Fri, 4 Mar 2016 10:32:26 +0000 (+0100) Subject: perlasm/x86_64-xlate.pl: handle binary constants early. X-Git-Tag: OpenSSL_1_0_2h~41 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ba26fa14556ba49466d51e4d9e6be32afee9c465;p=oweals%2Fopenssl.git perlasm/x86_64-xlate.pl: handle binary constants early. Not all assemblers of "gas" flavour handle binary constants, e.g. seasoned MacOS Xcode doesn't, so give them a hand. Reviewed-by: Rich Salz Reviewed-by: Viktor Dukhovni (cherry picked from commit 6e42e3ff9cde43830555549fdafa2a8b37b9485b) --- diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl index ee04221c7e..7a3dd04b0f 100755 --- a/crypto/perlasm/x86_64-xlate.pl +++ b/crypto/perlasm/x86_64-xlate.pl @@ -195,6 +195,7 @@ my %globals; sub out { my $self = shift; + $self->{value} =~ s/\b(0b[0-1]+)/oct($1)/eig; if ($gas) { # Solaris /usr/ccs/bin/as can't handle multiplications # in $self->{value} @@ -205,7 +206,6 @@ my %globals; } sprintf "\$%s",$self->{value}; } else { - $self->{value} =~ s/(0b[0-1]+)/oct($1)/eig; $self->{value} =~ s/0x([0-9a-f]+)/0$1h/ig if ($masm); sprintf "%s",$self->{value}; }