[oe] [PATCH][meta-networking] squid: disable atomic operations for powerpc/mips

wenzong.fan at windriver.com wenzong.fan at windriver.com
Thu Sep 24 03:12:31 UTC 2015


From: Wenzong Fan <wenzong.fan at windriver.com>

Don't enable GNU atomic operations for all targets, it fails on
powerpc and mips:

  AtomicWord.h: undefined reference to `__sync_fetch_and_add_8'
  collect2: error: ld returned 1 exit status

Refer to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56300:

  There is no hardware support for 8 bytes atomic operations on
  32-bit MIPS targets.

The 32-bit PowerPC fails as well.

Signed-off-by: Wenzong Fan <wenzong.fan at windriver.com>
---
 meta-networking/recipes-daemons/squid/squid_3.5.7.bb | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta-networking/recipes-daemons/squid/squid_3.5.7.bb b/meta-networking/recipes-daemons/squid/squid_3.5.7.bb
index 5d058dc..5b27d46 100644
--- a/meta-networking/recipes-daemons/squid/squid_3.5.7.bb
+++ b/meta-networking/recipes-daemons/squid/squid_3.5.7.bb
@@ -34,8 +34,11 @@ inherit autotools useradd ptest
 USERADD_PACKAGES = "${PN}"
 USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid"
 
-PACKAGECONFIG ??= ""
+PACKAGECONFIG ??= "${@base_contains('TARGET_ARCH', 'powerpc', 'noatomics', '', d)} \
+                   ${@base_contains('TARGET_ARCH', 'mips', 'noatomics', '', d)} \
+                  "
 PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack"
+PACKAGECONFIG[noatomics] = "squid_cv_gnu_atomics=no,squid_cv_gnu_atomics=yes,,"
 
 BASIC_AUTH = "DB SASL LDAP NIS"
 DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
@@ -43,7 +46,6 @@ BASIC_AUTH += "${@base_contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}"
 
 EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}'"
 export BUILDCXXFLAGS="${BUILD_CXXFLAGS}"
-CACHED_CONFIGUREVARS += "squid_cv_gnu_atomics=yes"
 
 TESTDIR = "test-suite"
 do_compile_ptest() {
-- 
1.9.1




More information about the Openembedded-devel mailing list