util/mkdef.pl: Make symbol version processing Linux only
authorRichard Levitte <levitte@openssl.org>
Thu, 29 Jun 2017 19:11:48 +0000 (21:11 +0200)
committerRichard Levitte <levitte@openssl.org>
Thu, 29 Jun 2017 19:21:20 +0000 (21:21 +0200)
For Windows, we care which way it is, the resulting file is just a pile
of symbols.  For VMS, we really need to care about the numeric ordering,
and getting the symbols sorted by symbol version too didn't agree with
that.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3804)

(cherry picked from commit 0e288c2af2f24121ebd5f0c58912d9429915c02a)

util/mkdef.pl

index 918c243fb4b671dcc60bcabc6d12d2585351158e..b0571157bd122ca5a2e04a51e14fbe2ce4e49ac6 100755 (executable)
@@ -1244,7 +1244,6 @@ EOF
                                        if(!$do_update);
                        } else {
                                (my $n, my $symversion, my $dummy) = split /\\/, $nums{$s};
-                               next if $symversion ne $thisversion;
                                my %pf = ();
                                my $p = ($i =~ /^[^:]*:([^:]*):/,$1);
                                my $a = ($i =~ /^[^:]*:[^:]*:[^:]*:([^:]*)/,$1);
@@ -1257,6 +1256,7 @@ EOF
                                        }
                                        $prev = $s2;    # To warn about duplicates...
                                        if($linux) {
+                                               next if $symversion ne $thisversion;
                                                if ($symversion ne $prevsymversion) {
                                                        if ($prevsymversion ne "") {
                                                                if ($prevprevsymversion ne "") {
@@ -1312,7 +1312,7 @@ EOF
                                }
                        }
                }
-       } while ($thisversion ne $currversion);
+       } while ($linux && $thisversion ne $currversion);
        if ($linux) {
                if ($prevprevsymversion ne "") {
                        print OUT "    local: *;\n} OPENSSL_$prevprevsymversion;\n\n";