[openssl-commits] [openssl] OpenSSL_1_1_0-stable update

Richard Levitte levitte at openssl.org
Thu Feb 23 14:16:42 UTC 2017


The branch OpenSSL_1_1_0-stable has been updated
       via  7d02309a1622a804668a22f9cfbe9c5e49dead9a (commit)
      from  9f1dd6a6ff6dadb3b356f74357a85cc3b5002e6d (commit)


- Log -----------------------------------------------------------------
commit 7d02309a1622a804668a22f9cfbe9c5e49dead9a
Author: Richard Levitte <levitte at openssl.org>
Date:   Thu Feb 23 13:45:00 2017 +0100

    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 at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/2725)
    (cherry picked from commit 2ac915f16218982f48dbc799b8308a07441d2e35)

-----------------------------------------------------------------------

Summary of changes:
 apps/rehash.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/apps/rehash.c b/apps/rehash.c
index a380bdd..7d379b8 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>


More information about the openssl-commits mailing list