[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Tue Jan 12 03:44:28 UTC 2016


The branch master has been updated
       via  d9aad55a50c6291a8e2cbde13cd896185ba13861 (commit)
       via  d4b009d5f88875ac0e3ac0b2b9689ed16a4c88dc (commit)
       via  fd40db9ecd39302e4d5c6f4e3929a02d0b093d76 (commit)
       via  6bd3e10b64c6815b233d75f15aa05cbd7c238c01 (commit)
      from  baf245ec5fe969f115e0e556bf0da6bf7e960847 (commit)


- Log -----------------------------------------------------------------
commit d9aad55a50c6291a8e2cbde13cd896185ba13861
Author: Richard Levitte <levitte at openssl.org>
Date:   Tue Jan 12 03:42:56 2016 +0100

    Make sure to have both upper and mixed case symbols in SYMBOL_VECTOR
    
    It was assumed that the syntax FOO/Foo=PROCEDURE would create both an
    upper case and mixed case symbol in the GST.  Not so, it requires
    having both FOO/Foo=PROCEDURE (to create the upper case alias) and
    Foo=PROCEDURE (to create the mixed case slot).
    
    We make sure that any symbol always occupies two slots (even those
    that don't exist) by filling up with SPARE when necessary.  That will
    assure that any changes will still have the same symbols in the same
    slots no matter what (save a complete rewrite of the ordinals files).
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>

commit d4b009d5f88875ac0e3ac0b2b9689ed16a4c88dc
Author: Richard Levitte <levitte at openssl.org>
Date:   Tue Jan 12 03:40:27 2016 +0100

    Use SPARE instead of PRIVATE_PROCEDURE to reserve unused SYMBOL_VECTOR slots
    
    It was assumed that a dummy with the type PRIVATE_PROCEDURE would
    simply occupy a slot but otherwise ignore the symbol.  Not so, but
    there is SPARE for that purpose.
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>

commit fd40db9ecd39302e4d5c6f4e3929a02d0b093d76
Author: Richard Levitte <levitte at openssl.org>
Date:   Tue Jan 12 01:07:46 2016 +0100

    The limit per SYMBOL_VECTOR isn't the amount of symbols, it's the line length
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>

commit 6bd3e10b64c6815b233d75f15aa05cbd7c238c01
Author: Richard Levitte <levitte at openssl.org>
Date:   Tue Jan 12 00:51:26 2016 +0100

    VMS INDENTIFICATION should only have the version number
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>

-----------------------------------------------------------------------

Summary of changes:
 util/mkdef.pl | 40 +++++++++++++++++++++++++---------------
 1 file changed, 25 insertions(+), 15 deletions(-)

diff --git a/util/mkdef.pl b/util/mkdef.pl
index 7d0d3a6..ff018e9 100755
--- a/util/mkdef.pl
+++ b/util/mkdef.pl
@@ -1198,7 +1198,7 @@ sub print_def_file
 	my $prevsymversion = "", $prevprevsymversion = "";
         # For VMS
         my $prevnum = 0;
-        my $symbolcount = 0;
+        my $symvtextcount = 0;
 
 	if ($W32)
 		{ $libname.="32"; }
@@ -1234,12 +1234,13 @@ EOF
                 {
                 my $libref = $name eq "ssl" ? "LIBCRYPTO.EXE /SHARE" : "";
                 print OUT <<"EOF";
-IDENTIFICATION="LIB$libname V$version"
+IDENTIFICATION="V$version"
 CASE_SENSITIVE=YES
 LIB$libname.OLB /LIBRARY
 $libref
 SYMBOL_VECTOR=(-
 EOF
+                $symvtextcount = 16; # length of "SYMBOL_VECTOR=(-"
                 }
 
 	(@r)=grep(/^\w+(\{[0-9]+\})?\\.*?:.*?:FUNCTION/, at symbols);
@@ -1303,25 +1304,34 @@ EOF
 						print OUT "        $s2;\n";
                                         } elsif ($VMS) {
                                             while(++$prevnum < $n) {
-                                                if ($symbolcount > 1023) {
+                                                my $symline="SPARE, SPARE -";
+                                                if ($symvtextcount + length($symline) + 1 > 1024) {
                                                     print OUT ")\nSYMBOL_VECTOR=(-\n";
-                                                    $symbolcount = 0;
+                                                    $symvtextcount = 16; # length of "SYMBOL_VECTOR=(-"
                                                 }
-                                                print OUT $symbolcount
-                                                    ? "    ," : "    ";
-                                                print OUT "dummy$prevnum=PRIVATE_PROCEDURE -\n";
-                                                $symbolcount++;
+                                                if ($symvtextcount > 16) {
+                                                    $symline = ",".$symline;
+                                                }
+                                                print OUT "    $symline\n";
+                                                $symvtextcount += length($symline);
                                             }
                                             (my $s_uc = $s) =~ tr/a-z/A-Z/;
-                                            if ($symbolcount > 1023) {
+                                            my $symtype=
+                                                $v ? "DATA" : "PROCEDURE";
+                                            my $symline=
+                                                ($s_uc ne $s
+                                                 ? "$s_uc/$s=$symtype, $s=$symtype"
+                                                 : "$s=$symtype, SPARE")
+                                                ." -";
+                                            if ($symvtextcount + length($symline) + 1 > 1024) {
                                                 print OUT ")\nSYMBOL_VECTOR=(-\n";
-                                                $symbolcount = 0;
+                                                $symvtextcount = 16; # length of "SYMBOL_VECTOR=(-"
+                                            }
+                                            if ($symvtextcount > 16) {
+                                                $symline = ",".$symline;
                                             }
-                                            print OUT $symbolcount
-                                                ? "    ," : "    ";
-                                            print OUT "$s_uc/$s="
-                                                , ($v ? "DATA" : "PROCEDURE"), " -\n";
-                                            $symbolcount++;
+                                            print OUT "    $symline\n";
+                                            $symvtextcount += length($symline);
 					} elsif($v && !$OS2) {
 						printf OUT "    %s%-39s @%-8d DATA\n",
 								($W32)?"":"_",$s2,$n;


More information about the openssl-commits mailing list