Print this page
4853 illumos-gate is not lint-clean when built with openssl 1.0

@@ -66,11 +66,11 @@
         if (defined($output));
 
 my $gas=1;      $gas=0 if ($output =~ /\.asm$/);
 my $elf=1;      $elf=0 if (!$gas);
 my $win64=0;
-my $prefix="";
+my $prefix="sunw_";
 my $decor=".L";
 
 my $masmref=8 + 50727*2**-32;   # 8.00.50727 shipped with VS2005
 my $masm=0;
 my $PTR=" PTR";

@@ -465,10 +465,11 @@
                                         $current_function->{name} = $sym;
                                         $current_function->{scope} = defined($globals{$sym})?"PUBLIC":"PRIVATE";
                                     }
                                     $line =~ s/\@abi\-omnipotent/\@function/;
                                     $line =~ s/\@function.*/\@function/;
+                                    $line =~ s/$sym/$globals{$sym} or $sym/e;
                                     last;
                                   };
                 /\.asciz/   && do { if ($line =~ /^"(.*)"$/) {
                                         $dir  = ".byte";
                                         $line = join(",",unpack("C*",$1),0);

@@ -478,10 +479,13 @@
                 /\.rva|\.long|\.quad/
                             && do { $line =~ s/([_a-z][_a-z0-9]*)/$globals{$1} or $1/gei;
                                     $line =~ s/\.L/$decor/g;
                                     last;
                                   };
+                /\.size/    && do { $line =~ s/([_a-z][_a-z0-9]*)/$globals{$1} or $1/gei;
+                                    last;
+                                  };
             }
 
             if ($gas) {
                 $self->{value} = $dir . "\t" . $line;
 

@@ -511,10 +515,11 @@
                 } elsif ($dir =~ /\.(text|data)/) {
                     $current_segment=".$1";
                 } elsif ($dir =~ /\.hidden/) {
                     if    ($flavour eq "macosx")  { $self->{value} = ".private_extern\t$prefix$line"; }
                     elsif ($flavour eq "mingw64") { $self->{value} = ""; }
+                    else { $self->{value} = ".hidden\t$prefix$line"; }
                 } elsif ($dir =~ /\.comm/) {
                     $self->{value} = "$dir\t$prefix$line";
                     $self->{value} =~ s|,([0-9]+),([0-9]+)$|",$1,".log($2)/log(2)|e if ($flavour eq "macosx");
                 }
                 $line = "";