Commit 2935f624 authored by Richard Levitte's avatar Richard Levitte
Browse files

VMS: turn on name mangling for all our programs



With the change to have separate object files by intent, VMS name
mangling gets done differently.  While we previously had that for
libraries only, we must now turn that on generally for our programs,
because some of them depend in internal libraries where mangled names
are all that there is.

Dynamic modules are still built with non-mangled names, which is good
enough to show that it's possible to build with our public libraries
using our public headers.

Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7208)
parent c40af30e
Loading
Loading
Loading
Loading
+8 −3
Original line number Original line Diff line number Diff line
@@ -1732,10 +1732,15 @@ my %targets = (
        lflags           => picker(default => "/MAP='F\$PARSE(\".MAP\",\"\$\@\")'",
        lflags           => picker(default => "/MAP='F\$PARSE(\".MAP\",\"\$\@\")'",
                                   debug   => "/DEBUG/TRACEBACK",
                                   debug   => "/DEBUG/TRACEBACK",
                                   release => "/NODEBUG/NOTRACEBACK"),
                                   release => "/NODEBUG/NOTRACEBACK"),
        # Because of dso_cflags below, we can't set the generic |cflags| here,
        # as it can't be overriden, so we set separate C flags for libraries
        # and binaries instead.
        bin_cflags       => add("/NAMES=(AS_IS,SHORTENED)/EXTERN_MODEL=STRICT_REFDEF"),
        lib_cflags       => add("/NAMES=(AS_IS,SHORTENED)/EXTERN_MODEL=STRICT_REFDEF"),
        lib_cflags       => add("/NAMES=(AS_IS,SHORTENED)/EXTERN_MODEL=STRICT_REFDEF"),
        # no_inst_lib_cflags is used instead of lib_cflags by descrip.mms.tmpl
        # For modules specifically, we assume that they only use public
        # for object files belonging to selected internal libraries
        # OpenSSL symbols, and therefore don't need to mangle names on
        no_inst_lib_cflags => "",
        # their own.
        dso_cflags       => "",
        ex_libs          => add(sub { return vms_info()->{zlib} || (); }),
        ex_libs          => add(sub { return vms_info()->{zlib} || (); }),
        shared_target    => "vms-shared",
        shared_target    => "vms-shared",
        dso_scheme       => "vms",
        dso_scheme       => "vms",
+0 −10
Original line number Original line Diff line number Diff line
@@ -9,18 +9,8 @@


#include "internal/nelem.h"
#include "internal/nelem.h"
#include "testutil.h"
#include "testutil.h"

#ifdef __VMS
# pragma names save
# pragma names as_is,shortened
#endif

#include "../ssl/ssl_locl.h"
#include "../ssl/ssl_locl.h"


#ifdef __VMS
# pragma names restore
#endif

static int cipher_overhead(void)
static int cipher_overhead(void)
{
{
    int ret = 1, i, n = ssl3_num_ciphers();
    int ret = 1, i, n = ssl3_num_ciphers();
+0 −11
Original line number Original line Diff line number Diff line
@@ -10,18 +10,7 @@
#include <string.h>
#include <string.h>
#include <openssl/e_os2.h>
#include <openssl/e_os2.h>
#include <openssl/evp.h>
#include <openssl/evp.h>

#ifdef __VMS
# pragma names save
# pragma names as_is,shortened
#endif

#include "curve448_lcl.h"
#include "curve448_lcl.h"

#ifdef __VMS
# pragma names restore
#endif

#include "testutil.h"
#include "testutil.h"


static unsigned int max = 1000;
static unsigned int max = 1000;
+0 −10
Original line number Original line Diff line number Diff line
@@ -15,19 +15,9 @@
#include <openssl/ssl.h>
#include <openssl/ssl.h>
#include "testutil.h"
#include "testutil.h"
#include "internal/nelem.h"
#include "internal/nelem.h"

#ifdef __VMS
# pragma names save
# pragma names as_is,shortened
#endif

#include "../ssl/ssl_locl.h"
#include "../ssl/ssl_locl.h"
#include "../ssl/ssl_cert_table.h"
#include "../ssl/ssl_cert_table.h"


#ifdef __VMS
# pragma names restore
#endif

#define test_cert_table(nid, amask, idx) \
#define test_cert_table(nid, amask, idx) \
    do_test_cert_table(nid, amask, idx, #idx)
    do_test_cert_table(nid, amask, idx, #idx)


+0 −11
Original line number Original line Diff line number Diff line
@@ -9,19 +9,8 @@


#include <openssl/ssl.h>
#include <openssl/ssl.h>
#include <openssl/evp.h>
#include <openssl/evp.h>

#ifdef __VMS
# pragma names save
# pragma names as_is,shortened
#endif

#include "../ssl/ssl_locl.h"
#include "../ssl/ssl_locl.h"
#include "../ssl/record/record_locl.h"
#include "../ssl/record/record_locl.h"

#ifdef __VMS
# pragma names restore
#endif

#include "internal/nelem.h"
#include "internal/nelem.h"
#include "testutil.h"
#include "testutil.h"


Loading