提交 68a39960 编写于 作者: R Richard Levitte

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: NRich Salz <rsalz@openssl.org>
上级 e6ed2b91
......@@ -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",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册