diff options
author | Andy Polyakov <appro@openssl.org> | 2009-11-22 12:52:18 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2009-11-22 12:52:18 +0000 |
commit | 29c8d2a54ac4929037c02f28d96b093f17fdac6b (patch) | |
tree | 5b408929633b2dcf560c66fa0f076eb3c508867b /crypto/perlasm | |
parent | 87827be0c29838e042568d23e9507d7569d2a5d5 (diff) |
x86_64-xlate.pl: new gas requires sign extension.
x86masm.pl: fix linker warning.
PR: 2094,2095
Diffstat (limited to 'crypto/perlasm')
-rwxr-xr-x | crypto/perlasm/x86_64-xlate.pl | 5 | ||||
-rw-r--r-- | crypto/perlasm/x86masm.pl | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl index c09c3216ad..efded8f132 100755 --- a/crypto/perlasm/x86_64-xlate.pl +++ b/crypto/perlasm/x86_64-xlate.pl @@ -241,8 +241,9 @@ my %globals; if ($gas) { # Solaris /usr/ccs/bin/as can't handle multiplications - # in $self->{label} - $self->{label} =~ s/(?<![0-9a-f])(0[x0-9a-f]+)/oct($1)/egi; + # in $self->{label}, new gas requires sign extentions... + user integer; + $self->{label} =~ s/(?<![0-9a-f])(0[x0-9a-f]+)/oct($1)<<32>>32/egi; $self->{label} =~ s/([0-9]+\s*[\*\/\%]\s*[0-9]+)/eval($1)/eg; $self->{label} =~ s/^___imp_/__imp__/ if ($flavour eq "mingw64"); diff --git a/crypto/perlasm/x86masm.pl b/crypto/perlasm/x86masm.pl index 30774f0a25..3d50e4a786 100644 --- a/crypto/perlasm/x86masm.pl +++ b/crypto/perlasm/x86masm.pl @@ -128,7 +128,7 @@ ___ if (grep {/\b${nmdecor}OPENSSL_ia32cap_P\b/i} @out) { my $comm=<<___; -.bss SEGMENT +.bss SEGMENT 'BSS' COMM ${nmdecor}OPENSSL_ia32cap_P:DWORD .bss ENDS ___ |