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

Erik Forsberg erik at efca.com
Fri Aug 12 19:30:14 UTC 2016


For the time being, I think the atomic function should be GNU GCC only conditional.
#if defined(__GNUC__) && defined(__ATOMIC_RELAXED)

>-- Original Message --
>
>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
>
>-- 
>openssl-dev mailing list
>To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev




More information about the openssl-dev mailing list