[PATCH] openssl: Use linux-latomic target for ARC
Alexey Brodkin
Alexey.Brodkin at synopsys.com
Tue Dec 7 08:06:35 PST 2021
Hello,
Please disregard this patch, as it was meant for OE-core,
where it is now posted, see https://lists.openembedded.org/g/openembedded-core/message/159312
-Alexey
> From: Alexey Brodkin <abrodkin at synopsys.com>
> Sent: Tuesday, December 7, 2021 6:59 PM
> To: openembedded-devel at lists.openembedded.org <openembedded-devel at lists.openembedded.org>
> Cc: linux-snps-arc at lists.infradead.org <linux-snps-arc at lists.infradead.org>; Alexey Brodkin <abrodkin at synopsys.com>
> Subject: [PATCH] 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
>
> Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
> ---
> meta/recipes-connectivity/openssl/openssl_3.0.0.bb | 3 +++
> 1 file changed, 3 insertions(+)
>
> 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 () {
> esac
> target="$os-${HOST_ARCH}"
> case $target in
> + linux-arc)
> + target=linux-latomic
> + ;;
> linux-arm*)
> target=linux-armv4
> ;;
> --
> 2.16.2
>
More information about the linux-snps-arc
mailing list