aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2017-02-23 13:45:00 +0100
committerRichard Levitte <levitte@openssl.org>2017-02-23 13:45:00 +0100
commit2ac915f16218982f48dbc799b8308a07441d2e35 (patch)
treed740fc1ad03784328641cf27c64c492f05000455 /apps
parent227a44b1f639ea02d1a278ed07fa5f2dc6d286c6 (diff)
downloadopenssl-2ac915f16218982f48dbc799b8308a07441d2e35.tar.gz
In apps/rehash.c, decorate the inclusion of internal/o_dir.h for VMS
The library files are built with symbol names as is, while the application is built with the default uppercase-all-symbols mode. That's fine for public APIs, because we have __DECC_INCLUDE_PROLOGUE.H and __DECC_INCLUDE_EPILOGUE.H automatically telling the compiler how to treat the public header files. However, we don't have the same setup for internal library APIs, since they are usually only used by the libraries. Because apps/rehash.c uses a library internal header file, we have to surround that inclusion with the same kind of pragmas found in __DECC_INCLUDE_PROLOGUE.H and __DECC_INCLUDE_EPILOGUE.H, or we get unresolved symbols when building no-shared. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2725)
Diffstat (limited to 'apps')
-rw-r--r--apps/rehash.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/apps/rehash.c b/apps/rehash.c
index e837d27614..23dbfd8daa 100644
--- a/apps/rehash.c
+++ b/apps/rehash.c
@@ -25,7 +25,23 @@
# include <ctype.h>
# include <sys/stat.h>
+/*
+ * Make sure that the processing of symbol names is treated the same as when
+ * libcrypto is built. This is done automatically for public headers (see
+ * include/openssl/__DECC_INCLUDE_PROLOGUE.H and __DECC_INCLUDE_EPILOGUE.H),
+ * but not for internal headers.
+ */
+# ifdef __VMS
+# pragma names save
+# pragma names as_is,shortened
+# endif
+
# include "internal/o_dir.h"
+
+# ifdef __VMS
+# pragma names restore
+# endif
+
# include <openssl/evp.h>
# include <openssl/pem.h>
# include <openssl/x509.h>