[oe,meta-oe,06/14] gperftools: Fix build with clang

Message ID 20170307071349.16444-6-raj.khem@gmail.com
State New
Headers show
Series
  • [oe,meta-oe,01/14] t1lib: Fix printf format string errors
Related show

Commit Message

Khem Raj March 7, 2017, 7:13 a.m.
Signed-off-by: Khem Raj <raj.khem@gmail.com>

---
 .../0001-Support-Atomic-ops-on-clang.patch         | 33 ++++++++++++++++++++++
 .../recipes-support/gperftools/gperftools_2.5.bb   |  4 ++-
 2 files changed, 36 insertions(+), 1 deletion(-)
 create mode 100644 meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch

-- 
2.12.0

-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Patch hide | download patch | download mbox

diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch
new file mode 100644
index 000000000..e582c0da6
--- /dev/null
+++ b/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch
@@ -0,0 +1,33 @@ 
+From ea9f64eb2cdf3be6c4dc65fa1472d854616e43ca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Mar 2017 13:38:46 -0800
+Subject: [PATCH] Support Atomic ops on clang
+
+clang pretends to be gcc 4.2 which is a lie
+it actually supports a lot more features then
+gcc 4.2, here it depends on gcc 4.7 to enable
+the atomics and fails for clang
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/base/atomicops.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/base/atomicops.h b/src/base/atomicops.h
+index be038f3..f1a21ff 100644
+--- a/src/base/atomicops.h
++++ b/src/base/atomicops.h
+@@ -118,7 +118,7 @@
+ #include "base/atomicops-internals-linuxppc.h"
+ #elif defined(__GNUC__) && defined(__mips__)
+ #include "base/atomicops-internals-mips.h"
+-#elif defined(__GNUC__) && GCC_VERSION >= 40700
++#elif defined(__GNUC__) && GCC_VERSION >= 40700 || defined(__clang__)
+ #include "base/atomicops-internals-gcc.h"
+ #else
+ #error You need to implement atomic operations for this architecture
+-- 
+2.12.0
+
diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.5.bb b/meta-oe/recipes-support/gperftools/gperftools_2.5.bb
index 2e4479c9d..3cab42385 100644
--- a/meta-oe/recipes-support/gperftools/gperftools_2.5.bb
+++ b/meta-oe/recipes-support/gperftools/gperftools_2.5.bb
@@ -4,7 +4,9 @@  LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
 DEPENDS = "libunwind"
 
-SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/gperftools/gperftools-2.5.tar.gz/aa1eaf95dbe2c9828d0bd3a00f770f50/gperftools-2.5.tar.gz"
+SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/gperftools/gperftools-2.5.tar.gz/aa1eaf95dbe2c9828d0bd3a00f770f50/gperftools-2.5.tar.gz \
+           file://0001-Support-Atomic-ops-on-clang.patch\
+          "
 
 SRC_URI[md5sum] = "aa1eaf95dbe2c9828d0bd3a00f770f50"
 SRC_URI[sha256sum] = "6fa2748f1acdf44d750253e160cf6e2e72571329b42e563b455bde09e9e85173"