From: Richard Levitte Date: Thu, 12 Jan 2017 12:07:39 +0000 (+0100) Subject: UI: fix uitest for VMS X-Git-Tag: OpenSSL_1_1_1-pre1~2682 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=6a15d5b637638c37046d90c02e717543fa63f6da;p=oweals%2Fopenssl.git UI: fix uitest for VMS - On VMS, apps/apps.c depends on apps/vms_term_sock.c, so add it to the build - On VMS, apps/*.c are compiled with default symbol settings, i.e. uppercased and truncated symbols, which differs from test programs. Make sure uitest.c knows that with a few pragmas. Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/2218) --- diff --git a/test/build.info b/test/build.info index eed8aa5fa7..c116238948 100644 --- a/test/build.info +++ b/test/build.info @@ -5,6 +5,9 @@ my ($base, $files) = @_; return join(" ", map { "$base/$_" } split(/\s+/, $files)); } + our $apps_extra = + $config{target} =~ /^vms-/ ? "../apps/vms_term_sock.c" : ""; + "" -} IF[{- !$disabled{tests} -}] PROGRAMS_NO_INST=\ @@ -316,7 +319,8 @@ IF[{- !$disabled{tests} -}] DEPEND[cipher_overhead_test]=../libcrypto ../libssl ENDIF - SOURCE[uitest]=uitest.c testutil.c test_main_custom.c ../apps/apps.c ../apps/opt.c + SOURCE[uitest]=uitest.c testutil.c test_main_custom.c \ + ../apps/apps.c ../apps/opt.c {- $apps_extra -} INCLUDE[uitest]=.. ../include DEPEND[uitest]=../libcrypto ../libssl diff --git a/test/uitest.c b/test/uitest.c index 16d83b9528..0a7420d4d1 100644 --- a/test/uitest.c +++ b/test/uitest.c @@ -11,8 +11,25 @@ #include #include #include + +/* + * We know that on VMS, the [.apps] object files are compiled with uppercased + * symbols. We must therefore follow suit, or there will be linking errors. + * Additionally, the VMS build does stdio via a socketpair. + */ +#ifdef __VMS +# pragma names save +# pragma names uppercase, truncated + +# include "../apps/vms_term_sock.h" +#endif + #include "../apps/apps.h" +#ifdef __VMS +# pragma names restore +#endif + #include "testutil.h" #include "test_main_custom.h"