summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2016-03-04 11:32:26 +0100
committerAndy Polyakov <appro@openssl.org>2016-03-07 15:03:04 +0100
commitba26fa14556ba49466d51e4d9e6be32afee9c465 (patch)
tree1519f0de2446d51e90f2ff59f610092c542b0482
parentdf14e5023743bde0ed2860817729cee61fab3662 (diff)
downloadopenssl-new-ba26fa14556ba49466d51e4d9e6be32afee9c465.tar.gz
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 <rsalz@openssl.org> Reviewed-by: Viktor Dukhovni <viktor@openssl.org> (cherry picked from commit 6e42e3ff9cde43830555549fdafa2a8b37b9485b)
-rwxr-xr-xcrypto/perlasm/x86_64-xlate.pl2
1 files changed, 1 insertions, 1 deletions
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};
}