[openssl-dev] [openssl.org #4642] [openssl-1.1.0-pre6] make failes with solaris-x86-cc & solaris64-x86_64-cc

Kiyoshi KANAZAWA via RT rt at openssl.org
Mon Aug 8 08:33:34 UTC 2016


Hello,

% ./Configure solaris-x86-cc
% make
   :
Undefined                       first referenced
 symbol                             in file
__atomic_add_fetch                  ./libcrypto.so
ld: fatal: symbol referencing errors. No output written to fuzz/asn1parse-test


% ./Configure solaris64-x86_64-cc
% make
has the same error.

Tested on Solaris10 x86/64, with Solaris developerstudio12.5.


This is caused because __ATOMIC_RELAXED is #defined as 0
in /opt/developerstudio12.5/lib/compilers/include/CC/gnu/builtins.h


Sample patch:
--- ../openssl-1.1.0-pre6.orig/crypto/threads_pthread.c
+++ ./crypto/threads_pthread.c
@@ -109,7 +109,7 @@
 
 int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock)
 {
-#ifdef __ATOMIC_RELAXED
+#if    __ATOMIC_RELAXED
     *ret = __atomic_add_fetch(val, amount, __ATOMIC_RELAXED);
 #else
     if (!CRYPTO_THREAD_write_lock(lock))


With this patch,
% ./Configure solaris-x86-cc
% make
% make test
passes.

% ./Configure solaris64-x86_64-cc
% make
passes but
% make test
stops.
This is another problem, which seems to be the same as bug #4641.


Regards,

--- Kiyoshi <yoi_no_myoujou at yahoo.co.jp>



-- 
Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4642
Please log in as guest with password guest if prompted



More information about the openssl-dev mailing list