summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/clang/clang
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2016-05-22 13:46:03 -0700
committerKhem Raj <raj.khem@gmail.com>2016-05-22 13:46:03 -0700
commiteda901aafd493be01e7eded49782ff2c110e36a0 (patch)
treec1c4593d6d3e497af605de6a5bd049a8cfb49160 /recipes-devtools/clang/clang
parent7e6586dc1ed618e9eecdc3ee09389053f6887a94 (diff)
downloadmeta-clang-eda901aafd493be01e7eded49782ff2c110e36a0.tar.gz
clang: Update to latest 3.9 branch
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes-devtools/clang/clang')
-rw-r--r--recipes-devtools/clang/clang/0001-clang-driver-Add-musl-ldso-support.patch104
-rw-r--r--recipes-devtools/clang/clang/0001-llvm-triplet-Add-musl-support.patch2
-rw-r--r--recipes-devtools/clang/clang/0002-clang-driver-Use-lib-for-ldso-on-OE.patch74
-rw-r--r--recipes-devtools/clang/clang/0002-llvm-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-com.patch2
-rw-r--r--recipes-devtools/clang/clang/0003-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch6
-rw-r--r--recipes-devtools/clang/clang/0003-llvm-Do-not-assume-linux-glibc.patch2
-rw-r--r--recipes-devtools/clang/clang/0004-clang-musl-ppc-does-not-support-128-bit-long-double.patch6
-rw-r--r--recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch21
8 files changed, 132 insertions, 85 deletions
diff --git a/recipes-devtools/clang/clang/0001-clang-driver-Add-musl-ldso-support.patch b/recipes-devtools/clang/clang/0001-clang-driver-Add-musl-ldso-support.patch
index 6747c24..0d8318a 100644
--- a/recipes-devtools/clang/clang/0001-clang-driver-Add-musl-ldso-support.patch
+++ b/recipes-devtools/clang/clang/0001-clang-driver-Add-musl-ldso-support.patch
@@ -1,6 +1,6 @@
1From 21cb1801f0da97918ce5a567cd1f60413b4de726 Mon Sep 17 00:00:00 2001 1From eccb9b3f6745b82c666ad7546035bae3139a5bdf Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 30 Mar 2016 19:56:10 -0700 3Date: Sat, 21 May 2016 21:49:08 -0700
4Subject: [PATCH 1/4] clang: driver: Add musl ldso support 4Subject: [PATCH 1/4] clang: driver: Add musl ldso support
5 5
6Linux/musl libc implementation has different ldso 6Linux/musl libc implementation has different ldso
@@ -9,18 +9,25 @@ as a musl based Linux platform
9 9
10Signed-off-by: Khem Raj <raj.khem@gmail.com> 10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11--- 11---
12 lib/Driver/Tools.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++------ 12 lib/Driver/Tools.cpp | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++
13 1 file changed, 42 insertions(+), 6 deletions(-) 13 1 file changed, 107 insertions(+)
14 14
15diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp 15diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
16index 8a1cb54..0ce548c 100644 16index 35ca470..bde9fa9 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@@ -8994,6 +8994,47 @@ static std::string getLinuxDynamicLinker(const ArgList &Args, 19@@ -8984,6 +8984,113 @@ static void AddLibgcc(const llvm::Triple &Triple, const Driver &D,
20 return "/system/bin/linker64"; 20 CmdArgs.push_back("-ldl");
21 else 21 }
22 return "/system/bin/linker"; 22
23+ } else if (ToolChain.getTriple().isLinuxMuslEnvironment()) { 23+static std::string getLinuxDynamicLinker(const ArgList &Args,
24+ const toolchains::Linux &ToolChain) {
25+ const llvm::Triple::ArchType Arch = ToolChain.getArch();
26+ const llvm::Triple &Triple = ToolChain.getTriple();
27+
28+ if (Triple.isAndroid())
29+ return Triple.isArch64Bit() ? "/system/bin/linker64" : "/system/bin/linker";
30+ if (ToolChain.getTriple().isLinuxMuslEnvironment()) {
24+ switch (Arch) { 31+ switch (Arch) {
25+ case llvm::Triple::x86: 32+ case llvm::Triple::x86:
26+ return "/lib/ld-musl-i386.so.1"; 33+ return "/lib/ld-musl-i386.so.1";
@@ -61,23 +68,68 @@ index 8a1cb54..0ce548c 100644
61+ llvm_unreachable("unsupported musl architecture"); 68+ llvm_unreachable("unsupported musl architecture");
62+ break; 69+ break;
63+ } 70+ }
64 } else if (Arch == llvm::Triple::x86 || Arch == llvm::Triple::sparc || 71+ }
65 Arch == llvm::Triple::sparcel) 72+ switch (Arch) {
66 return "/lib/ld-linux.so.2"; 73+ default: llvm_unreachable("unsupported architecture");
67@@ -9021,12 +9062,7 @@ static std::string getLinuxDynamicLinker(const ArgList &Args, 74+
68 bool IsNaN2008 = mips::isNaN2008(Args, Triple); 75+ case llvm::Triple::aarch64:
69 if (mips::isUCLibc(Args)) 76+ return "/lib/ld-linux-aarch64.so.1";
70 LibName = IsNaN2008 ? "ld-uClibc-mipsn8.so.0" : "ld-uClibc.so.0"; 77+ case llvm::Triple::aarch64_be:
71- else if (!Triple.hasEnvironment() && 78+ return "/lib/ld-linux-aarch64_be.so.1";
72- Triple.getVendor() == llvm::Triple::VendorType::MipsTechnologies) { 79+ case llvm::Triple::arm:
73- bool LE = (Triple.getArch() == llvm::Triple::mipsel) || 80+ case llvm::Triple::thumb:
74- (Triple.getArch() == llvm::Triple::mips64el); 81+ case llvm::Triple::armeb:
75- LibName = LE ? "ld-musl-mipsel.so.1" : "ld-musl-mips.so.1"; 82+ case llvm::Triple::thumbeb: {
76- } else 83+ const bool IsHardFloat =
84+ Triple.getEnvironment() == llvm::Triple::GNUEABIHF ||
85+ arm::getARMFloatABI(ToolChain, Args) == arm::FloatABI::Hard;
86+
87+ return IsHardFloat ? "/lib/ld-linux-armhf.so.3" : "/lib/ld-linux.so.3";
88+ }
89+ case llvm::Triple::mips:
90+ case llvm::Triple::mipsel:
91+ case llvm::Triple::mips64:
92+ case llvm::Triple::mips64el: {
93+ bool IsNaN2008 = mips::isNaN2008(Args, Triple);
94+ bool LE = (Triple.getArch() == llvm::Triple::mipsel) ||
95+ (Triple.getArch() == llvm::Triple::mips64el);
96+
97+ std::string LibDir = "/lib" + mips::getMipsABILibSuffix(Args, Triple);
98+ StringRef LibName;
99+ if (mips::isUCLibc(Args))
100+ LibName = IsNaN2008 ? "ld-uClibc-mipsn8.so.0" : "ld-uClibc.so.0";
77+ else 101+ else
78 LibName = IsNaN2008 ? "ld-linux-mipsn8.so.1" : "ld.so.1"; 102+ LibName = IsNaN2008 ? "ld-linux-mipsn8.so.1" : "ld.so.1";
79 103+
80 return (LibDir + "/" + LibName).str(); 104+ return (LibDir + "/" + LibName).str();
105+ }
106+ case llvm::Triple::ppc:
107+ return "/lib/ld.so.1";
108+ case llvm::Triple::ppc64:
109+ return (ppc::hasPPCAbiArg(Args, "elfv2")) ? "/lib64/ld64.so.2"
110+ : "/lib64/ld64.so.1";
111+ case llvm::Triple::ppc64le:
112+ return (ppc::hasPPCAbiArg(Args, "elfv1")) ? "/lib64/ld64.so.1"
113+ : "/lib64/ld64.so.2";
114+ case llvm::Triple::sparc:
115+ case llvm::Triple::sparcel:
116+ return "/lib/ld-linux.so.2";
117+ case llvm::Triple::sparcv9:
118+ return "/lib64/ld-linux.so.2";
119+ case llvm::Triple::systemz:
120+ return "/lib/ld64.so.1";
121+ case llvm::Triple::x86:
122+ return "/lib/ld-linux.so.2";
123+ case llvm::Triple::x86_64:
124+ return (Triple.getEnvironment() == llvm::Triple::GNUX32)
125+ ? "/libx32/ld-linux-x32.so.2"
126+ : "/lib64/ld-linux-x86-64.so.2";
127+ }
128+}
129+
130 static void AddRunTimeLibs(const ToolChain &TC, const Driver &D,
131 ArgStringList &CmdArgs, const ArgList &Args) {
132 // Make use of compiler-rt if --rtlib option is used
81-- 133--
822.8.2 1342.8.2
83 135
diff --git a/recipes-devtools/clang/clang/0001-llvm-triplet-Add-musl-support.patch b/recipes-devtools/clang/clang/0001-llvm-triplet-Add-musl-support.patch
index a13f568..e2d16aa 100644
--- a/recipes-devtools/clang/clang/0001-llvm-triplet-Add-musl-support.patch
+++ b/recipes-devtools/clang/clang/0001-llvm-triplet-Add-musl-support.patch
@@ -1,4 +1,4 @@
1From a585b7edd91dd64d1d9a8b171f82e28413e574b9 Mon Sep 17 00:00:00 2001 1From ff9b9c7b143b51d9f9c203f6bc74e1f479d883b9 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 30 Mar 2016 19:55:41 -0700 3Date: Wed, 30 Mar 2016 19:55:41 -0700
4Subject: [PATCH 1/4] llvm: triplet: Add musl support 4Subject: [PATCH 1/4] llvm: triplet: Add musl support
diff --git a/recipes-devtools/clang/clang/0002-clang-driver-Use-lib-for-ldso-on-OE.patch b/recipes-devtools/clang/clang/0002-clang-driver-Use-lib-for-ldso-on-OE.patch
index 2269968..6aacf21 100644
--- a/recipes-devtools/clang/clang/0002-clang-driver-Use-lib-for-ldso-on-OE.patch
+++ b/recipes-devtools/clang/clang/0002-clang-driver-Use-lib-for-ldso-on-OE.patch
@@ -1,6 +1,6 @@
1From 90f5518a14a4756ef08dbd324b907d9b705d01b8 Mon Sep 17 00:00:00 2001 1From 2c64c7e8953219ba8be91f92418efb9c5369aba8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 9 May 2016 23:29:24 -0700 3Date: Sat, 21 May 2016 21:52:36 -0700
4Subject: [PATCH 2/4] clang: driver: Use /lib for ldso on OE 4Subject: [PATCH 2/4] clang: driver: Use /lib for ldso on OE
5 5
6OE does not follow the default base_libdir 6OE does not follow the default base_libdir
@@ -11,53 +11,45 @@ for 64bit to /lib64 instead of /lib
11 11
12Signed-off-by: Khem Raj <raj.khem@gmail.com> 12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13--- 13---
14 lib/Driver/Tools.cpp | 13 ++++++------- 14 lib/Driver/Tools.cpp | 14 +++++++-------
15 1 file changed, 6 insertions(+), 7 deletions(-) 15 1 file changed, 7 insertions(+), 7 deletions(-)
16 16
17diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp 17diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
18index 0ce548c..d318b10 100644 18index bde9fa9..7831911 100644
19--- a/lib/Driver/Tools.cpp 19--- a/lib/Driver/Tools.cpp
20+++ b/lib/Driver/Tools.cpp 20+++ b/lib/Driver/Tools.cpp
21@@ -9057,7 +9057,6 @@ static std::string getLinuxDynamicLinker(const ArgList &Args, 21@@ -9070,24 +9070,24 @@ static std::string getLinuxDynamicLinker(const ArgList &Args,
22 return "/lib/ld-linux.so.3"; 22 case llvm::Triple::ppc:
23 } else if (Arch == llvm::Triple::mips || Arch == llvm::Triple::mipsel ||
24 Arch == llvm::Triple::mips64 || Arch == llvm::Triple::mips64el) {
25- std::string LibDir = "/lib" + mips::getMipsABILibSuffix(Args, Triple);
26 StringRef LibName;
27 bool IsNaN2008 = mips::isNaN2008(Args, Triple);
28 if (mips::isUCLibc(Args))
29@@ -9065,17 +9064,17 @@ static std::string getLinuxDynamicLinker(const ArgList &Args,
30 else
31 LibName = IsNaN2008 ? "ld-linux-mipsn8.so.1" : "ld.so.1";
32
33- return (LibDir + "/" + LibName).str();
34+ return ("/lib/" + LibName).str();
35 } else if (Arch == llvm::Triple::ppc)
36 return "/lib/ld.so.1"; 23 return "/lib/ld.so.1";
37 else if (Arch == llvm::Triple::ppc64) { 24 case llvm::Triple::ppc64:
38 if (ppc::hasPPCAbiArg(Args, "elfv2")) 25- return (ppc::hasPPCAbiArg(Args, "elfv2")) ? "/lib64/ld64.so.2"
39- return "/lib64/ld64.so.2"; 26- : "/lib64/ld64.so.1";
40- return "/lib64/ld64.so.1"; 27+ return (ppc::hasPPCAbiArg(Args, "elfv2")) ? "/lib/ld64.so.2"
41+ return "/lib/ld64.so.2"; 28+ : "/lib/ld64.so.1";
42+ return "/lib/ld64.so.1"; 29 case llvm::Triple::ppc64le:
43 } else if (Arch == llvm::Triple::ppc64le) { 30- return (ppc::hasPPCAbiArg(Args, "elfv1")) ? "/lib64/ld64.so.1"
44 if (ppc::hasPPCAbiArg(Args, "elfv1")) 31- : "/lib64/ld64.so.2";
45- return "/lib64/ld64.so.1"; 32+ return (ppc::hasPPCAbiArg(Args, "elfv1")) ? "/lib/ld64.so.1"
46- return "/lib64/ld64.so.2"; 33+ : "/lib/ld64.so.2";
47+ return "/lib/ld64.so.1"; 34 case llvm::Triple::sparc:
48+ return "/lib/ld64.so.2"; 35 case llvm::Triple::sparcel:
49 } else if (Arch == llvm::Triple::systemz) 36 return "/lib/ld-linux.so.2";
37 case llvm::Triple::sparcv9:
38- return "/lib64/ld-linux.so.2";
39+ return "/lib/ld-linux.so.2";
40 case llvm::Triple::systemz:
50 return "/lib/ld64.so.1"; 41 return "/lib/ld64.so.1";
51 else if (Arch == llvm::Triple::sparcv9) 42 case llvm::Triple::x86:
52@@ -9084,7 +9083,7 @@ static std::string getLinuxDynamicLinker(const ArgList &Args, 43 return "/lib/ld-linux.so.2";
53 Triple.getEnvironment() == llvm::Triple::GNUX32) 44 case llvm::Triple::x86_64:
54 return "/libx32/ld-linux-x32.so.2"; 45 return (Triple.getEnvironment() == llvm::Triple::GNUX32)
55 else 46- ? "/libx32/ld-linux-x32.so.2"
56- return "/lib64/ld-linux-x86-64.so.2"; 47- : "/lib64/ld-linux-x86-64.so.2";
57+ return "/lib/ld-linux-x86-64.so.2"; 48+ ? "/lib/ld-linux-x32.so.2"
49+ : "/lib/ld-linux-x86-64.so.2";
50 }
58 } 51 }
59 52
60 static void AddRunTimeLibs(const ToolChain &TC, const Driver &D,
61-- 53--
622.8.2 542.8.2
63 55
diff --git a/recipes-devtools/clang/clang/0002-llvm-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-com.patch b/recipes-devtools/clang/clang/0002-llvm-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-com.patch
index 6787df7..d79cbd4 100644
--- a/recipes-devtools/clang/clang/0002-llvm-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-com.patch
+++ b/recipes-devtools/clang/clang/0002-llvm-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-com.patch
@@ -1,4 +1,4 @@
1From 002d533f62fb3a25e8515e3b53d384fb055ddac6 Mon Sep 17 00:00:00 2001 1From dcbc09369c9a031a8c6bbf725b7596765e32b234 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 15 May 2015 12:13:17 -0700 3Date: Fri, 15 May 2015 12:13:17 -0700
4Subject: [PATCH 2/4] llvm: Remove CMAKE_CROSSCOMPILING so it can cross compile 4Subject: [PATCH 2/4] llvm: Remove CMAKE_CROSSCOMPILING so it can cross compile
diff --git a/recipes-devtools/clang/clang/0003-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch b/recipes-devtools/clang/clang/0003-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch
index 7418fc7..3964cfe 100644
--- a/recipes-devtools/clang/clang/0003-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch
+++ b/recipes-devtools/clang/clang/0003-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch
@@ -1,4 +1,4 @@
1From be020e5e63464204a9459ecb807c9706f422f1da Mon Sep 17 00:00:00 2001 1From f642d770c9bef63cdb0362afd2922a1d94ea625f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 19 May 2016 21:11:06 -0700 3Date: Thu, 19 May 2016 21:11:06 -0700
4Subject: [PATCH 3/4] clang: Driver/tools.cpp: Add -lssp and -lssp_nonshared on 4Subject: [PATCH 3/4] clang: Driver/tools.cpp: Add -lssp and -lssp_nonshared on
@@ -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
15diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp 15diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
16index d318b10..38d8e27 100644 16index 7831911..9783251 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@@ -9366,6 +9366,13 @@ void gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, 19@@ -9371,6 +9371,13 @@ void gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
20 20
21 CmdArgs.push_back("-lc"); 21 CmdArgs.push_back("-lc");
22 22
diff --git a/recipes-devtools/clang/clang/0003-llvm-Do-not-assume-linux-glibc.patch b/recipes-devtools/clang/clang/0003-llvm-Do-not-assume-linux-glibc.patch
index 6a84485..036a9c1 100644
--- a/recipes-devtools/clang/clang/0003-llvm-Do-not-assume-linux-glibc.patch
+++ b/recipes-devtools/clang/clang/0003-llvm-Do-not-assume-linux-glibc.patch
@@ -1,4 +1,4 @@
1From 877eeefccde262eda3bd022fff2ad6d147a6ad54 Mon Sep 17 00:00:00 2001 1From 5a3de334d6e297d1d730548a479f194e4d907f54 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 15 Mar 2016 05:26:47 +0000 3Date: Tue, 15 Mar 2016 05:26:47 +0000
4Subject: [PATCH 3/4] llvm: Do not assume linux == glibc 4Subject: [PATCH 3/4] llvm: Do not assume linux == glibc
diff --git a/recipes-devtools/clang/clang/0004-clang-musl-ppc-does-not-support-128-bit-long-double.patch b/recipes-devtools/clang/clang/0004-clang-musl-ppc-does-not-support-128-bit-long-double.patch
index 8ac0151..eafbd9b 100644
--- a/recipes-devtools/clang/clang/0004-clang-musl-ppc-does-not-support-128-bit-long-double.patch
+++ b/recipes-devtools/clang/clang/0004-clang-musl-ppc-does-not-support-128-bit-long-double.patch
@@ -1,4 +1,4 @@
1From 5af772366531ed83ce42a2d6a86c1f5820f659a4 Mon Sep 17 00:00:00 2001 1From 042fc3b25ae43a4e478f825810be78e6053ae9ff Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 10 May 2016 02:00:11 -0700 3Date: Tue, 10 May 2016 02:00:11 -0700
4Subject: [PATCH 4/4] clang: musl/ppc does not support 128-bit long double 4Subject: [PATCH 4/4] clang: musl/ppc does not support 128-bit long double
@@ -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
11diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp 11diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
12index c205356..8146f21 100644 12index cd9c51a..06fb470 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@@ -1578,7 +1578,8 @@ public: 15@@ -1585,7 +1585,8 @@ public:
16 break; 16 break;
17 } 17 }
18 18
diff --git a/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
index 2dc16b2..9dec3c3 100644
--- a/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
+++ b/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
@@ -1,21 +1,21 @@
1From b1b73874dc3b81e6dd5e05b9f00b2010c9ab18fb Mon Sep 17 00:00:00 2001 1From 31b3fb49da19c4c729520c1333f3dc4cfbb57c0c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 21 May 2016 00:33:20 +0000 3Date: Sat, 21 May 2016 00:33:20 +0000
4Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are 4Subject: [PATCH 4/4] llvm: TargetLibraryInfo: Undefine libc functions if they
5 macros 5 are macros
6 6
7musl defines some functions as macros and not inline functions 7musl defines some functions as macros and not inline functions
8if this is the case then make sure to undefine them 8if this is the case then make sure to undefine them
9 9
10Signed-off-by: Khem Raj <raj.khem@gmail.com> 10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11--- 11---
12 include/llvm/Analysis/TargetLibraryInfo.def | 12 ++++++++++++ 12 include/llvm/Analysis/TargetLibraryInfo.def | 21 +++++++++++++++++++++
13 1 file changed, 12 insertions(+) 13 1 file changed, 21 insertions(+)
14 14
15Index: git/include/llvm/Analysis/TargetLibraryInfo.def 15diff --git a/include/llvm/Analysis/TargetLibraryInfo.def b/include/llvm/Analysis/TargetLibraryInfo.def
16=================================================================== 16index b2a593d..327894c 100644
17--- git.orig/include/llvm/Analysis/TargetLibraryInfo.def 17--- a/include/llvm/Analysis/TargetLibraryInfo.def
18+++ git/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")
20 TLI_DEFINE_ENUM_INTERNAL(fopen) 20 TLI_DEFINE_ENUM_INTERNAL(fopen)
21 TLI_DEFINE_STRING_INTERNAL("fopen") 21 TLI_DEFINE_STRING_INTERNAL("fopen")
@@ -86,3 +86,6 @@ Index: git/include/llvm/Analysis/TargetLibraryInfo.def
86 TLI_DEFINE_ENUM_INTERNAL(tmpfile64) 86 TLI_DEFINE_ENUM_INTERNAL(tmpfile64)
87 TLI_DEFINE_STRING_INTERNAL("tmpfile64") 87 TLI_DEFINE_STRING_INTERNAL("tmpfile64")
88 /// int toascii(int c); 88 /// int toascii(int c);
89--
902.8.2
91