[openssl-commits] Build failed in Jenkins: master_aarch64 #227

2017-12-01 Thread osslsanity
See 


Changes:

[openssl-users] Make possible variant SONAMEs and symbol versions

--
Started by upstream project "1_0_2_basic" build number 232
originally caused by:
 Started by timer
Building in workspace 

 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/openssl/openssl.git # 
 > timeout=10
Fetching upstream changes from https://github.com/openssl/openssl.git
 > git --version # timeout=10
 > git fetch --tags --progress https://github.com/openssl/openssl.git 
 > +refs/heads/*:refs/remotes/origin/*
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 822b5e2645a99bea15329bd66c9723c7e7119cdb 
(refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 822b5e2645a99bea15329bd66c9723c7e7119cdb
 > git rev-list a4cefc86c820d3894ca960857ba4e7cf8e2014b0 # timeout=10
[master_aarch64] $ /bin/sh -xe /tmp/jenkins3379474774928438801.sh
+ export 
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/buildroot-2017.02/output/host/usr/bin/
+ export CROSS_COMPILE=aarch64-linux-
+ ./Configure linux-aarch64
Using implicit seed configuration
Configuring OpenSSL version 1.1.1-dev (0x10101000L)
for linux-aarch64
no-aria [default]  OPENSSL_NO_ARIA (skip dir)
no-asan [default]  OPENSSL_NO_ASAN
no-crypto-mdebug [default]  OPENSSL_NO_CRYPTO_MDEBUG
no-crypto-mdebug-backtrace [default]  OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
no-devcryptoeng [default]  OPENSSL_NO_DEVCRYPTOENG
no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128
no-egd  [default]  OPENSSL_NO_EGD
no-external-tests [default]  OPENSSL_NO_EXTERNAL_TESTS
no-fuzz-afl [default]  OPENSSL_NO_FUZZ_AFL
no-fuzz-libfuzzer [default]  OPENSSL_NO_FUZZ_LIBFUZZER
no-heartbeats   [default]  OPENSSL_NO_HEARTBEATS
no-md2  [default]  OPENSSL_NO_MD2 (skip dir)
no-msan [default]  OPENSSL_NO_MSAN
no-rc5  [default]  OPENSSL_NO_RC5 (skip dir)
no-sctp [default]  OPENSSL_NO_SCTP
no-ssl-trace[default]  OPENSSL_NO_SSL_TRACE
no-ssl3 [default]  OPENSSL_NO_SSL3
no-ssl3-method  [default]  OPENSSL_NO_SSL3_METHOD
no-tls13downgrade [default]  OPENSSL_NO_TLS13DOWNGRADE
no-tls1_3   [default]  OPENSSL_NO_TLS1_3
no-ubsan[default]  OPENSSL_NO_UBSAN
no-unit-test[default]  OPENSSL_NO_UNIT_TEST
no-weak-ssl-ciphers [default]  OPENSSL_NO_WEAK_SSL_CIPHERS
no-zlib [default] 
no-zlib-dynamic [default] 

PERL  =/usr/bin/perl
PERLVERSION   =5.18.2 for x86_64-linux-gnu-thread-multi
HASHBANGPERL  =/usr/bin/env perl
CC=aarch64-linux-gcc
CFLAG =-Wall -O3 -pthread 
CXX   =aarch64-linux-g++
CXXFLAG   =-Wall -O3 -pthread 
DEFINES   =DSO_DLFCN HAVE_DLFCN_H NDEBUG OPENSSL_THREADS 
OPENSSL_NO_STATIC_ENGINE OPENSSL_PIC OPENSSL_BN_ASM_MONT SHA1_ASM SHA256_ASM 
SHA512_ASM VPAES_ASM ECP_NISTZ256_ASM POLY1305_ASM
EX_LIBS   =-ldl 
+ make depend
+ make clean
rm -f libcrypto.so.1.1
rm -f libcrypto.so
rm -f libssl.so.1.1
rm -f libssl.so
rm -f
rm -f libcrypto.a libssl.a test/libtestutil.a
rm -f *.map
rm -f apps/openssl fuzz/asn1-test fuzz/asn1parse-test fuzz/bignum-test 
fuzz/bndiv-test fuzz/client-test fuzz/cms-test fuzz/conf-test fuzz/crl-test 
fuzz/ct-test fuzz/server-test fuzz/x509-test test/aborttest test/afalgtest 
test/asn1_encode_test test/asn1_internal_test test/asn1_string_table_test 
test/asn1_time_test test/asynciotest test/asynctest test/bad_dtls_test 
test/bftest test/bio_enc_test test/bioprinttest test/bntest test/buildtest_aes 
test/buildtest_asn1 test/buildtest_asn1err test/buildtest_asn1t 
test/buildtest_async test/buildtest_asyncerr test/buildtest_bio 
test/buildtest_bioerr test/buildtest_blowfish test/buildtest_bn 
test/buildtest_bnerr test/buildtest_buffer test/buildtest_buffererr 
test/buildtest_camellia test/buildtest_cast test/buildtest_cmac 
test/buildtest_cms test/buildtest_cmserr test/buildtest_comp 
test/buildtest_comperr test/buildtest_conf test/buildtest_conf_api 
test/buildtest_conferr test/buildtest_crypto test/buildtest_cryptoerr 
test/buildtest_ct test/buildte
 st_cterr test/buildtest_des test/buildtest_dh test/buildtest_dherr 
test/buildtest_dsa test/buildtest_dsaerr test/buildtest_dtls1 
test/buildtest_e_os2 test/buildtest_ebcdic test/buildtest_ec 
test/buildtest_ecdh test/buildtest_ecdsa test/buildtest_ecerr 
test/buildtest_engine test/buildtest_engineerr test/buildtest_err 
test/buildtest_evp test/buildtest_evperr test/buildtest_hmac 
test/buildtest_idea 

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

2017-12-01 Thread Viktor Dukhovni
The branch OpenSSL_1_1_0-stable has been updated
   via  e6f38fb817d831ed093f7d7140325783b5556d8f (commit)
  from  a61c15eb9b8d0ef513d695c854516958e2ccf1eb (commit)


- Log -
commit e6f38fb817d831ed093f7d7140325783b5556d8f
Author: Viktor Dukhovni 
Date:   Mon Nov 20 21:30:04 2017 -0500

Make possible variant SONAMEs and symbol versions

This small change in the Unix template and shared library build
scripts enables building "variant" shared libraries.  A "variant"
shared library has a non-default SONAME, and non default symbol
versions.  This makes it possible to build (say) an OpenSSL 1.1.0
library that can coexist without conflict in the same process address
space as the system's default OpenSSL library which may be OpenSSL
1.0.2.

Such "variant" shared libraries make it possible to link applications
against a custom OpenSSL library installed in /opt/openssl/1.1 or
similar location, and not risk conflict with an indirectly loaded
OpenSSL runtime that is required by some other dependency.

Variant shared libraries have been fully tested under Linux, and
build successfully on MacOS/X producing variant DYLD names.  MacOS/X
Darwin has no symbol versioning, but has a non-flat library namespace.
Variant libraries may therefore support multiple OpenSSL libraries
in the same address space also with MacOS/X, despite lack of symbol
versions, but this has not been verified.

Variant shared libraries are optional and off by default.

Reviewed-by: Richard Levitte 

---

Summary of changes:
 Configurations/README | 21 ++
 Configurations/unix-Makefile.tmpl |  3 +-
 util/mkdef.pl | 58 +--
 3 files changed, 78 insertions(+), 4 deletions(-)

diff --git a/Configurations/README b/Configurations/README
index 47971c2..eecf1ea 100644
--- a/Configurations/README
+++ b/Configurations/README
@@ -86,6 +86,27 @@ In each table entry, the following keys are significant:
files.  On unix, this defaults to "" (NOTE:
this is here for future use, it's not
implemented yet)
+shlib_variant   => A "variant" identifier inserted between the base
+   shared library name and the extension.  On "unixy"
+   platforms (BSD, Linux, Solaris, MacOS/X, ...) this
+   supports installation of custom OpenSSL libraries
+   that don't conflict with other builds of OpenSSL
+   installed on the system.  The variant identifier
+   becomes part of the SONAME of the library and also
+   any symbol versions (symbol versions are not used or
+   needed with MacOS/X).  For example, on a system
+   where a default build would normally create the SSL
+   shared library as 'libssl.so -> libssl.so.1.1' with
+   the value of the symlink as the SONAME, a target
+   definition that sets 'shlib_variant => "-abc"' will
+   create 'libssl.so -> libssl-abc.so.1.1', again with
+   an SONAME equal to the value of the symlink.  The
+   symbol versions associated with the variant library
+   would then be 'OPENSSL_ABC_' rather than
+   the default 'OPENSSL_'. The string inserted
+   into symbol versions is obtained by mapping all
+   letters in the "variant" identifier to upper case
+   and all non-alphanumeric characters to '_'.
 
 thread_scheme   => The type of threads is used on the
configured platform.  Currently known
diff --git a/Configurations/unix-Makefile.tmpl 
b/Configurations/unix-Makefile.tmpl
index f044e95..39c4402 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -8,6 +8,7 @@
  our $exeext = $target{exe_extension} || "";
  our $libext = $target{lib_extension} || ".a";
  our $shlibext = $target{shared_extension} || ".so";
+ our $shlibvariant = $target{shlib_variant} || "";
  our $shlibextsimple = $target{shared_extension_simple} || ".so";
  our $shlibextimport = $target{shared_import_extension} || "";
  our $dsoext = $target{dso_extension} || ".so";
@@ -40,7 +41,7 @@
  sub shlib {
  return () if $disabled{shared};
  my $lib = shift;
- return $unified_info{sharednames}->{$lib} . $shlibext;
+ return 

[openssl-commits] [openssl] master update

2017-12-01 Thread Viktor Dukhovni
The branch master has been updated
   via  822b5e2645a99bea15329bd66c9723c7e7119cdb (commit)
  from  a4cefc86c820d3894ca960857ba4e7cf8e2014b0 (commit)


- Log -
commit 822b5e2645a99bea15329bd66c9723c7e7119cdb
Author: Viktor Dukhovni 
Date:   Mon Nov 20 21:30:04 2017 -0500

Make possible variant SONAMEs and symbol versions

This small change in the Unix template and shared library build
scripts enables building "variant" shared libraries.  A "variant"
shared library has a non-default SONAME, and non default symbol
versions.  This makes it possible to build (say) an OpenSSL 1.1.0
library that can coexist without conflict in the same process address
space as the system's default OpenSSL library which may be OpenSSL
1.0.2.

Such "variant" shared libraries make it possible to link applications
against a custom OpenSSL library installed in /opt/openssl/1.1 or
similar location, and not risk conflict with an indirectly loaded
OpenSSL runtime that is required by some other dependency.

Variant shared libraries have been fully tested under Linux, and
build successfully on MacOS/X producing variant DYLD names.  MacOS/X
Darwin has no symbol versioning, but has a non-flat library namespace.
Variant libraries may therefore support multiple OpenSSL libraries
in the same address space also with MacOS/X, despite lack of symbol
versions, but this has not been verified.

Variant shared libraries are optional and off by default.

Reviewed-by: Richard Levitte 

---

Summary of changes:
 Configurations/README | 21 ++
 Configurations/unix-Makefile.tmpl |  3 +-
 util/mkdef.pl | 58 +--
 3 files changed, 78 insertions(+), 4 deletions(-)

diff --git a/Configurations/README b/Configurations/README
index 5274559..a80c126 100644
--- a/Configurations/README
+++ b/Configurations/README
@@ -101,6 +101,27 @@ In each table entry, the following keys are significant:
files.  On unix, this defaults to "" (NOTE:
this is here for future use, it's not
implemented yet)
+shlib_variant   => A "variant" identifier inserted between the base
+   shared library name and the extension.  On "unixy"
+   platforms (BSD, Linux, Solaris, MacOS/X, ...) this
+   supports installation of custom OpenSSL libraries
+   that don't conflict with other builds of OpenSSL
+   installed on the system.  The variant identifier
+   becomes part of the SONAME of the library and also
+   any symbol versions (symbol versions are not used or
+   needed with MacOS/X).  For example, on a system
+   where a default build would normally create the SSL
+   shared library as 'libssl.so -> libssl.so.1.1' with
+   the value of the symlink as the SONAME, a target
+   definition that sets 'shlib_variant => "-abc"' will
+   create 'libssl.so -> libssl-abc.so.1.1', again with
+   an SONAME equal to the value of the symlink.  The
+   symbol versions associated with the variant library
+   would then be 'OPENSSL_ABC_' rather than
+   the default 'OPENSSL_'. The string inserted
+   into symbol versions is obtained by mapping all
+   letters in the "variant" identifier to upper case
+   and all non-alphanumeric characters to '_'.
 
 thread_scheme   => The type of threads is used on the
configured platform.  Currently known
diff --git a/Configurations/unix-Makefile.tmpl 
b/Configurations/unix-Makefile.tmpl
index dfd80c2..d66160f 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -8,6 +8,7 @@
  our $exeext = $target{exe_extension} || "";
  our $libext = $target{lib_extension} || ".a";
  our $shlibext = $target{shared_extension} || ".so";
+ our $shlibvariant = $target{shlib_variant} || "";
  our $shlibextsimple = $target{shared_extension_simple} || ".so";
  our $shlibextimport = $target{shared_import_extension} || "";
  our $dsoext = $target{dso_extension} || ".so";
@@ -40,7 +41,7 @@
  sub shlib {
  my $lib = shift;
  return () if $disabled{shared} || $lib =~ /\.a$/;
- return $unified_info{sharednames}->{$lib} . '$(SHLIB_EXT)';
+ return