diff options
Diffstat (limited to 'recipes-devtools/clang/clang/0018-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch')
-rw-r--r-- | recipes-devtools/clang/clang/0018-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/recipes-devtools/clang/clang/0018-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch b/recipes-devtools/clang/clang/0018-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch new file mode 100644 index 0000000..70de0a3 --- /dev/null +++ b/recipes-devtools/clang/clang/0018-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch | |||
@@ -0,0 +1,67 @@ | |||
1 | From 26c596cf7f4c3fbac5df62a8f19ebca083fd4d2c Mon Sep 17 00:00:00 2001 | ||
2 | From: Oleksandr Ocheretnyi <oocheret@cisco.com> | ||
3 | Date: Wed, 15 Apr 2020 00:08:39 +0300 | ||
4 | Subject: [PATCH] clang: driver: Add dyld-prefix when checking sysroot for ldso | ||
5 | path | ||
6 | |||
7 | * the dyld-prefix shall be taken into account when the default | ||
8 | path for the dynamic linker has to be checked. | ||
9 | |||
10 | * this patch shall be used as annex to the next patch: | ||
11 | 'clang: driver: Check sysroot for ldso path' which includes | ||
12 | the usrmerge scenario. | ||
13 | |||
14 | Signed-off-by: Oleksandr Ocheretnyi <oocheret@cisco.com> | ||
15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
16 | --- | ||
17 | clang/lib/Driver/ToolChains/Linux.cpp | 16 ++++++++-------- | ||
18 | 1 file changed, 8 insertions(+), 8 deletions(-) | ||
19 | |||
20 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | ||
21 | index f9e233f15dfc..bf73b1ef27db 100644 | ||
22 | --- a/clang/lib/Driver/ToolChains/Linux.cpp | ||
23 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp | ||
24 | @@ -493,8 +493,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | ||
25 | LibDir = "lib64"; | ||
26 | Loader = | ||
27 | (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; | ||
28 | - if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && | ||
29 | - getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { | ||
30 | + if (!getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/" + LibDir + "/" + Loader) && | ||
31 | + getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/lib/" + Loader)) { | ||
32 | LibDir = "lib"; | ||
33 | } | ||
34 | break; | ||
35 | @@ -502,8 +502,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | ||
36 | LibDir = "lib64"; | ||
37 | Loader = | ||
38 | (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; | ||
39 | - if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && | ||
40 | - getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { | ||
41 | + if (!getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/" + LibDir + "/" + Loader) && | ||
42 | + getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/lib/" + Loader)) { | ||
43 | LibDir = "lib"; | ||
44 | } | ||
45 | break; | ||
46 | @@ -527,8 +527,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | ||
47 | case llvm::Triple::sparcv9: | ||
48 | LibDir = "lib64"; | ||
49 | Loader = "ld-linux.so.2"; | ||
50 | - if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && | ||
51 | - getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { | ||
52 | + if (!getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/" + LibDir + "/" + Loader) && | ||
53 | + getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/lib/" + Loader)) { | ||
54 | LibDir = "lib"; | ||
55 | } | ||
56 | break; | ||
57 | @@ -545,8 +545,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | ||
58 | |||
59 | LibDir = X32 ? "libx32" : "lib64"; | ||
60 | Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; | ||
61 | - if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && | ||
62 | - getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { | ||
63 | + if (!getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/" + LibDir + "/" + Loader) && | ||
64 | + getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/lib/" + Loader)) { | ||
65 | LibDir = "lib"; | ||
66 | } | ||
67 | break; | ||