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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Rich Salz via RT
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 <[hidden email]>



--
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
Reply | Threaded
Open this post in threaded view
|

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

Erik Forsberg-11
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 <[hidden email]>
>
>
>
>--
>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


--
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
Reply | Threaded
Open this post in threaded view
|

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

Rich Salz via RT
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 <[hidden email]>
>
>
>
>--
>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




--
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
Reply | Threaded
Open this post in threaded view
|

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

Rich Salz via RT
I believe Intel's C compiler knows about them too.


Pauli

--
Oracle
Dr Paul Dale | Cryptographer | Network Security & Encryption
Phone +61 7 3031 7217
Oracle Australia

-----Original Message-----
From: Erik Forsberg via RT [mailto:[hidden email]]
Sent: Saturday, 13 August 2016 5:50 AM
To: [hidden email]
Cc: [hidden email]
Subject: Re: [openssl-dev] [openssl.org #4642] [openssl-1.1.0-pre6] make failes with solaris-x86-cc & solaris64-x86_64-cc

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 <[hidden email]>
>
>
>
>--
>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




--
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


--
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
Reply | Threaded
Open this post in threaded view
|

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

Erik Forsberg-11
Until everyone will agree on the C11 standard name, maybe we should avoid the
issue, doesnt seem very important in OpenSSL usage.

>-- Original Message --
>
>I believe Intel's C compiler knows about them too.
>
>
>Pauli
>
>--
>Oracle
>Dr Paul Dale | Cryptographer | Network Security & Encryption
>Phone +61 7 3031 7217
>Oracle Australia
>
>-----Original Message-----
>From: Erik Forsberg via RT [mailto:[hidden email]]
>Sent: Saturday, 13 August 2016 5:50 AM
>To: [hidden email]
>Cc: [hidden email]
>Subject: Re: [openssl-dev] [openssl.org #4642] [openssl-1.1.0-pre6] make failes with solaris-x86-cc & solaris64-x86_64-cc
>
>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 <[hidden email]>
>>
>>
>>
>>--
>>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
>
>
>
>
>--
>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
>
>
>--
>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


--
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
Reply | Threaded
Open this post in threaded view
|

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

Rich Salz via RT
Until everyone will agree on the C11 standard name, maybe we should avoid the
issue, doesnt seem very important in OpenSSL usage.

>-- Original Message --
>
>I believe Intel's C compiler knows about them too.
>
>
>Pauli
>
>--
>Oracle
>Dr Paul Dale | Cryptographer | Network Security & Encryption
>Phone +61 7 3031 7217
>Oracle Australia
>
>-----Original Message-----
>From: Erik Forsberg via RT [mailto:[hidden email]]
>Sent: Saturday, 13 August 2016 5:50 AM
>To: [hidden email]
>Cc: [hidden email]
>Subject: Re: [openssl-dev] [openssl.org #4642] [openssl-1.1.0-pre6] make failes with solaris-x86-cc & solaris64-x86_64-cc
>
>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 <[hidden email]>
>>
>>
>>
>>--
>>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
>
>
>
>
>--
>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
>
>
>--
>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




--
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
Reply | Threaded
Open this post in threaded view
|

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

Rich Salz via RT
Based on the testing we did, using atomic operations to adjust reference counts provides a significant performance boost to the TLS stack (when measuring connections per second).


Pauli
--
Oracle
Dr Paul Dale | Cryptographer | Network Security & Encryption
Phone +61 7 3031 7217
Oracle Australia

-----Original Message-----
From: Erik Forsberg via RT [mailto:[hidden email]]
Sent: Monday, 15 August 2016 11:32 AM
To: [hidden email]
Cc: [hidden email]
Subject: Re: [openssl-dev] [openssl.org #4642] [openssl-1.1.0-pre6] make failes with solaris-x86-cc & solaris64-x86_64-cc

Until everyone will agree on the C11 standard name, maybe we should avoid the issue, doesnt seem very important in OpenSSL usage.

>-- Original Message --
>
>I believe Intel's C compiler knows about them too.
>
>
>Pauli
>
>--
>Oracle
>Dr Paul Dale | Cryptographer | Network Security & Encryption Phone +61
>7 3031 7217 Oracle Australia
>
>-----Original Message-----
>From: Erik Forsberg via RT [mailto:[hidden email]]
>Sent: Saturday, 13 August 2016 5:50 AM
>To: [hidden email]
>Cc: [hidden email]
>Subject: Re: [openssl-dev] [openssl.org #4642] [openssl-1.1.0-pre6]
>make failes with solaris-x86-cc & solaris64-x86_64-cc
>
>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 <[hidden email]>
>>
>>
>>
>>--
>>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
>
>
>
>
>--
>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
>
>
>--
>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




--
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


--
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