VMS: correct the logic around linking executables
authorRichard Levitte <levitte@openssl.org>
Fri, 4 Nov 2016 13:08:25 +0000 (14:08 +0100)
committerRichard Levitte <levitte@openssl.org>
Fri, 4 Nov 2016 14:36:25 +0000 (15:36 +0100)
The logic around avoiding MULDEF warnings was flawed.  Simplifying it
makes it better.

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

Configurations/descrip.mms.tmpl

index 15e0678ac54ddbb698e4880db57f557cc674f6d1..b3e2cc494846f04f19fa9dbecb3e68ab1dffec83 100644 (file)
@@ -788,11 +788,14 @@ $bin.EXE : $deps
                      search_severity = \$severity
         @ ! search_severity is 3 when the last search didn't find any matching
         @ ! string: %SEARCH-I-NOMATCHES, no strings matched
-        -@ IF search_severity .NE. 3 .OR. link_severity .NE. 1 THEN -
-                TYPE $bin.LINKLOG
+        @ ! If that was the result, we pretend linking got through without
+        @ ! fault or warning.
+        @ IF search_severity .EQ. 3 THEN link_severity = 1
+        @ ! At this point, if link_severity shows that there was a fault
+        @ ! or warning, make sure to restore the linking status.
+        -@ IF .NOT. link_severity THEN TYPE $bin.LINKLOG
         -@ DELETE $bin.LINKLOG;*
-        @ IF search_severity .NE. 3 .OR. link_severity .NE. 1 THEN -
-                SPAWN/WAIT/NOLOG EXIT 'link_status'
+        @ IF .NOT. link_severity THEN SPAWN/WAIT/NOLOG EXIT 'link_status'
         - PURGE $bin.EXE,$bin.OPT
 EOF
   }