x86_64-xlate.pl: new gas requires sign extension.
authorAndy Polyakov <appro@openssl.org>
Sun, 22 Nov 2009 12:52:18 +0000 (12:52 +0000)
committerAndy Polyakov <appro@openssl.org>
Sun, 22 Nov 2009 12:52:18 +0000 (12:52 +0000)
x86masm.pl: fix linker warning.
PR: 2094,2095

crypto/perlasm/x86_64-xlate.pl
crypto/perlasm/x86masm.pl

index c09c3216add8c9f12d7a5b788d0893e88a3faf5c..efded8f1329e2db356bde26707dae6dea00b2975 100755 (executable)
@@ -241,8 +241,9 @@ my %globals;
 
        if ($gas) {
            # Solaris /usr/ccs/bin/as can't handle multiplications
 
        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");
 
            $self->{label} =~ s/([0-9]+\s*[\*\/\%]\s*[0-9]+)/eval($1)/eg;
            $self->{label} =~ s/^___imp_/__imp__/   if ($flavour eq "mingw64");
 
index 30774f0a25085c0d5945dd4710234cad0baccb45..3d50e4a786564c3eed9e318558ef8e656a61edc0 100644 (file)
@@ -128,7 +128,7 @@ ___
 
     if (grep {/\b${nmdecor}OPENSSL_ia32cap_P\b/i} @out)
     {  my $comm=<<___;
 
     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
 ___
 COMM   ${nmdecor}OPENSSL_ia32cap_P:DWORD
 .bss   ENDS
 ___