diff options
author | Richard Levitte <levitte@openssl.org> | 2016-08-21 23:36:49 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-08-22 10:10:59 +0200 |
commit | 68a39960a7a46545419fa7447291fad2e4c483f2 (patch) | |
tree | 73da4984df2b5bed944e8ef3332a91e7a62fea79 /Configurations | |
parent | e6ed2b9108830b23cda5632a4940b7f718f58676 (diff) | |
download | openssl-68a39960a7a46545419fa7447291fad2e4c483f2.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.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'Configurations')
-rw-r--r-- | Configurations/10-main.conf | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index cc1a207ea8..4a2abaeb3a 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -1730,7 +1730,7 @@ sub vms_info { lflags => picker(default => "/MAP", debug => "/DEBUG/TRACEBACK", release => "/NODEBUG/NOTRACEBACK"), - lib_cflags => add("/NAMES=(AS_IS,SHORTENED)"), + lib_cflags => add("/NAMES=(AS_IS,SHORTENED)/EXTERN_MODEL=STRICT_REFDEF"), dso_cflags => add("/NAMES=(AS_IS,SHORTENED)"), shared_target => "vms-shared", dso_scheme => "vms", |