diff options
author | Alexey Brodkin <abrodkin@synopsys.com> | 2021-12-07 08:02:41 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-12-08 20:22:11 +0000 |
commit | 22eb7f218d9fba1c4ed988e16f74426aba74f43b (patch) | |
tree | d3ce9b14fbe73000f3f254a095b50fa896a27eaa /meta/recipes-connectivity | |
parent | 40660f40942bdbc421f148766067d66b5b9a755d (diff) | |
download | poky-22eb7f218d9fba1c4ed988e16f74426aba74f43b.tar.gz |
openssl: Use linux-latomic target for ARC
Some atomic ops for 32-bit ARC processors are implemented in GCC's libatomic.
For example those dealing with 64-bit data (e.g. __atomic_load_8()) as well as
some others. That said it's required to add "-latomic" for successful linkage.
Otherwise error messages like this happen on OpenSSL building for ARC:
------------------------------->8------------------------------
| ...ld: libcrypto.a(libcrypto-lib-threads_pthread.o): in function `CRYPTO_atomic_or':
| .../openssl-3.0.0/crypto/threads_pthread.c:219: undefined reference to `__atomic_is_lock_free'
| ...ld: .../openssl-3.0.0/crypto/threads_pthread.c:219: undefined reference to `__atomic_is_lock_free'
| ...ld: .../openssl-3.0.0/crypto/threads_pthread.c:220: undefined reference to `__atomic_fetch_or_8'
------------------------------->8------------------------------
Fix that by using a special target, which does exactly what's needed.
See [1] and [2] for more details on the matter.
[1] https://github.com/openssl/openssl/commit/cdf2986a70d92668d882eb29737225f1aaafd0f1
[2] https://github.com/openssl/openssl/pull/15640
(From OE-Core rev: f48227a192022c604f8c2ea4fe973c6664861101)
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity')
-rw-r--r-- | meta/recipes-connectivity/openssl/openssl_3.0.0.bb | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl_3.0.0.bb b/meta/recipes-connectivity/openssl/openssl_3.0.0.bb index 4b1ae71a85..da73ed6bc3 100644 --- a/meta/recipes-connectivity/openssl/openssl_3.0.0.bb +++ b/meta/recipes-connectivity/openssl/openssl_3.0.0.bb | |||
@@ -70,6 +70,9 @@ do_configure () { | |||
70 | esac | 70 | esac |
71 | target="$os-${HOST_ARCH}" | 71 | target="$os-${HOST_ARCH}" |
72 | case $target in | 72 | case $target in |
73 | linux-arc) | ||
74 | target=linux-latomic | ||
75 | ;; | ||
73 | linux-arm*) | 76 | linux-arm*) |
74 | target=linux-armv4 | 77 | target=linux-armv4 |
75 | ;; | 78 | ;; |