aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-08-22 10:17:27 +0200
committerRichard Levitte <levitte@openssl.org>2016-08-22 15:50:28 +0200
commit51690fb8881955a4ff3f4648a06f1be3f0945d7b (patch)
tree4d05a4ea3c9b7a1c8ce994d3dea5375399ffcea7
parent93c616d6110d29c513c46d82b2283eb1a9e74dc0 (diff)
downloadopenssl-51690fb8881955a4ff3f4648a06f1be3f0945d7b.tar.gz
VMS: Use strict refdef extern model when building library object files
Most of the time, this isn't strictly needed. However, in the default extern model (called relaxed refdef), symbols are treated as weak common objects unless they are initialised. The librarian doesn't include weak symbols in the (static) libraries, which renders them invisible when linking a program with said those libraries, which is a problem at times. Using the strict refdef model is much more like standard C on all other platforms, and thereby avoid the issues that come with the relaxed refdef model. Note: this doesn't apply to VAX C. It's possible that this will make OpenSSL building with VAX C difficult some time in the future if it isn't already. However, VAX C is a very old compiler that we don't expect to see too often, as DEC C (a.k.a VMS C) should have replaced it a long time ago. Reviewed-by: Rich Salz <rsalz@openssl.org>
-rw-r--r--crypto/crypto-lib.com2
-rw-r--r--ssl/ssl-lib.com2
2 files changed, 2 insertions, 2 deletions
diff --git a/crypto/crypto-lib.com b/crypto/crypto-lib.com
index 1423cac288..37dc418bf5 100644
--- a/crypto/crypto-lib.com
+++ b/crypto/crypto-lib.com
@@ -1222,7 +1222,7 @@ $ CC = "CC"
$ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" -
THEN CC = "CC/DECC"
$ CC = CC + " /''CC_OPTIMIZE' /''DEBUGGER' /STANDARD=RELAXED"+ -
- "''POINTER_SIZE' /NOLIST /PREFIX=ALL" + -
+ "''POINTER_SIZE' /NOLIST /PREFIX=ALL /EXTERN_MODEL=STRICT_REFDEF" + -
" /INCLUDE=(''CC_INCLUDES')"+ -
CCEXTRAFLAGS
$!
diff --git a/ssl/ssl-lib.com b/ssl/ssl-lib.com
index 43fea17541..bf67265a46 100644
--- a/ssl/ssl-lib.com
+++ b/ssl/ssl-lib.com
@@ -941,7 +941,7 @@ $ CC = "CC"
$ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" -
THEN CC = "CC/DECC"
$ CC = CC + " /''CC_OPTIMIZE' /''DEBUGGER' /STANDARD=RELAXED"+ -
- "''POINTER_SIZE' /NOLIST /PREFIX=ALL" + -
+ "''POINTER_SIZE' /NOLIST /PREFIX=ALL /EXTERN_MODEL=STRICT_REFDEF" + -
" /INCLUDE=(''CC_INCLUDES') " + CCEXTRAFLAGS
$!
$! Define The Linker Options File Name.