summaryrefslogtreecommitdiffstats
path: root/crypto/crypto-lib.com
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 /crypto/crypto-lib.com
parent93c616d6110d29c513c46d82b2283eb1a9e74dc0 (diff)
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>
Diffstat (limited to 'crypto/crypto-lib.com')
-rw-r--r--crypto/crypto-lib.com2
1 files changed, 1 insertions, 1 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
$!