diff options
author | Khem Raj <raj.khem@gmail.com> | 2015-07-10 18:51:44 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2015-07-10 18:51:44 -0700 |
commit | 00c5b7c5b5f340dd0b8885ef03bd2ea849203dfa (patch) | |
tree | a8ebe31d0c10e231b9cd4e039d7e7b454318150c | |
parent | 422f10869cbb8d62cc5b4c71dc5a861ed43fd55e (diff) | |
download | meta-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>
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 @@ | |||
1 | From 19a19feb6bd13586463597a826bf6cda9af0e05b Mon Sep 17 00:00:00 2001 | 1 | From c02522a155fdc03f293d58d444c4f030f62d04d6 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 8 Jul 2015 23:25:36 -0700 | 3 | Date: Wed, 8 Jul 2015 23:25:36 -0700 |
4 | Subject: [PATCH] Choose right dynamic linker when hard float ABI is expressed | 4 | Subject: [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 | ||
16 | diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp | 16 | diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp |
17 | index 756600e..89a9a64 100644 | 17 | index 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 | -- |
39 | 2.1.4 | 39 | 2.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 @@ | |||
1 | From 1e1f29a87f36eb89e37f2e349a63371e6eefc16c Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Fri, 10 Jul 2015 16:41:16 -0700 | ||
4 | Subject: [PATCH] include <type_traits> for getting is_pod defined | ||
5 | |||
6 | fixed build errors e.g. | ||
7 | lib/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 | |||
12 | diff --git a/lib/MC/MCSchedule.cpp b/lib/MC/MCSchedule.cpp | ||
13 | index 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 | -- | ||
25 | 2.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 | ||
21 | SRCREV_llvm = "08709687efd951d1d6c3ad5f8d518129c068c737" | 22 | SRCREV_llvm = "d819fac2945672f211b0ef8fdedffa2e124b46e2" |
22 | SRCREV_clang = "75805b9d66425462798c88596376b14d69193429" | 23 | SRCREV_clang = "22ea838f1b9234b1876fa0220d7a76bcb2a1b27a" |
23 | 24 | ||
24 | SRCREV_FORMAT = "llvm_clang" | 25 | SRCREV_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 | } |
113 | PACKAGE_DEBUG_SPLIT_STYLE_class-nativesdk = "debug-without-src" | ||
112 | 114 | ||
113 | BBCLASSEXTEND = "native nativesdk" | 115 | BBCLASSEXTEND = "native nativesdk" |