From: Richard Purdie Date: Fri, 15 Mar 2024 12:59:57 +0000 (+0000) Subject: uninative: Add pthread linking workaround X-Git-Tag: 2024-04-scarthgap~141 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ec2bc7ef663db4c04c85eee518297d442556481;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git uninative: Add pthread linking workaround With newer glibc versions, pthread was merged into the main library so there is no longer any need to link with -lpthread. On newer systems this means that linker flag is dropped from places like pkgconfig .pc files. If uninative then uses this newer library on an older system, the flag is missing and linker errors about missing symbols occur. Adding the linkage unconditionally to our uninative linking flags avoids that problem at a potential cost of slight over linking. Signed-off-by: Richard Purdie --- diff --git a/meta/classes-global/uninative.bbclass b/meta/classes-global/uninative.bbclass index 9b8b4565dd4..d2297b53f55 100644 --- a/meta/classes-global/uninative.bbclass +++ b/meta/classes-global/uninative.bbclass @@ -143,8 +143,8 @@ def enable_uninative(d): d.setVar("NATIVELSBSTRING", "universal%s" % oe.utils.host_gcc_version(d)) d.appendVar("SSTATEPOSTUNPACKFUNCS", " uninative_changeinterp") d.appendVarFlag("SSTATEPOSTUNPACKFUNCS", "vardepvalueexclude", "| uninative_changeinterp") - d.appendVar("BUILD_LDFLAGS", " -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=${UNINATIVE_LOADER}") - d.appendVarFlag("BUILD_LDFLAGS", "vardepvalueexclude", "| -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=${UNINATIVE_LOADER}") + d.appendVar("BUILD_LDFLAGS", " -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=${UNINATIVE_LOADER} -pthread") + d.appendVarFlag("BUILD_LDFLAGS", "vardepvalueexclude", "| -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=${UNINATIVE_LOADER} -pthread") d.appendVarFlag("BUILD_LDFLAGS", "vardepsexclude", "UNINATIVE_LOADER") d.prependVar("PATH", "${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux${bindir_native}:")