summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2015-07-10 18:51:44 -0700
committerKhem Raj <raj.khem@gmail.com>2015-07-10 18:51:44 -0700
commit00c5b7c5b5f340dd0b8885ef03bd2ea849203dfa (patch)
treea8ebe31d0c10e231b9cd4e039d7e7b454318150c
parent422f10869cbb8d62cc5b4c71dc5a861ed43fd55e (diff)
downloadmeta-clang-00c5b7c5b5f340dd0b8885ef03bd2ea849203dfa.tar.gz
clang: Upgrade to latest tip of master 3.7
Add fix for missing is_pod definition and additionally fix packaging for nativesdk PACKAGE_DEBUG_SPLIT_STYLE_class-nativesdk = "debug-without-src" Fixes errors like ERROR: debugedit failed with exit code 256 (cmd was '/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysr oots/x86_64-linux/usr/lib/rpm/bin/debugedit' -b '/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/x86 _64-nativesdk-angstromsdk-linux' -d '/usr/src/debug' -i -l '/mnt/home/kraj/work/angstrom/build/tmp-angstrom-gli bc/work/x86_64-nativesdk-angstromsdk-linux/nativesdk-clang/3.7.0-r0/debugsources.list' '/mnt/home/kraj/work/ang strom/build/tmp-angstrom-glibc/work/x86_64-nativesdk-angstromsdk-linux/nativesdk-clang/3.7.0-r0/package/usr/loc al/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/lib/libLTO.so.3.7.0svn'): /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/lib/rpm/bin/debugedit: canonica lization unexpectedly shrank by one character see http://lists.openembedded.org/pipermail/openembedded-core/2013-April/077746.html Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes-devtools/clang/clang/0001-Choose-right-dynamic-linker-when-hard-float-ABI-is-e.patch20
-rw-r--r--recipes-devtools/clang/clang/0001-include-type_traits-for-getting-is_pod-defined.patch26
-rw-r--r--recipes-devtools/clang/clang_git.bb6
3 files changed, 40 insertions, 12 deletions
diff --git a/recipes-devtools/clang/clang/0001-Choose-right-dynamic-linker-when-hard-float-ABI-is-e.patch b/recipes-devtools/clang/clang/0001-Choose-right-dynamic-linker-when-hard-float-ABI-is-e.patch
index 17f5fde..e0cc977 100644
--- a/recipes-devtools/clang/clang/0001-Choose-right-dynamic-linker-when-hard-float-ABI-is-e.patch
+++ b/recipes-devtools/clang/clang/0001-Choose-right-dynamic-linker-when-hard-float-ABI-is-e.patch
@@ -1,4 +1,4 @@
1From 19a19feb6bd13586463597a826bf6cda9af0e05b Mon Sep 17 00:00:00 2001 1From c02522a155fdc03f293d58d444c4f030f62d04d6 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 8 Jul 2015 23:25:36 -0700 3Date: Wed, 8 Jul 2015 23:25:36 -0700
4Subject: [PATCH] Choose right dynamic linker when hard float ABI is expressed 4Subject: [PATCH] Choose right dynamic linker when hard float ABI is expressed
@@ -14,27 +14,27 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 1 file changed, 4 insertions(+), 2 deletions(-) 14 1 file changed, 4 insertions(+), 2 deletions(-)
15 15
16diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp 16diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp
17index 756600e..89a9a64 100644 17index 38c3d5c..cd3a097 100644
18--- a/tools/clang/lib/Driver/Tools.cpp 18--- a/tools/clang/lib/Driver/Tools.cpp
19+++ b/tools/clang/lib/Driver/Tools.cpp 19+++ b/tools/clang/lib/Driver/Tools.cpp
20@@ -7715,13 +7715,15 @@ static std::string getLinuxDynamicLinker(const ArgList &Args, 20@@ -7834,13 +7834,15 @@ static std::string getLinuxDynamicLinker(const ArgList &Args,
21 else if (Arch == llvm::Triple::aarch64_be)
21 return "/lib/ld-linux-aarch64_be.so.1"; 22 return "/lib/ld-linux-aarch64_be.so.1";
22 else if (ToolChain.getArch() == llvm::Triple::arm || 23 else if (Arch == llvm::Triple::arm || Arch == llvm::Triple::thumb) {
23 ToolChain.getArch() == llvm::Triple::thumb) {
24- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) 24- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
25+ if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF || 25+ if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF ||
26+ tools::arm::getARMFloatABI(ToolChain.getDriver(), Args, ToolChain.getTriple()) == "hard") 26+ tools::arm::getARMFloatABI(ToolChain.getDriver(), Args, ToolChain.getTriple()) == "hard")
27 return "/lib/ld-linux-armhf.so.3"; 27 return "/lib/ld-linux-armhf.so.3";
28 else 28 else
29 return "/lib/ld-linux.so.3"; 29 return "/lib/ld-linux.so.3";
30 } else if (ToolChain.getArch() == llvm::Triple::armeb || 30 } else if (Arch == llvm::Triple::armeb || Arch == llvm::Triple::thumbeb) {
31 ToolChain.getArch() == llvm::Triple::thumbeb) { 31 // TODO: check which dynamic linker name.
32- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) 32- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
33+ if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF || 33+ if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF ||
34+ tools::arm::getARMFloatABI(ToolChain.getDriver(), Args, ToolChain.getTriple()) == "hard") 34+ tools::arm::getARMFloatABI(ToolChain.getDriver(), Args, ToolChain.getTriple()) == "hard")
35 return "/lib/ld-linux-armhf.so.3"; /* TODO: check which dynamic linker name. */ 35 return "/lib/ld-linux-armhf.so.3";
36 else 36 else
37 return "/lib/ld-linux.so.3"; /* TODO: check which dynamic linker name. */ 37 return "/lib/ld-linux.so.3";
38-- 38--
392.1.4 392.1.4
40 40
diff --git a/recipes-devtools/clang/clang/0001-include-type_traits-for-getting-is_pod-defined.patch b/recipes-devtools/clang/clang/0001-include-type_traits-for-getting-is_pod-defined.patch
new file mode 100644
index 0000000..2faecf3
--- /dev/null
+++ b/recipes-devtools/clang/clang/0001-include-type_traits-for-getting-is_pod-defined.patch
@@ -0,0 +1,26 @@
1From 1e1f29a87f36eb89e37f2e349a63371e6eefc16c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 10 Jul 2015 16:41:16 -0700
4Subject: [PATCH] include <type_traits> for getting is_pod defined
5
6fixed build errors e.g.
7lib/MC/MCSchedule.cpp:18:15: error: 'is_pod' is not a member of 'std'
8---
9 lib/MC/MCSchedule.cpp | 1 +
10 1 file changed, 1 insertion(+)
11
12diff --git a/lib/MC/MCSchedule.cpp b/lib/MC/MCSchedule.cpp
13index 0aa20f9..b19d917 100644
14--- a/lib/MC/MCSchedule.cpp
15+++ b/lib/MC/MCSchedule.cpp
16@@ -11,6 +11,7 @@
17 //
18 //===----------------------------------------------------------------------===//
19
20+#include <type_traits>
21 #include "llvm/MC/MCSchedule.h"
22
23 using namespace llvm;
24--
252.1.4
26
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb
index 55cd4bb..75a4f8e 100644
--- a/recipes-devtools/clang/clang_git.bb
+++ b/recipes-devtools/clang/clang_git.bb
@@ -16,10 +16,11 @@ SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};name=llvm \
16 git://github.com/llvm-mirror/clang.git;branch=${BRANCH};destsuffix=git/tools/clang;name=clang \ 16 git://github.com/llvm-mirror/clang.git;branch=${BRANCH};destsuffix=git/tools/clang;name=clang \
17 file://0001-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-compile.patch \ 17 file://0001-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-compile.patch \
18 file://0001-Choose-right-dynamic-linker-when-hard-float-ABI-is-e.patch \ 18 file://0001-Choose-right-dynamic-linker-when-hard-float-ABI-is-e.patch \
19 file://0001-include-type_traits-for-getting-is_pod-defined.patch \
19 " 20 "
20 21
21SRCREV_llvm = "08709687efd951d1d6c3ad5f8d518129c068c737" 22SRCREV_llvm = "d819fac2945672f211b0ef8fdedffa2e124b46e2"
22SRCREV_clang = "75805b9d66425462798c88596376b14d69193429" 23SRCREV_clang = "22ea838f1b9234b1876fa0220d7a76bcb2a1b27a"
23 24
24SRCREV_FORMAT = "llvm_clang" 25SRCREV_FORMAT = "llvm_clang"
25 26
@@ -109,5 +110,6 @@ do_install_append_class-nativesdk () {
109 test -n "`file $f|grep -i ELF`" && ${STRIP} $f 110 test -n "`file $f|grep -i ELF`" && ${STRIP} $f
110 done 111 done
111} 112}
113PACKAGE_DEBUG_SPLIT_STYLE_class-nativesdk = "debug-without-src"
112 114
113BBCLASSEXTEND = "native nativesdk" 115BBCLASSEXTEND = "native nativesdk"