diff mbox series

[v2,12/28] openssl: Link with libatomic on x86/clang

Message ID 20250520-clang-toolchain-v2-12-db97c2eb3756@gmail.com
State Accepted, archived
Commit 636e30f2d363bd77ac9cce69eecb14d2db703bb2
Headers show
Series clang: Add clang C/C++ toolchain | expand

Commit Message

Khem Raj May 21, 2025, 6:19 a.m. UTC
Fixes

threads_pthread.c:(.text+0x372): undefined reference to `__atomic_is_lock_free'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-connectivity/openssl/openssl_3.5.0.bb | 3 +++
 1 file changed, 3 insertions(+)

Comments

Randy MacLeod May 26, 2025, 9:56 p.m. UTC | #1
On 2025-05-21 2:19 a.m., Khem Raj via lists.openembedded.org wrote:
> Fixes
>
> threads_pthread.c:(.text+0x372): undefined reference to `__atomic_is_lock_free'

Khem,

These changes make sense to enable clang builds. (Yay and wow!)

There are a couple of cases where we need to add -latomic,
here for openssl and also for qemu.

Is that an upstream <pkg> or clang/lld issue?
Is there a bug reported or should Sunil do that?

In general, how do you want to handle the exceptions?

I'm tempted to ignore the arm32 issue but I expect that some people will 
not be
happy with that for several years if every. Right Ross?

  Thanks,

../Randy

>
> Signed-off-by: Khem Raj<raj.khem@gmail.com>
> ---
>   meta/recipes-connectivity/openssl/openssl_3.5.0.bb | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/meta/recipes-connectivity/openssl/openssl_3.5.0.bb b/meta/recipes-connectivity/openssl/openssl_3.5.0.bb
> index fddc4dbc813cd06333d72c38852db14ef39d25c1..0f5c28dafa314e52c3497a2e571b572475806e04 100644
> --- a/meta/recipes-connectivity/openssl/openssl_3.5.0.bb
> +++ b/meta/recipes-connectivity/openssl/openssl_3.5.0.bb
> @@ -53,6 +53,9 @@ EXTRA_OECONF:append:class-nativesdk = " --with-rand-seed=os,devrandom"
>   EXTRA_OEMAKE:append:task-compile:class-native = ' OPENSSLDIR="/not/builtin" ENGINESDIR="/not/builtin" MODULESDIR="/not/builtin"'
>   EXTRA_OEMAKE:append:task-compile:class-nativesdk = ' OPENSSLDIR="/not/builtin" ENGINESDIR="/not/builtin" MODULESDIR="/not/builtin"'
>   
> +#| threads_pthread.c:(.text+0x372): undefined reference to `__atomic_is_lock_free'
> +EXTRA_OECONF:append:toolchain-clang:x86 = " -latomic"
> +
>   # This allows disabling deprecated or undesirable crypto algorithms.
>   # The default is to trust upstream choices.
>   DEPRECATED_CRYPTO_FLAGS ?= ""
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#216980):https://lists.openembedded.org/g/openembedded-core/message/216980
> Mute This Topic:https://lists.openembedded.org/mt/113225023/3616765
> Group Owner:openembedded-core+owner@lists.openembedded.org
> Unsubscribe:https://lists.openembedded.org/g/openembedded-core/unsub [randy.macleod@windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta/recipes-connectivity/openssl/openssl_3.5.0.bb b/meta/recipes-connectivity/openssl/openssl_3.5.0.bb
index fddc4dbc813cd06333d72c38852db14ef39d25c1..0f5c28dafa314e52c3497a2e571b572475806e04 100644
--- a/meta/recipes-connectivity/openssl/openssl_3.5.0.bb
+++ b/meta/recipes-connectivity/openssl/openssl_3.5.0.bb
@@ -53,6 +53,9 @@  EXTRA_OECONF:append:class-nativesdk = " --with-rand-seed=os,devrandom"
 EXTRA_OEMAKE:append:task-compile:class-native = ' OPENSSLDIR="/not/builtin" ENGINESDIR="/not/builtin" MODULESDIR="/not/builtin"'
 EXTRA_OEMAKE:append:task-compile:class-nativesdk = ' OPENSSLDIR="/not/builtin" ENGINESDIR="/not/builtin" MODULESDIR="/not/builtin"'
 
+#| threads_pthread.c:(.text+0x372): undefined reference to `__atomic_is_lock_free'
+EXTRA_OECONF:append:toolchain-clang:x86 = " -latomic"
+
 # This allows disabling deprecated or undesirable crypto algorithms.
 # The default is to trust upstream choices.
 DEPRECATED_CRYPTO_FLAGS ?= ""