diff options
author | Khem Raj <raj.khem@gmail.com> | 2016-10-15 19:49:43 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2016-10-15 19:49:43 -0700 |
commit | dd04c7f561c66e6edd9363e5da266fffa3bca26e (patch) | |
tree | d1aca2643c90a20b5a9cd56f40504680b53c84f1 | |
parent | afcd6a10cf70ffc92f6be8a13e57647635555192 (diff) | |
download | meta-clang-dd04c7f561c66e6edd9363e5da266fffa3bca26e.tar.gz |
clang/llvm: Switch to 4.0.0 development version
3.9 is now branched for morty
Signed-off-by: Khem Raj <raj.khem@gmail.com>
20 files changed, 101 insertions, 496 deletions
diff --git a/recipes-devtools/clang/clang.inc b/recipes-devtools/clang/clang.inc index 3bcad36..1bf981e 100644 --- a/recipes-devtools/clang/clang.inc +++ b/recipes-devtools/clang/clang.inc | |||
@@ -8,14 +8,14 @@ LLVM_GIT_PROTOCOL ?= "git" | |||
8 | # Uncomment below to enable master version of clang/llvm | 8 | # Uncomment below to enable master version of clang/llvm |
9 | # | 9 | # |
10 | 10 | ||
11 | PV = "3.9.1" | 11 | PV = "4.0.0" |
12 | BRANCH = "release_39" | 12 | BRANCH = "master" |
13 | SRCREV_llvm = "46079999e9111e8e8c2c1f0511477c3bec38d74a" | 13 | SRCREV_llvm = "e0043a340f7f9f64a16859279348dd09eab346b4" |
14 | SRCREV_clang = "c3709e72d22432f53f8e2f14354def31a96734fe" | 14 | SRCREV_clang = "fce476b6e965594e2bf2ea2f03a3d1021e2e227a" |
15 | SRCREV_compiler-rt = "38631afc1dec4d5b13b6460e808b5dae6c009081" | 15 | SRCREV_compiler-rt = "d9e6c738682c2012e5e7e87909941becd55cfbbd" |
16 | SRCREV_cxxabi = "47803aa110d52c542c7a116b5b40daab7265fd27" | 16 | SRCREV_cxxabi = "8ac10e4bb995075208e8d6b99e03e9f315d0f5a3" |
17 | SRCREV_libcxx = "ff4c6a0a9eff9b3ad77418bec839bec723da7754" | 17 | SRCREV_libcxx = "34c6b805cf0358809ea95c0d4303537be3225db7" |
18 | SRCREV_libunwind = "63ed8dc8e4a73efd7d46b6cb79453bb428eb138d" | 18 | SRCREV_libunwind = "122a0f8114e58a294ee3b2bb1d4f9537ef7ed6df" |
19 | 19 | ||
20 | LLVMMD5SUM = "b99eb43c934ceebecab85c6b9b1a08be" | 20 | LLVMMD5SUM = "b99eb43c934ceebecab85c6b9b1a08be" |
21 | CLANGMD5SUM = "a77eac638a3aae44a2d604217d6f0f01" | 21 | CLANGMD5SUM = "a77eac638a3aae44a2d604217d6f0f01" |
diff --git a/recipes-devtools/clang/clang/0001-clang-driver-Use-lib-for-ldso-on-OE.patch b/recipes-devtools/clang/clang/0001-clang-driver-Use-lib-for-ldso-on-OE.patch index dac007a..2a55498 100644 --- a/recipes-devtools/clang/clang/0001-clang-driver-Use-lib-for-ldso-on-OE.patch +++ b/recipes-devtools/clang/clang/0001-clang-driver-Use-lib-for-ldso-on-OE.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From f34c165de2b0365cb9931956db78315c8e4dc688 Mon Sep 17 00:00:00 2001 | 1 | From db4b34c68445356d303f7f7fffce27b68e1228d6 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: Sat, 21 May 2016 21:52:36 -0700 | 3 | Date: Sat, 21 May 2016 21:52:36 -0700 |
4 | Subject: [PATCH 1/4] clang: driver: Use /lib for ldso on OE | 4 | Subject: [PATCH 1/3] clang: driver: Use /lib for ldso on OE |
5 | 5 | ||
6 | OE does not follow the default base_libdir | 6 | OE does not follow the default base_libdir |
7 | that clang has, therefore adjust it for OE | 7 | that clang has, therefore adjust it for OE |
@@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
15 | 1 file changed, 4 insertions(+), 4 deletions(-) | 15 | 1 file changed, 4 insertions(+), 4 deletions(-) |
16 | 16 | ||
17 | diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp | 17 | diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp |
18 | index 4ecbf2b..bcd91f0 100644 | 18 | index e71aaf3..fded7ad 100644 |
19 | --- a/lib/Driver/ToolChains.cpp | 19 | --- a/lib/Driver/ToolChains.cpp |
20 | +++ b/lib/Driver/ToolChains.cpp | 20 | +++ b/lib/Driver/ToolChains.cpp |
21 | @@ -4270,12 +4270,12 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 21 | @@ -4388,12 +4388,12 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
22 | Loader = "ld.so.1"; | 22 | Loader = "ld.so.1"; |
23 | break; | 23 | break; |
24 | case llvm::Triple::ppc64: | 24 | case llvm::Triple::ppc64: |
@@ -33,7 +33,7 @@ index 4ecbf2b..bcd91f0 100644 | |||
33 | Loader = | 33 | Loader = |
34 | (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; | 34 | (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; |
35 | break; | 35 | break; |
36 | @@ -4285,7 +4285,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 36 | @@ -4403,7 +4403,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
37 | Loader = "ld-linux.so.2"; | 37 | Loader = "ld-linux.so.2"; |
38 | break; | 38 | break; |
39 | case llvm::Triple::sparcv9: | 39 | case llvm::Triple::sparcv9: |
@@ -42,7 +42,7 @@ index 4ecbf2b..bcd91f0 100644 | |||
42 | Loader = "ld-linux.so.2"; | 42 | Loader = "ld-linux.so.2"; |
43 | break; | 43 | break; |
44 | case llvm::Triple::systemz: | 44 | case llvm::Triple::systemz: |
45 | @@ -4299,7 +4299,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 45 | @@ -4417,7 +4417,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
46 | case llvm::Triple::x86_64: { | 46 | case llvm::Triple::x86_64: { |
47 | bool X32 = Triple.getEnvironment() == llvm::Triple::GNUX32; | 47 | bool X32 = Triple.getEnvironment() == llvm::Triple::GNUX32; |
48 | 48 | ||
@@ -52,5 +52,5 @@ index 4ecbf2b..bcd91f0 100644 | |||
52 | break; | 52 | break; |
53 | } | 53 | } |
54 | -- | 54 | -- |
55 | 2.9.0 | 55 | 2.10.0 |
56 | 56 | ||
diff --git a/recipes-devtools/clang/clang/0001-llvm-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-com.patch b/recipes-devtools/clang/clang/0001-llvm-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-com.patch index c343ded..ba2f20d 100644 --- a/recipes-devtools/clang/clang/0001-llvm-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-com.patch +++ b/recipes-devtools/clang/clang/0001-llvm-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-com.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 2d4ae5fa80d95542ea4df12400c96f28ce2a4484 Mon Sep 17 00:00:00 2001 | 1 | From f7c00426faede13d8ba7e8cbfbe31368dcba97d4 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: Fri, 15 May 2015 12:13:17 -0700 | 3 | Date: Fri, 15 May 2015 12:13:17 -0700 |
4 | Subject: [PATCH 1/5] llvm: Remove CMAKE_CROSSCOMPILING so it can cross compile | 4 | Subject: [PATCH 1/3] llvm: Remove CMAKE_CROSSCOMPILING so it can cross compile |
5 | 5 | ||
6 | we already have llvm-config from clang-native | 6 | we already have llvm-config from clang-native |
7 | 7 | ||
@@ -11,10 +11,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
11 | 1 file changed, 2 insertions(+), 2 deletions(-) | 11 | 1 file changed, 2 insertions(+), 2 deletions(-) |
12 | 12 | ||
13 | diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt | 13 | diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt |
14 | index d458771..2e0c634 100644 | 14 | index 744fa4e..6713523 100644 |
15 | --- a/tools/llvm-config/CMakeLists.txt | 15 | --- a/tools/llvm-config/CMakeLists.txt |
16 | +++ b/tools/llvm-config/CMakeLists.txt | 16 | +++ b/tools/llvm-config/CMakeLists.txt |
17 | @@ -57,7 +57,7 @@ add_definitions(-DCMAKE_CFG_INTDIR="${CMAKE_CFG_INTDIR}") | 17 | @@ -61,7 +61,7 @@ add_definitions(-DCMAKE_CFG_INTDIR="${CMAKE_CFG_INTDIR}") |
18 | # Add the dependency on the generation step. | 18 | # Add the dependency on the generation step. |
19 | add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.cpp ${BUILDVARIABLES_OBJPATH}) | 19 | add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.cpp ${BUILDVARIABLES_OBJPATH}) |
20 | 20 | ||
@@ -23,12 +23,12 @@ index d458771..2e0c634 100644 | |||
23 | set(${project}_LLVM_CONFIG_EXE "${LLVM_NATIVE_BUILD}/bin/llvm-config") | 23 | set(${project}_LLVM_CONFIG_EXE "${LLVM_NATIVE_BUILD}/bin/llvm-config") |
24 | set(${project}_LLVM_CONFIG_EXE ${${project}_LLVM_CONFIG_EXE} PARENT_SCOPE) | 24 | set(${project}_LLVM_CONFIG_EXE ${${project}_LLVM_CONFIG_EXE} PARENT_SCOPE) |
25 | 25 | ||
26 | @@ -70,4 +70,4 @@ if(CMAKE_CROSSCOMPILING) | 26 | @@ -74,4 +74,4 @@ if(CMAKE_CROSSCOMPILING) |
27 | add_dependencies(${project}NativeLLVMConfig CONFIGURE_LLVM_NATIVE) | 27 | add_dependencies(${project}NativeLLVMConfig CONFIGURE_LLVM_NATIVE) |
28 | 28 | ||
29 | add_dependencies(llvm-config ${project}NativeLLVMConfig) | 29 | add_dependencies(llvm-config ${project}NativeLLVMConfig) |
30 | -endif(CMAKE_CROSSCOMPILING) | 30 | -endif(CMAKE_CROSSCOMPILING) |
31 | +endif(CMAKE_CROSSCOMPILING1) | 31 | +endif(CMAKE_CROSSCOMPILING1) |
32 | -- | 32 | -- |
33 | 2.9.2 | 33 | 2.10.0 |
34 | 34 | ||
diff --git a/recipes-devtools/clang/clang/0002-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch b/recipes-devtools/clang/clang/0002-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch index a9057e4..ca11f2f 100644 --- a/recipes-devtools/clang/clang/0002-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch +++ b/recipes-devtools/clang/clang/0002-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From a30d994ddc3611bca15ff3138c6d0ee7f9fd4021 Mon Sep 17 00:00:00 2001 | 1 | From 600e639657ff82be38456919003a11289d35d200 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: Thu, 19 May 2016 21:11:06 -0700 | 3 | Date: Thu, 19 May 2016 21:11:06 -0700 |
4 | Subject: [PATCH 2/4] clang: Driver/tools.cpp: Add -lssp and -lssp_nonshared on | 4 | Subject: [PATCH 2/3] clang: Driver/tools.cpp: Add -lssp and -lssp_nonshared on |
5 | musl | 5 | musl |
6 | 6 | ||
7 | musl driver will need to add ssp libraries to linker cmdline | 7 | musl driver will need to add ssp libraries to linker cmdline |
@@ -13,10 +13,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
13 | 1 file changed, 7 insertions(+) | 13 | 1 file changed, 7 insertions(+) |
14 | 14 | ||
15 | diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp | 15 | diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp |
16 | index d3844dd..de7d1b5 100644 | 16 | index b7a323f..18f0513 100644 |
17 | --- a/lib/Driver/Tools.cpp | 17 | --- a/lib/Driver/Tools.cpp |
18 | +++ b/lib/Driver/Tools.cpp | 18 | +++ b/lib/Driver/Tools.cpp |
19 | @@ -9460,6 +9460,13 @@ void gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, | 19 | @@ -9836,6 +9836,13 @@ void gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, |
20 | if (IsIAMCU) | 20 | if (IsIAMCU) |
21 | CmdArgs.push_back("-lgloss"); | 21 | CmdArgs.push_back("-lgloss"); |
22 | 22 | ||
@@ -31,5 +31,5 @@ index d3844dd..de7d1b5 100644 | |||
31 | CmdArgs.push_back("--end-group"); | 31 | CmdArgs.push_back("--end-group"); |
32 | else | 32 | else |
33 | -- | 33 | -- |
34 | 2.9.0 | 34 | 2.10.0 |
35 | 35 | ||
diff --git a/recipes-devtools/clang/clang/0002-llvm-Do-not-assume-linux-glibc.patch b/recipes-devtools/clang/clang/0002-llvm-Do-not-assume-linux-glibc.patch index 9aaa5fd..ffa30ac 100644 --- a/recipes-devtools/clang/clang/0002-llvm-Do-not-assume-linux-glibc.patch +++ b/recipes-devtools/clang/clang/0002-llvm-Do-not-assume-linux-glibc.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From a478964d32e6521a68ef47464b26e50106dc943e Mon Sep 17 00:00:00 2001 | 1 | From 17624af2fddd212cc76a5d3c645c4eed3bc897fe 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: Tue, 15 Mar 2016 05:26:47 +0000 | 3 | Date: Tue, 15 Mar 2016 05:26:47 +0000 |
4 | Subject: [PATCH 2/5] llvm: Do not assume linux == glibc | 4 | Subject: [PATCH 2/3] llvm: Do not assume linux == glibc |
5 | 5 | ||
6 | musl's implementation of std functions is different | 6 | musl's implementation of std functions is different |
7 | 7 | ||
@@ -24,5 +24,5 @@ index 9a7aeb5..e3b7fe2 100644 | |||
24 | EXPLICIT_SYMBOL(stderr); | 24 | EXPLICIT_SYMBOL(stderr); |
25 | EXPLICIT_SYMBOL(stdout); | 25 | EXPLICIT_SYMBOL(stdout); |
26 | -- | 26 | -- |
27 | 2.9.2 | 27 | 2.10.0 |
28 | 28 | ||
diff --git a/recipes-devtools/clang/clang/0003-clang-musl-ppc-does-not-support-128-bit-long-double.patch b/recipes-devtools/clang/clang/0003-clang-musl-ppc-does-not-support-128-bit-long-double.patch index b128390..af07658 100644 --- a/recipes-devtools/clang/clang/0003-clang-musl-ppc-does-not-support-128-bit-long-double.patch +++ b/recipes-devtools/clang/clang/0003-clang-musl-ppc-does-not-support-128-bit-long-double.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 2cf62aa12f3161bc366bfc873964d6fed8454702 Mon Sep 17 00:00:00 2001 | 1 | From d123fe38061f40780fb6914139ef76832c46e655 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: Tue, 10 May 2016 02:00:11 -0700 | 3 | Date: Tue, 10 May 2016 02:00:11 -0700 |
4 | Subject: [PATCH 3/4] clang: musl/ppc does not support 128-bit long double | 4 | Subject: [PATCH 3/3] clang: musl/ppc does not support 128-bit long double |
5 | 5 | ||
6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
7 | --- | 7 | --- |
@@ -9,10 +9,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
9 | 1 file changed, 2 insertions(+), 1 deletion(-) | 9 | 1 file changed, 2 insertions(+), 1 deletion(-) |
10 | 10 | ||
11 | diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp | 11 | diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp |
12 | index c3ca8c8..bd54075 100644 | 12 | index 92d07e1..2a99aa9 100644 |
13 | --- a/lib/Basic/Targets.cpp | 13 | --- a/lib/Basic/Targets.cpp |
14 | +++ b/lib/Basic/Targets.cpp | 14 | +++ b/lib/Basic/Targets.cpp |
15 | @@ -1593,7 +1593,8 @@ public: | 15 | @@ -1646,7 +1646,8 @@ public: |
16 | break; | 16 | break; |
17 | } | 17 | } |
18 | 18 | ||
@@ -23,5 +23,5 @@ index c3ca8c8..bd54075 100644 | |||
23 | LongDoubleFormat = &llvm::APFloat::IEEEdouble; | 23 | LongDoubleFormat = &llvm::APFloat::IEEEdouble; |
24 | } | 24 | } |
25 | -- | 25 | -- |
26 | 2.9.0 | 26 | 2.10.0 |
27 | 27 | ||
diff --git a/recipes-devtools/clang/clang/0003-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/recipes-devtools/clang/clang/0003-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch index f62251d..0e09e66 100644 --- a/recipes-devtools/clang/clang/0003-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch +++ b/recipes-devtools/clang/clang/0003-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 9992bf63b2fa53e87d80372f89b6be51678cf6e5 Mon Sep 17 00:00:00 2001 | 1 | From 594e0c73c9c37b3016a558914bf3024dc78746ac 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: Sat, 21 May 2016 00:33:20 +0000 | 3 | Date: Sat, 21 May 2016 00:33:20 +0000 |
4 | Subject: [PATCH 3/5] llvm: TargetLibraryInfo: Undefine libc functions if they | 4 | Subject: [PATCH 3/3] llvm: TargetLibraryInfo: Undefine libc functions if they |
5 | are macros | 5 | are macros |
6 | 6 | ||
7 | musl defines some functions as macros and not inline functions | 7 | musl defines some functions as macros and not inline functions |
@@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
13 | 1 file changed, 21 insertions(+) | 13 | 1 file changed, 21 insertions(+) |
14 | 14 | ||
15 | diff --git a/include/llvm/Analysis/TargetLibraryInfo.def b/include/llvm/Analysis/TargetLibraryInfo.def | 15 | diff --git a/include/llvm/Analysis/TargetLibraryInfo.def b/include/llvm/Analysis/TargetLibraryInfo.def |
16 | index b2a593d..327894c 100644 | 16 | index 5d5e5b1..af4d901 100644 |
17 | --- a/include/llvm/Analysis/TargetLibraryInfo.def | 17 | --- a/include/llvm/Analysis/TargetLibraryInfo.def |
18 | +++ b/include/llvm/Analysis/TargetLibraryInfo.def | 18 | +++ b/include/llvm/Analysis/TargetLibraryInfo.def |
19 | @@ -531,6 +531,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl") | 19 | @@ -531,6 +531,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl") |
@@ -66,7 +66,7 @@ index b2a593d..327894c 100644 | |||
66 | TLI_DEFINE_ENUM_INTERNAL(lstat64) | 66 | TLI_DEFINE_ENUM_INTERNAL(lstat64) |
67 | TLI_DEFINE_STRING_INTERNAL("lstat64") | 67 | TLI_DEFINE_STRING_INTERNAL("lstat64") |
68 | /// void *malloc(size_t size); | 68 | /// void *malloc(size_t size); |
69 | @@ -927,6 +942,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf") | 69 | @@ -930,6 +945,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf") |
70 | TLI_DEFINE_ENUM_INTERNAL(stat) | 70 | TLI_DEFINE_ENUM_INTERNAL(stat) |
71 | TLI_DEFINE_STRING_INTERNAL("stat") | 71 | TLI_DEFINE_STRING_INTERNAL("stat") |
72 | /// int stat64(const char *path, struct stat64 *buf); | 72 | /// int stat64(const char *path, struct stat64 *buf); |
@@ -76,7 +76,7 @@ index b2a593d..327894c 100644 | |||
76 | TLI_DEFINE_ENUM_INTERNAL(stat64) | 76 | TLI_DEFINE_ENUM_INTERNAL(stat64) |
77 | TLI_DEFINE_STRING_INTERNAL("stat64") | 77 | TLI_DEFINE_STRING_INTERNAL("stat64") |
78 | /// int statvfs(const char *path, struct statvfs *buf); | 78 | /// int statvfs(const char *path, struct statvfs *buf); |
79 | @@ -1056,6 +1074,9 @@ TLI_DEFINE_STRING_INTERNAL("times") | 79 | @@ -1059,6 +1077,9 @@ TLI_DEFINE_STRING_INTERNAL("times") |
80 | TLI_DEFINE_ENUM_INTERNAL(tmpfile) | 80 | TLI_DEFINE_ENUM_INTERNAL(tmpfile) |
81 | TLI_DEFINE_STRING_INTERNAL("tmpfile") | 81 | TLI_DEFINE_STRING_INTERNAL("tmpfile") |
82 | /// FILE *tmpfile64(void) | 82 | /// FILE *tmpfile64(void) |
@@ -87,5 +87,5 @@ index b2a593d..327894c 100644 | |||
87 | TLI_DEFINE_STRING_INTERNAL("tmpfile64") | 87 | TLI_DEFINE_STRING_INTERNAL("tmpfile64") |
88 | /// int toascii(int c); | 88 | /// int toascii(int c); |
89 | -- | 89 | -- |
90 | 2.9.2 | 90 | 2.10.0 |
91 | 91 | ||
diff --git a/recipes-devtools/clang/clang/0004-clang-Check-for-float-ABI-on-arm.patch b/recipes-devtools/clang/clang/0004-clang-Check-for-float-ABI-on-arm.patch deleted file mode 100644 index e47b48e..0000000 --- a/recipes-devtools/clang/clang/0004-clang-Check-for-float-ABI-on-arm.patch +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | From 56cdacb669a182e69159b840a6a440f7f19211f9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 4 Jul 2016 20:14:52 -0700 | ||
4 | Subject: [PATCH 4/4] clang: Check for float ABI on arm | ||
5 | |||
6 | Triggering hard-float on arm does not just | ||
7 | depend upong triplet being *-*-eabihf but | ||
8 | also check for float ABI which can be | ||
9 | set on commandline | ||
10 | |||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | --- | ||
13 | lib/Driver/ToolChains.cpp | 4 +++- | ||
14 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp | ||
17 | index bcd91f0..fd31d7e 100644 | ||
18 | --- a/lib/Driver/ToolChains.cpp | ||
19 | +++ b/lib/Driver/ToolChains.cpp | ||
20 | @@ -4212,7 +4212,9 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | ||
21 | default: | ||
22 | ArchName = Triple.getArchName().str(); | ||
23 | } | ||
24 | - if (Triple.getEnvironment() == llvm::Triple::MuslEABIHF) | ||
25 | + if (Triple.getEnvironment() == llvm::Triple::MuslEABIHF || | ||
26 | + (Triple.getEnvironment() == llvm::Triple::MuslEABI && | ||
27 | + tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard)) | ||
28 | ArchName += "hf"; | ||
29 | |||
30 | return "/lib/ld-musl-" + ArchName + ".so.1"; | ||
31 | -- | ||
32 | 2.9.0 | ||
33 | |||
diff --git a/recipes-devtools/clang/clang/0004-llvm-Fix-inconsistent-uses-of-.cfi_sections.patch b/recipes-devtools/clang/clang/0004-llvm-Fix-inconsistent-uses-of-.cfi_sections.patch deleted file mode 100644 index c77a8d2..0000000 --- a/recipes-devtools/clang/clang/0004-llvm-Fix-inconsistent-uses-of-.cfi_sections.patch +++ /dev/null | |||
@@ -1,124 +0,0 @@ | |||
1 | From 260b42499a218f18730b946f053890cc1641e4c3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sun, 7 Aug 2016 22:48:44 -0700 | ||
4 | Subject: [PATCH 4/5] llvm: Fix inconsistent uses of .cfi_sections | ||
5 | |||
6 | Error: inconsistent uses of .cfi_sections | ||
7 | |||
8 | From the 2.27 binutils assemblers. It seems that 2.27 doesn't like the | ||
9 | |||
10 | .cfi_sections .debug_frame | ||
11 | |||
12 | directive following previous .cfi directives. The assemblers seem to be happy if the .cfi_sections directive precedes any other .cfi directive. Is this a bug in binutils or LLVM? It looks as if a fix might be to move the generation of the .cfi_sections directive from endModule() to somewhere else (maybe a non-existant beginModule()?). | ||
13 | |||
14 | As a work-around I modified DwarfCFIException.cpp and ARMException.cpp to send the .cfi_sections directive before the first function is processed. Seems to work. | ||
15 | |||
16 | -Rich | ||
17 | |||
18 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
19 | --- | ||
20 | lib/CodeGen/AsmPrinter/ARMException.cpp | 10 +++++++++- | ||
21 | lib/CodeGen/AsmPrinter/DwarfCFIException.cpp | 11 ++++++++++- | ||
22 | lib/CodeGen/AsmPrinter/DwarfException.h | 4 ++++ | ||
23 | 3 files changed, 23 insertions(+), 2 deletions(-) | ||
24 | |||
25 | diff --git a/lib/CodeGen/AsmPrinter/ARMException.cpp b/lib/CodeGen/AsmPrinter/ARMException.cpp | ||
26 | index 5294c98..8295326 100644 | ||
27 | --- a/lib/CodeGen/AsmPrinter/ARMException.cpp | ||
28 | +++ b/lib/CodeGen/AsmPrinter/ARMException.cpp | ||
29 | @@ -34,7 +34,8 @@ | ||
30 | #include "llvm/Target/TargetRegisterInfo.h" | ||
31 | using namespace llvm; | ||
32 | |||
33 | -ARMException::ARMException(AsmPrinter *A) : DwarfCFIExceptionBase(A) {} | ||
34 | +ARMException::ARMException(AsmPrinter *A) | ||
35 | + : DwarfCFIExceptionBase(A) {} | ||
36 | |||
37 | ARMException::~ARMException() {} | ||
38 | |||
39 | @@ -46,8 +47,10 @@ ARMTargetStreamer &ARMException::getTargetStreamer() { | ||
40 | /// endModule - Emit all exception information that should come after the | ||
41 | /// content. | ||
42 | void ARMException::endModule() { | ||
43 | +#if RICH | ||
44 | if (shouldEmitCFI) | ||
45 | Asm->OutStreamer->EmitCFISections(false, true); | ||
46 | +#endif | ||
47 | } | ||
48 | |||
49 | void ARMException::beginFunction(const MachineFunction *MF) { | ||
50 | @@ -59,6 +62,11 @@ void ARMException::beginFunction(const MachineFunction *MF) { | ||
51 | "non-EH CFI not yet supported in prologue with EHABI lowering"); | ||
52 | if (MoveType == AsmPrinter::CFI_M_Debug) { | ||
53 | shouldEmitCFI = true; | ||
54 | + // RICH: | ||
55 | + if (cfiSectionsNeeded) { | ||
56 | + Asm->OutStreamer->EmitCFISections(false, true); | ||
57 | + cfiSectionsNeeded = false; | ||
58 | + } | ||
59 | Asm->OutStreamer->EmitCFIStartProc(false); | ||
60 | } | ||
61 | } | ||
62 | diff --git a/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp b/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp | ||
63 | index 2eae1b2..af4c081 100644 | ||
64 | --- a/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp | ||
65 | +++ b/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp | ||
66 | @@ -39,7 +39,7 @@ | ||
67 | using namespace llvm; | ||
68 | |||
69 | DwarfCFIExceptionBase::DwarfCFIExceptionBase(AsmPrinter *A) | ||
70 | - : EHStreamer(A), shouldEmitCFI(false) {} | ||
71 | + : EHStreamer(A), shouldEmitCFI(false), cfiSectionsNeeded(true) {} | ||
72 | |||
73 | void DwarfCFIExceptionBase::markFunctionEnd() { | ||
74 | endFragment(); | ||
75 | @@ -70,8 +70,10 @@ void DwarfCFIException::endModule() { | ||
76 | if (!Asm->MAI->usesCFIForEH()) | ||
77 | return; | ||
78 | |||
79 | +#if RICH | ||
80 | if (moveTypeModule == AsmPrinter::CFI_M_Debug) | ||
81 | Asm->OutStreamer->EmitCFISections(false, true); | ||
82 | +#endif | ||
83 | |||
84 | const TargetLoweringObjectFile &TLOF = Asm->getObjFileLowering(); | ||
85 | |||
86 | @@ -97,6 +99,13 @@ void DwarfCFIException::beginFunction(const MachineFunction *MF) { | ||
87 | shouldEmitMoves = shouldEmitPersonality = shouldEmitLSDA = false; | ||
88 | const Function *F = MF->getFunction(); | ||
89 | |||
90 | + // RICH: SjLj uses this pass and it doesn't need this info. | ||
91 | + if (cfiSectionsNeeded && Asm->MAI->usesCFIForEH()) { | ||
92 | + if (moveTypeModule == AsmPrinter::CFI_M_Debug) | ||
93 | + Asm->OutStreamer->EmitCFISections(false, true); | ||
94 | + } | ||
95 | + cfiSectionsNeeded = false; | ||
96 | + | ||
97 | // If any landing pads survive, we need an EH table. | ||
98 | bool hasLandingPads = !MMI->getLandingPads().empty(); | ||
99 | |||
100 | diff --git a/lib/CodeGen/AsmPrinter/DwarfException.h b/lib/CodeGen/AsmPrinter/DwarfException.h | ||
101 | index 8287f28..f150f4e 100644 | ||
102 | --- a/lib/CodeGen/AsmPrinter/DwarfException.h | ||
103 | +++ b/lib/CodeGen/AsmPrinter/DwarfException.h | ||
104 | @@ -29,6 +29,9 @@ protected: | ||
105 | /// Per-function flag to indicate if frame CFI info should be emitted. | ||
106 | bool shouldEmitCFI; | ||
107 | |||
108 | + /// Cleared if the .cfi_sections directive has been output. | ||
109 | + bool cfiSectionsNeeded; | ||
110 | + | ||
111 | void markFunctionEnd() override; | ||
112 | void endFragment() override; | ||
113 | }; | ||
114 | @@ -46,6 +49,7 @@ class LLVM_LIBRARY_VISIBILITY DwarfCFIException : public DwarfCFIExceptionBase { | ||
115 | /// Per-function flag to indicate if frame moves info should be emitted. | ||
116 | bool shouldEmitMoves; | ||
117 | |||
118 | + | ||
119 | AsmPrinter::CFIMoveType moveTypeModule; | ||
120 | |||
121 | public: | ||
122 | -- | ||
123 | 2.9.2 | ||
124 | |||
diff --git a/recipes-devtools/clang/clang/0005-llvm-Fix-build-on-mips-ppc-disable-EH-table-support.patch b/recipes-devtools/clang/clang/0005-llvm-Fix-build-on-mips-ppc-disable-EH-table-support.patch deleted file mode 100644 index 82e0bb2..0000000 --- a/recipes-devtools/clang/clang/0005-llvm-Fix-build-on-mips-ppc-disable-EH-table-support.patch +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | From 28df3d17ac3f7925aba87eb2dc191342c11e59ae Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sun, 7 Aug 2016 22:52:09 -0700 | ||
4 | Subject: [PATCH 5/5] llvm: Fix build on mips/ppc disable EH table support | ||
5 | |||
6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
7 | --- | ||
8 | lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp | 3 ++- | ||
9 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
10 | |||
11 | diff --git a/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp b/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp | ||
12 | index e39acc7..69e165e 100644 | ||
13 | --- a/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp | ||
14 | +++ b/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp | ||
15 | @@ -34,7 +34,8 @@ RTDyldMemoryManager::~RTDyldMemoryManager() {} | ||
16 | |||
17 | // Determine whether we can register EH tables. | ||
18 | #if (defined(__GNUC__) && !defined(__ARM_EABI__) && !defined(__ia64__) && \ | ||
19 | - !defined(__SEH__) && !defined(__USING_SJLJ_EXCEPTIONS__)) | ||
20 | + !defined(__SEH__) && !defined(__USING_SJLJ_EXCEPTIONS__)) && \ | ||
21 | + !defined(__mips__) && !defined(__ppc__) | ||
22 | #define HAVE_EHTABLE_SUPPORT 1 | ||
23 | #else | ||
24 | #define HAVE_EHTABLE_SUPPORT 0 | ||
25 | -- | ||
26 | 2.9.2 | ||
27 | |||
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb index 2c22ed4..b5331fb 100644 --- a/recipes-devtools/clang/clang_git.bb +++ b/recipes-devtools/clang/clang_git.bb | |||
@@ -18,13 +18,10 @@ SRC_URI = "${LLVM_GIT}/llvm.git;protocol=${LLVM_GIT_PROTOCOL};branch=${BRANCH};n | |||
18 | file://0001-llvm-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-com.patch \ | 18 | file://0001-llvm-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-com.patch \ |
19 | file://0002-llvm-Do-not-assume-linux-glibc.patch \ | 19 | file://0002-llvm-Do-not-assume-linux-glibc.patch \ |
20 | file://0003-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \ | 20 | file://0003-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \ |
21 | file://0004-llvm-Fix-inconsistent-uses-of-.cfi_sections.patch \ | ||
22 | file://0005-llvm-Fix-build-on-mips-ppc-disable-EH-table-support.patch \ | ||
23 | \ | 21 | \ |
24 | file://0001-clang-driver-Use-lib-for-ldso-on-OE.patch;patchdir=tools/clang \ | 22 | file://0001-clang-driver-Use-lib-for-ldso-on-OE.patch;patchdir=tools/clang \ |
25 | file://0002-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch;patchdir=tools/clang \ | 23 | file://0002-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch;patchdir=tools/clang \ |
26 | file://0003-clang-musl-ppc-does-not-support-128-bit-long-double.patch;patchdir=tools/clang \ | 24 | file://0003-clang-musl-ppc-does-not-support-128-bit-long-double.patch;patchdir=tools/clang \ |
27 | file://0004-clang-Check-for-float-ABI-on-arm.patch;patchdir=tools/clang \ | ||
28 | " | 25 | " |
29 | 26 | ||
30 | SRCREV_FORMAT = "llvm_clang" | 27 | SRCREV_FORMAT = "llvm_clang" |
diff --git a/recipes-devtools/clang/compiler-rt/0001-compiler-rt-Fix-target-architecture-matching.patch b/recipes-devtools/clang/compiler-rt/0001-compiler-rt-Fix-target-architecture-matching.patch deleted file mode 100644 index 604d1eb..0000000 --- a/recipes-devtools/clang/compiler-rt/0001-compiler-rt-Fix-target-architecture-matching.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | From 921549310c98ac7d594d1f290f053b8e2b3a32d0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Francis Ricci <francisjricci@gmail.com> | ||
3 | Date: Wed, 20 Jul 2016 18:06:31 +0000 | ||
4 | Subject: [PATCH 1/4] [compiler-rt] Fix target architecture matching | ||
5 | |||
6 | Summary: | ||
7 | Use stricter comparisons for architecture. This prevents cmake from failing | ||
8 | for sysroots which can only compile armhf and not arm, since | ||
9 | arm MATCHES armhf is true, while arm STREQUAL armhf is false. | ||
10 | |||
11 | Reviewers: beanz, compnerd | ||
12 | |||
13 | Subscribers: aemerson, llvm-commits | ||
14 | |||
15 | Differential Revision: https://reviews.llvm.org/D22473 | ||
16 | |||
17 | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@276148 91177308-0d34-0410-b5e6-96231b3b80d8 | ||
18 | --- | ||
19 | cmake/Modules/CompilerRTUtils.cmake | 2 +- | ||
20 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
21 | |||
22 | diff --git a/cmake/Modules/CompilerRTUtils.cmake b/cmake/Modules/CompilerRTUtils.cmake | ||
23 | index 78b6dce..5987cf5 100644 | ||
24 | --- a/cmake/Modules/CompilerRTUtils.cmake | ||
25 | +++ b/cmake/Modules/CompilerRTUtils.cmake | ||
26 | @@ -126,7 +126,7 @@ macro(test_target_arch arch def) | ||
27 | endif() | ||
28 | if(${CAN_TARGET_${arch}}) | ||
29 | list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch}) | ||
30 | - elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "${arch}" AND | ||
31 | + elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" STREQUAL "${arch}" AND | ||
32 | COMPILER_RT_HAS_EXPLICIT_DEFAULT_TARGET_TRIPLE) | ||
33 | # Bail out if we cannot target the architecture we plan to test. | ||
34 | message(FATAL_ERROR "Cannot compile for ${arch}:\n${TARGET_${arch}_OUTPUT}") | ||
35 | -- | ||
36 | 2.9.0 | ||
37 | |||
diff --git a/recipes-devtools/clang/compiler-rt/0002-support-a-new-embedded-linux-target.patch b/recipes-devtools/clang/compiler-rt/0001-support-a-new-embedded-linux-target.patch index 67c7678..111c556 100644 --- a/recipes-devtools/clang/compiler-rt/0002-support-a-new-embedded-linux-target.patch +++ b/recipes-devtools/clang/compiler-rt/0001-support-a-new-embedded-linux-target.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 4bdc7871ab0a6134ee01c138e863476de9c08e25 Mon Sep 17 00:00:00 2001 | 1 | From 2d08c5752ce9d3170798d12d46827e85a6e8ef42 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: Sun, 19 Apr 2015 15:16:23 -0700 | 3 | Date: Sun, 19 Apr 2015 15:16:23 -0700 |
4 | Subject: [PATCH 2/4] support a new embedded linux target | 4 | Subject: [PATCH 1/3] support a new embedded linux target |
5 | 5 | ||
6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
7 | --- | 7 | --- |
@@ -322,5 +322,5 @@ diff --git a/make/platform/clang_linux_embedded_test_input.c b/make/platform/cla | |||
322 | new file mode 100644 | 322 | new file mode 100644 |
323 | index 0000000..e69de29 | 323 | index 0000000..e69de29 |
324 | -- | 324 | -- |
325 | 2.9.0 | 325 | 2.10.0 |
326 | 326 | ||
diff --git a/recipes-devtools/clang/compiler-rt/0002-Simplify-cross-compilation.-Don-t-use-native-compile.patch b/recipes-devtools/clang/compiler-rt/0002-Simplify-cross-compilation.-Don-t-use-native-compile.patch new file mode 100644 index 0000000..dbf3ea5 --- /dev/null +++ b/recipes-devtools/clang/compiler-rt/0002-Simplify-cross-compilation.-Don-t-use-native-compile.patch | |||
@@ -0,0 +1,45 @@ | |||
1 | From dc8fde5074321b80d23419127d28ce90ac984c96 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 19 May 2016 23:11:45 -0700 | ||
4 | Subject: [PATCH 2/3] Simplify cross-compilation. Don't use native-compiled | ||
5 | llvm-config. | ||
6 | |||
7 | Note: AddLLVM.cmake does not expose the LLVM source directory. | ||
8 | So if you want to run the test suite, you need to either: | ||
9 | |||
10 | 1) set LLVM_MAIN_SRC_DIR explicitly (to find lit.py) | ||
11 | 2) change AddLLVM.cmake to point to an installed 'lit'. | ||
12 | 3) add_subdirectory(compiler-rt/test) from clang instead of compiler-rt. | ||
13 | |||
14 | https://us.codeaurora.org/patches/quic/llvm/50683/compiler-rt-cross-compilation.patch | ||
15 | |||
16 | Signed-off-by: Greg Fitzgerald <gregf@codeaurora.org> | ||
17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
18 | --- | ||
19 | CMakeLists.txt | 10 +++++++++- | ||
20 | 1 file changed, 9 insertions(+), 1 deletion(-) | ||
21 | |||
22 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
23 | index 5b1591e..7c6c0f4 100644 | ||
24 | --- a/CMakeLists.txt | ||
25 | +++ b/CMakeLists.txt | ||
26 | @@ -42,7 +42,15 @@ option(COMPILER_RT_BUILD_XRAY "Build xray" ON) | ||
27 | mark_as_advanced(COMPILER_RT_BUILD_XRAY) | ||
28 | |||
29 | if (COMPILER_RT_STANDALONE_BUILD) | ||
30 | - load_llvm_config() | ||
31 | + find_package(LLVM REQUIRED) | ||
32 | + list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}") | ||
33 | + | ||
34 | + # Variables that AddLLVM.cmake depends on (included by AddCompilerRT) | ||
35 | + set(LLVM_TOOLS_BINARY_DIR "${LLVM_INSTALL_PREFIX}/bin") | ||
36 | + set(LLVM_LIBRARY_DIR "${LLVM_INSTALL_PREFIX}/lib") | ||
37 | + | ||
38 | + set(LLVM_LIBRARY_OUTPUT_INTDIR | ||
39 | + ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) | ||
40 | |||
41 | # Find Python interpreter. | ||
42 | set(Python_ADDITIONAL_VERSIONS 2.7 2.6 2.5) | ||
43 | -- | ||
44 | 2.10.0 | ||
45 | |||
diff --git a/recipes-devtools/clang/compiler-rt/0004-Disable-tsan-on-OE-glibc.patch b/recipes-devtools/clang/compiler-rt/0003-Disable-tsan-on-OE-glibc.patch index 8da7512..67e660d 100644 --- a/recipes-devtools/clang/compiler-rt/0004-Disable-tsan-on-OE-glibc.patch +++ b/recipes-devtools/clang/compiler-rt/0003-Disable-tsan-on-OE-glibc.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From baeeb27bb523b2bff96ab2fe2c5b38ecdd0570d0 Mon Sep 17 00:00:00 2001 | 1 | From 622ef6bbd65f71ebbaf3525d50fb357e62631a08 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: Mon, 18 Jul 2016 08:05:02 +0000 | 3 | Date: Mon, 18 Jul 2016 08:05:02 +0000 |
4 | Subject: [PATCH 4/4] Disable tsan on OE/glibc | 4 | Subject: [PATCH 3/3] Disable tsan on OE/glibc |
5 | 5 | ||
6 | It does not build see | 6 | It does not build see |
7 | http://lists.llvm.org/pipermail/llvm-dev/2016-July/102235.html | 7 | http://lists.llvm.org/pipermail/llvm-dev/2016-July/102235.html |
@@ -12,10 +12,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | 12 | 1 file changed, 1 insertion(+), 1 deletion(-) |
13 | 13 | ||
14 | diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake | 14 | diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake |
15 | index ddb0304..4241771 100644 | 15 | index cb9f74b..d7e0fba 100644 |
16 | --- a/cmake/config-ix.cmake | 16 | --- a/cmake/config-ix.cmake |
17 | +++ b/cmake/config-ix.cmake | 17 | +++ b/cmake/config-ix.cmake |
18 | @@ -452,7 +452,7 @@ else() | 18 | @@ -472,7 +472,7 @@ else() |
19 | endif() | 19 | endif() |
20 | 20 | ||
21 | if (COMPILER_RT_HAS_SANITIZER_COMMON AND TSAN_SUPPORTED_ARCH AND | 21 | if (COMPILER_RT_HAS_SANITIZER_COMMON AND TSAN_SUPPORTED_ARCH AND |
@@ -25,5 +25,5 @@ index ddb0304..4241771 100644 | |||
25 | else() | 25 | else() |
26 | set(COMPILER_RT_HAS_TSAN FALSE) | 26 | set(COMPILER_RT_HAS_TSAN FALSE) |
27 | -- | 27 | -- |
28 | 2.9.0 | 28 | 2.10.0 |
29 | 29 | ||
diff --git a/recipes-devtools/clang/compiler-rt/0003-Simplify-cross-compilation.-Don-t-use-native-compile.patch b/recipes-devtools/clang/compiler-rt/0003-Simplify-cross-compilation.-Don-t-use-native-compile.patch deleted file mode 100644 index 9354f66..0000000 --- a/recipes-devtools/clang/compiler-rt/0003-Simplify-cross-compilation.-Don-t-use-native-compile.patch +++ /dev/null | |||
@@ -1,67 +0,0 @@ | |||
1 | From 6676553c56ac1879d8d597351b457ba2e087168c Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 19 May 2016 23:11:45 -0700 | ||
4 | Subject: [PATCH 3/4] Simplify cross-compilation. Don't use native-compiled | ||
5 | llvm-config. | ||
6 | |||
7 | Note: AddLLVM.cmake does not expose the LLVM source directory. | ||
8 | So if you want to run the test suite, you need to either: | ||
9 | |||
10 | 1) set LLVM_MAIN_SRC_DIR explicitly (to find lit.py) | ||
11 | 2) change AddLLVM.cmake to point to an installed 'lit'. | ||
12 | 3) add_subdirectory(compiler-rt/test) from clang instead of compiler-rt. | ||
13 | |||
14 | https://us.codeaurora.org/patches/quic/llvm/50683/compiler-rt-cross-compilation.patch | ||
15 | |||
16 | Signed-off-by: Greg Fitzgerald <gregf@codeaurora.org> | ||
17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
18 | --- | ||
19 | CMakeLists.txt | 32 ++++++-------------------------- | ||
20 | 1 file changed, 6 insertions(+), 26 deletions(-) | ||
21 | |||
22 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
23 | index a067581..ce904c0 100644 | ||
24 | --- a/CMakeLists.txt | ||
25 | +++ b/CMakeLists.txt | ||
26 | @@ -39,32 +39,12 @@ option(COMPILER_RT_BUILD_SANITIZERS "Build sanitizers" ON) | ||
27 | mark_as_advanced(COMPILER_RT_BUILD_SANITIZERS) | ||
28 | |||
29 | if (COMPILER_RT_STANDALONE_BUILD) | ||
30 | - if (NOT LLVM_CONFIG_PATH) | ||
31 | - find_program(LLVM_CONFIG_PATH "llvm-config" | ||
32 | - DOC "Path to llvm-config binary") | ||
33 | - if (NOT LLVM_CONFIG_PATH) | ||
34 | - message(FATAL_ERROR "llvm-config not found: specify LLVM_CONFIG_PATH") | ||
35 | - endif() | ||
36 | - endif() | ||
37 | - execute_process( | ||
38 | - COMMAND ${LLVM_CONFIG_PATH} "--obj-root" "--bindir" "--libdir" "--src-root" | ||
39 | - RESULT_VARIABLE HAD_ERROR | ||
40 | - OUTPUT_VARIABLE CONFIG_OUTPUT) | ||
41 | - if (HAD_ERROR) | ||
42 | - message(FATAL_ERROR "llvm-config failed with status ${HAD_ERROR}") | ||
43 | - endif() | ||
44 | - string(REGEX REPLACE "[ \t]*[\r\n]+[ \t]*" ";" CONFIG_OUTPUT ${CONFIG_OUTPUT}) | ||
45 | - list(GET CONFIG_OUTPUT 0 LLVM_BINARY_DIR) | ||
46 | - list(GET CONFIG_OUTPUT 1 LLVM_TOOLS_BINARY_DIR) | ||
47 | - list(GET CONFIG_OUTPUT 2 LLVM_LIBRARY_DIR) | ||
48 | - list(GET CONFIG_OUTPUT 3 LLVM_MAIN_SRC_DIR) | ||
49 | - | ||
50 | - # Make use of LLVM CMake modules. | ||
51 | - file(TO_CMAKE_PATH ${LLVM_BINARY_DIR} LLVM_BINARY_DIR_CMAKE_STYLE) | ||
52 | - set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR_CMAKE_STYLE}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm") | ||
53 | - list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}") | ||
54 | - # Get some LLVM variables from LLVMConfig. | ||
55 | - include("${LLVM_CMAKE_PATH}/LLVMConfig.cmake") | ||
56 | + find_package(LLVM REQUIRED) | ||
57 | + list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}") | ||
58 | + | ||
59 | + # Variables that AddLLVM.cmake depends on (included by AddCompilerRT) | ||
60 | + set(LLVM_TOOLS_BINARY_DIR "${LLVM_INSTALL_PREFIX}/bin") | ||
61 | + set(LLVM_LIBRARY_DIR "${LLVM_INSTALL_PREFIX}/lib") | ||
62 | |||
63 | set(LLVM_LIBRARY_OUTPUT_INTDIR | ||
64 | ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) | ||
65 | -- | ||
66 | 2.9.0 | ||
67 | |||
diff --git a/recipes-devtools/clang/compiler-rt/0005-builtins-Specifiy-builtins-using-VFP-separately.patch b/recipes-devtools/clang/compiler-rt/0005-builtins-Specifiy-builtins-using-VFP-separately.patch deleted file mode 100644 index 5e7a43b..0000000 --- a/recipes-devtools/clang/compiler-rt/0005-builtins-Specifiy-builtins-using-VFP-separately.patch +++ /dev/null | |||
@@ -1,147 +0,0 @@ | |||
1 | From 59cffbd825a2f9c9c9b21d1314f7a2824e01a158 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sat, 13 Aug 2016 00:33:15 +0000 | ||
4 | Subject: [PATCH] builtins: Specifiy builtins using VFP separately | ||
5 | |||
6 | This helps in compiling compiler-rt for armv5 | ||
7 | using soft-float | ||
8 | |||
9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
10 | --- | ||
11 | lib/builtins/CMakeLists.txt | 84 +++++++++++++++++++++++---------------------- | ||
12 | 1 file changed, 43 insertions(+), 41 deletions(-) | ||
13 | |||
14 | diff --git a/lib/builtins/CMakeLists.txt b/lib/builtins/CMakeLists.txt | ||
15 | index d5a1efe..d84bf96 100644 | ||
16 | --- a/lib/builtins/CMakeLists.txt | ||
17 | +++ b/lib/builtins/CMakeLists.txt | ||
18 | @@ -257,8 +257,6 @@ else () # MSVC | ||
19 | endif () # if (NOT MSVC) | ||
20 | |||
21 | set(arm_SOURCES | ||
22 | - arm/adddf3vfp.S | ||
23 | - arm/addsf3vfp.S | ||
24 | arm/aeabi_cdcmp.S | ||
25 | arm/aeabi_cdcmpeq_check_nan.c | ||
26 | arm/aeabi_cfcmp.S | ||
27 | @@ -281,10 +279,44 @@ set(arm_SOURCES | ||
28 | arm/clzdi2.S | ||
29 | arm/clzsi2.S | ||
30 | arm/comparesf2.S | ||
31 | - arm/divdf3vfp.S | ||
32 | arm/divmodsi4.S | ||
33 | - arm/divsf3vfp.S | ||
34 | arm/divsi3.S | ||
35 | + arm/modsi3.S | ||
36 | + arm/switch16.S | ||
37 | + arm/switch32.S | ||
38 | + arm/switch8.S | ||
39 | + arm/switchu8.S | ||
40 | + arm/sync_fetch_and_add_4.S | ||
41 | + arm/sync_fetch_and_add_8.S | ||
42 | + arm/sync_fetch_and_and_4.S | ||
43 | + arm/sync_fetch_and_and_8.S | ||
44 | + arm/sync_fetch_and_max_4.S | ||
45 | + arm/sync_fetch_and_max_8.S | ||
46 | + arm/sync_fetch_and_min_4.S | ||
47 | + arm/sync_fetch_and_min_8.S | ||
48 | + arm/sync_fetch_and_nand_4.S | ||
49 | + arm/sync_fetch_and_nand_8.S | ||
50 | + arm/sync_fetch_and_or_4.S | ||
51 | + arm/sync_fetch_and_or_8.S | ||
52 | + arm/sync_fetch_and_sub_4.S | ||
53 | + arm/sync_fetch_and_sub_8.S | ||
54 | + arm/sync_fetch_and_umax_4.S | ||
55 | + arm/sync_fetch_and_umax_8.S | ||
56 | + arm/sync_fetch_and_umin_4.S | ||
57 | + arm/sync_fetch_and_umin_8.S | ||
58 | + arm/sync_fetch_and_xor_4.S | ||
59 | + arm/sync_fetch_and_xor_8.S | ||
60 | + arm/sync_synchronize.S | ||
61 | + arm/udivmodsi4.S | ||
62 | + arm/udivsi3.S | ||
63 | + arm/umodsi3.S | ||
64 | + ${GENERIC_SOURCES}) | ||
65 | + | ||
66 | +set(armvfp_SOURCES | ||
67 | + arm/adddf3vfp.S | ||
68 | + arm/addsf3vfp.S | ||
69 | + arm/divdf3vfp.S | ||
70 | + arm/divsf3vfp.S | ||
71 | arm/eqdf2vfp.S | ||
72 | arm/eqsf2vfp.S | ||
73 | arm/extendsfdf2vfp.S | ||
74 | @@ -304,7 +336,6 @@ set(arm_SOURCES | ||
75 | arm/lesf2vfp.S | ||
76 | arm/ltdf2vfp.S | ||
77 | arm/ltsf2vfp.S | ||
78 | - arm/modsi3.S | ||
79 | arm/muldf3vfp.S | ||
80 | arm/mulsf3vfp.S | ||
81 | arm/nedf2vfp.S | ||
82 | @@ -315,38 +346,9 @@ set(arm_SOURCES | ||
83 | arm/save_vfp_d8_d15_regs.S | ||
84 | arm/subdf3vfp.S | ||
85 | arm/subsf3vfp.S | ||
86 | - arm/switch16.S | ||
87 | - arm/switch32.S | ||
88 | - arm/switch8.S | ||
89 | - arm/switchu8.S | ||
90 | - arm/sync_fetch_and_add_4.S | ||
91 | - arm/sync_fetch_and_add_8.S | ||
92 | - arm/sync_fetch_and_and_4.S | ||
93 | - arm/sync_fetch_and_and_8.S | ||
94 | - arm/sync_fetch_and_max_4.S | ||
95 | - arm/sync_fetch_and_max_8.S | ||
96 | - arm/sync_fetch_and_min_4.S | ||
97 | - arm/sync_fetch_and_min_8.S | ||
98 | - arm/sync_fetch_and_nand_4.S | ||
99 | - arm/sync_fetch_and_nand_8.S | ||
100 | - arm/sync_fetch_and_or_4.S | ||
101 | - arm/sync_fetch_and_or_8.S | ||
102 | - arm/sync_fetch_and_sub_4.S | ||
103 | - arm/sync_fetch_and_sub_8.S | ||
104 | - arm/sync_fetch_and_umax_4.S | ||
105 | - arm/sync_fetch_and_umax_8.S | ||
106 | - arm/sync_fetch_and_umin_4.S | ||
107 | - arm/sync_fetch_and_umin_8.S | ||
108 | - arm/sync_fetch_and_xor_4.S | ||
109 | - arm/sync_fetch_and_xor_8.S | ||
110 | - arm/sync_synchronize.S | ||
111 | arm/truncdfsf2vfp.S | ||
112 | - arm/udivmodsi4.S | ||
113 | - arm/udivsi3.S | ||
114 | - arm/umodsi3.S | ||
115 | arm/unorddf2vfp.S | ||
116 | - arm/unordsf2vfp.S | ||
117 | - ${GENERIC_SOURCES}) | ||
118 | + arm/unordsf2vfp.S) | ||
119 | |||
120 | set(aarch64_SOURCES | ||
121 | comparetf2.c | ||
122 | @@ -367,16 +369,16 @@ set(aarch64_SOURCES | ||
123 | trunctfsf2.c | ||
124 | ${GENERIC_SOURCES}) | ||
125 | |||
126 | -set(armhf_SOURCES ${arm_SOURCES}) | ||
127 | -set(armv7_SOURCES ${arm_SOURCES}) | ||
128 | -set(armv7s_SOURCES ${arm_SOURCES}) | ||
129 | -set(armv7k_SOURCES ${arm_SOURCES}) | ||
130 | +set(armhf_SOURCES ${arm_SOURCES} ${armvfp_SOURCES}) | ||
131 | +set(armv7_SOURCES ${arm_SOURCES} ${armvfp_SOURCES}) | ||
132 | +set(armv7s_SOURCES ${arm_SOURCES} ${armvfp_SOURCES}) | ||
133 | +set(armv7k_SOURCES ${arm_SOURCES} ${armvfp_SOURCES}) | ||
134 | set(arm64_SOURCES ${aarch64_SOURCES}) | ||
135 | |||
136 | # macho_embedded archs | ||
137 | set(armv6m_SOURCES ${GENERIC_SOURCES}) | ||
138 | -set(armv7m_SOURCES ${arm_SOURCES}) | ||
139 | -set(armv7em_SOURCES ${arm_SOURCES}) | ||
140 | +set(armv7m_SOURCES ${arm_SOURCES} ${armvfp_SOURCES}) | ||
141 | +set(armv7em_SOURCES ${arm_SOURCES} ${armvfp_SOURCES}) | ||
142 | |||
143 | set(mips_SOURCES ${GENERIC_SOURCES}) | ||
144 | set(mipsel_SOURCES ${mips_SOURCES}) | ||
145 | -- | ||
146 | 1.9.1 | ||
147 | |||
diff --git a/recipes-devtools/clang/compiler-rt_git.bb b/recipes-devtools/clang/compiler-rt_git.bb index 7aa3fd6..36171d4 100644 --- a/recipes-devtools/clang/compiler-rt_git.bb +++ b/recipes-devtools/clang/compiler-rt_git.bb | |||
@@ -17,11 +17,9 @@ PV .= "+git${SRCPV}" | |||
17 | LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=bf24bca27049b52e9738451aa55771d4; \ | 17 | LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=bf24bca27049b52e9738451aa55771d4; \ |
18 | " | 18 | " |
19 | SRC_URI = "${LLVM_GIT}/compiler-rt.git;protocol=${LLVM_GIT_PROTOCOL};branch=${BRANCH};name=compiler-rt \ | 19 | SRC_URI = "${LLVM_GIT}/compiler-rt.git;protocol=${LLVM_GIT_PROTOCOL};branch=${BRANCH};name=compiler-rt \ |
20 | file://0001-compiler-rt-Fix-target-architecture-matching.patch \ | 20 | file://0001-support-a-new-embedded-linux-target.patch \ |
21 | file://0002-support-a-new-embedded-linux-target.patch \ | 21 | file://0002-Simplify-cross-compilation.-Don-t-use-native-compile.patch \ |
22 | file://0003-Simplify-cross-compilation.-Don-t-use-native-compile.patch \ | 22 | file://0003-Disable-tsan-on-OE-glibc.patch \ |
23 | file://0004-Disable-tsan-on-OE-glibc.patch \ | ||
24 | file://0005-builtins-Specifiy-builtins-using-VFP-separately.patch \ | ||
25 | " | 23 | " |
26 | 24 | ||
27 | SRCREV_FORMAT = "compiler-rt" | 25 | SRCREV_FORMAT = "compiler-rt" |
diff --git a/recipes-devtools/clang/libcxx/0001-use-constexpr-when-using-glibc.patch b/recipes-devtools/clang/libcxx/0001-use-constexpr-when-using-glibc.patch index c125c4a..9d2b327 100644 --- a/recipes-devtools/clang/libcxx/0001-use-constexpr-when-using-glibc.patch +++ b/recipes-devtools/clang/libcxx/0001-use-constexpr-when-using-glibc.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 7d5006df84aeec510a07717310e17a35043e1f9e Mon Sep 17 00:00:00 2001 | 1 | From a5b8426cf21c3c303349a5be4d735123f514c435 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: Thu, 19 May 2016 23:22:52 -0700 | 3 | Date: Thu, 19 May 2016 23:22:52 -0700 |
4 | Subject: [PATCH] use constexpr when using glibc | 4 | Subject: [PATCH] use constexpr when using glibc |
@@ -44,5 +44,5 @@ index 38a76ac..0fb1e2f 100644 | |||
44 | condition_variable() _NOEXCEPT {__cv_ = (__libcpp_condvar_t)_LIBCPP_CONDVAR_INITIALIZER;} | 44 | condition_variable() _NOEXCEPT {__cv_ = (__libcpp_condvar_t)_LIBCPP_CONDVAR_INITIALIZER;} |
45 | #endif | 45 | #endif |
46 | -- | 46 | -- |
47 | 2.9.0 | 47 | 2.10.0 |
48 | 48 | ||
diff --git a/recipes-devtools/clang/libcxxabi/0001-Do-not-use-LIBCXXABI_ARM_EHABI.patch b/recipes-devtools/clang/libcxxabi/0001-Do-not-use-LIBCXXABI_ARM_EHABI.patch index 0684d2c..536354d 100644 --- a/recipes-devtools/clang/libcxxabi/0001-Do-not-use-LIBCXXABI_ARM_EHABI.patch +++ b/recipes-devtools/clang/libcxxabi/0001-Do-not-use-LIBCXXABI_ARM_EHABI.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 141910ae8cee87307a89a9e43894000dcf47366e Mon Sep 17 00:00:00 2001 | 1 | From d072fa3f959a559e6913ebbc62bcdeb7f4a55143 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: Thu, 24 Mar 2016 06:31:35 +0000 | 3 | Date: Thu, 24 Mar 2016 06:31:35 +0000 |
4 | Subject: [PATCH] Do not use LIBCXXABI_ARM_EHABI | 4 | Subject: [PATCH] Do not use LIBCXXABI_ARM_EHABI |
@@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | 13 | 1 file changed, 1 insertion(+), 1 deletion(-) |
14 | 14 | ||
15 | diff --git a/include/__cxxabi_config.h b/include/__cxxabi_config.h | 15 | diff --git a/include/__cxxabi_config.h b/include/__cxxabi_config.h |
16 | index 68e325f..41fc953 100644 | 16 | index 61555f1..a979694 100644 |
17 | --- a/include/__cxxabi_config.h | 17 | --- a/include/__cxxabi_config.h |
18 | +++ b/include/__cxxabi_config.h | 18 | +++ b/include/__cxxabi_config.h |
19 | @@ -12,7 +12,7 @@ | 19 | @@ -12,7 +12,7 @@ |
@@ -26,5 +26,5 @@ index 68e325f..41fc953 100644 | |||
26 | #define LIBCXXABI_ARM_EHABI 0 | 26 | #define LIBCXXABI_ARM_EHABI 0 |
27 | #endif | 27 | #endif |
28 | -- | 28 | -- |
29 | 1.9.1 | 29 | 2.9.0 |
30 | 30 | ||