summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2016-08-13 00:54:52 +0000
committerKhem Raj <raj.khem@gmail.com>2016-08-13 00:54:52 +0000
commit5d4b255b9ebd9c26bdb9616f27226cd9e9784ed1 (patch)
tree6e8d8cf44a272a57da0a7bb8c4102028b5b78c43
parent8c59e41422cb55942104dbe1c939ad0f0a74bf73 (diff)
downloadmeta-clang-5d4b255b9ebd9c26bdb9616f27226cd9e9784ed1.tar.gz
compiler-rt: Fix build on qemuarm
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes-devtools/clang/compiler-rt/0005-builtins-Specifiy-builtins-using-VFP-separately.patch147
-rw-r--r--recipes-devtools/clang/compiler-rt_git.bb1
2 files changed, 148 insertions, 0 deletions
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
new file mode 100644
index 0000000..5e7a43b
--- /dev/null
+++ b/recipes-devtools/clang/compiler-rt/0005-builtins-Specifiy-builtins-using-VFP-separately.patch
@@ -0,0 +1,147 @@
1From 59cffbd825a2f9c9c9b21d1314f7a2824e01a158 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 13 Aug 2016 00:33:15 +0000
4Subject: [PATCH] builtins: Specifiy builtins using VFP separately
5
6This helps in compiling compiler-rt for armv5
7using soft-float
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 lib/builtins/CMakeLists.txt | 84 +++++++++++++++++++++++----------------------
12 1 file changed, 43 insertions(+), 41 deletions(-)
13
14diff --git a/lib/builtins/CMakeLists.txt b/lib/builtins/CMakeLists.txt
15index 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--
1461.9.1
147
diff --git a/recipes-devtools/clang/compiler-rt_git.bb b/recipes-devtools/clang/compiler-rt_git.bb
index 6b67d00..7aa3fd6 100644
--- a/recipes-devtools/clang/compiler-rt_git.bb
+++ b/recipes-devtools/clang/compiler-rt_git.bb
@@ -21,6 +21,7 @@ SRC_URI = "${LLVM_GIT}/compiler-rt.git;protocol=${LLVM_GIT_PROTOCOL};branch=${B
21 file://0002-support-a-new-embedded-linux-target.patch \ 21 file://0002-support-a-new-embedded-linux-target.patch \
22 file://0003-Simplify-cross-compilation.-Don-t-use-native-compile.patch \ 22 file://0003-Simplify-cross-compilation.-Don-t-use-native-compile.patch \
23 file://0004-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 \
24" 25"
25 26
26SRCREV_FORMAT = "compiler-rt" 27SRCREV_FORMAT = "compiler-rt"