diff options
Diffstat (limited to 'conf')
-rw-r--r-- | conf/layer.conf | 10 | ||||
-rw-r--r-- | conf/nonclangable.conf | 138 |
2 files changed, 87 insertions, 61 deletions
diff --git a/conf/layer.conf b/conf/layer.conf index fdea56c..19e348b 100644 --- a/conf/layer.conf +++ b/conf/layer.conf | |||
@@ -7,7 +7,7 @@ BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend" | |||
7 | BBFILE_COLLECTIONS += "clang-layer" | 7 | BBFILE_COLLECTIONS += "clang-layer" |
8 | BBFILE_PATTERN_clang-layer := "^${LAYERDIR}/" | 8 | BBFILE_PATTERN_clang-layer := "^${LAYERDIR}/" |
9 | BBFILE_PRIORITY_clang-layer = "7" | 9 | BBFILE_PRIORITY_clang-layer = "7" |
10 | LAYERSERIES_COMPAT_clang-layer = "zeus dunfell" | 10 | LAYERSERIES_COMPAT_clang-layer = "dunfell hardknott honister" |
11 | LAYERDEPENDS_clang-layer = "core" | 11 | LAYERDEPENDS_clang-layer = "core" |
12 | 12 | ||
13 | BBFILES_DYNAMIC += " \ | 13 | BBFILES_DYNAMIC += " \ |
@@ -17,6 +17,10 @@ BBFILES_DYNAMIC += " \ | |||
17 | openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \ | 17 | openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \ |
18 | networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bb \ | 18 | networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bb \ |
19 | networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bbappend \ | 19 | networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bbappend \ |
20 | stm-st-stm32mp:${LAYERDIR}/dynamic-layers/meta-st-stm32mp/recipes-*/*/*.bb \ | ||
21 | stm-st-stm32mp:${LAYERDIR}/dynamic-layers/meta-st-stm32mp/recipes-*/*/*.bbappend \ | ||
22 | intel:${LAYERDIR}/dynamic-layers/meta-intel/recipes-*/*/*.bb \ | ||
23 | intel:${LAYERDIR}/dynamic-layers/meta-intel/*/*/*.bbappend \ | ||
20 | " | 24 | " |
21 | 25 | ||
22 | PREFERRED_PROVIDER_libgcc-initial = "libgcc-initial" | 26 | PREFERRED_PROVIDER_libgcc-initial = "libgcc-initial" |
@@ -29,9 +33,7 @@ INHERIT += "clang" | |||
29 | # Do not include clang in SDK unless user wants to | 33 | # Do not include clang in SDK unless user wants to |
30 | CLANGSDK ??= "0" | 34 | CLANGSDK ??= "0" |
31 | 35 | ||
32 | LLVMVERSION = "10.0.1" | 36 | LLVMVERSION = "12.0.0" |
33 | 37 | ||
34 | require conf/nonclangable.conf | 38 | require conf/nonclangable.conf |
35 | require conf/nonscanable.conf | 39 | require conf/nonscanable.conf |
36 | |||
37 | NON_MULTILIB_RECIPES_append = " bcc bpftrace" | ||
diff --git a/conf/nonclangable.conf b/conf/nonclangable.conf index 6ef16fe..f2bee64 100644 --- a/conf/nonclangable.conf +++ b/conf/nonclangable.conf | |||
@@ -1,7 +1,4 @@ | |||
1 | #babeltrace2: ELF binary /usr/lib/babeltrace2/plugins/babeltrace-plugin-text.so has relocations in .text [textrel] | ||
2 | TOOLCHAIN_pn-babeltrace2 = "gcc" | ||
3 | TOOLCHAIN_pn-u-boot = "gcc" | 1 | TOOLCHAIN_pn-u-boot = "gcc" |
4 | TOOLCHAIN_pn-cpufrequtils = "gcc" | ||
5 | # crash embeds version of gdb which is not buildable with clang | 2 | # crash embeds version of gdb which is not buildable with clang |
6 | TOOLCHAIN_pn-crash = "gcc" | 3 | TOOLCHAIN_pn-crash = "gcc" |
7 | TOOLCHAIN_pn-elfutils = "gcc" | 4 | TOOLCHAIN_pn-elfutils = "gcc" |
@@ -38,6 +35,15 @@ TOOLCHAIN_pn-libgcc = "gcc" | |||
38 | TOOLCHAIN_pn-libgcc-initial = "gcc" | 35 | TOOLCHAIN_pn-libgcc-initial = "gcc" |
39 | TOOLCHAIN_pn-libgfortran = "gcc" | 36 | TOOLCHAIN_pn-libgfortran = "gcc" |
40 | TOOLCHAIN_pn-libssp-nonshared = "gcc" | 37 | TOOLCHAIN_pn-libssp-nonshared = "gcc" |
38 | |||
39 | # Dunfell is not affected by the ell and iwd breakages. | ||
40 | # Once we update past dunfell, patches to fix it properly | ||
41 | # can be found in OpenMandriva packages. | ||
42 | # ell 0.39 introduced nested functions sadly | ||
43 | #TOOLCHAIN_pn-ell = "gcc" | ||
44 | # iwd 1.13 introduced nested functions sadly | ||
45 | #TOOLCHAIN_pn-iwd = "gcc" | ||
46 | |||
41 | #| cargo:warning=/mnt/a/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/libstd-rs/1.27.1-r0/re | 47 | #| cargo:warning=/mnt/a/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/libstd-rs/1.27.1-r0/re |
42 | #cipe-sysroot/usr/include/bits/stdlib.h:90:3: error: "Assumed value of MB_LEN_MAX wrong" | 48 | #cipe-sysroot/usr/include/bits/stdlib.h:90:3: error: "Assumed value of MB_LEN_MAX wrong" |
43 | #| cargo:warning=# error "Assumed value of MB_LEN_MAX wrong" | 49 | #| cargo:warning=# error "Assumed value of MB_LEN_MAX wrong" |
@@ -49,8 +55,6 @@ TOOLCHAIN_pn-m4_powerpc = "gcc" | |||
49 | #TOOLCHAIN_pn-mesa_mipsel = "gcc" | 55 | #TOOLCHAIN_pn-mesa_mipsel = "gcc" |
50 | TOOLCHAIN_pn-mesa_riscv64 = "gcc" | 56 | TOOLCHAIN_pn-mesa_riscv64 = "gcc" |
51 | TOOLCHAIN_pn-mesa_powerpc = "gcc" | 57 | TOOLCHAIN_pn-mesa_powerpc = "gcc" |
52 | # multiple definition of 'mongo::error_details::isNamedCode<0>' | ||
53 | TOOLCHAIN_pn-mongodb = "gcc" | ||
54 | # variant-impl.hpp:309:36: error: 'is_variant' does not name a template but is followed by template arguments | 58 | # variant-impl.hpp:309:36: error: 'is_variant' does not name a template but is followed by template arguments |
55 | TOOLCHAIN_pn-omxplayer = "gcc" | 59 | TOOLCHAIN_pn-omxplayer = "gcc" |
56 | # error: return address can be determined only for current frame | 60 | # error: return address can be determined only for current frame |
@@ -63,14 +67,13 @@ TOOLCHAIN_pn-prelink = "gcc" | |||
63 | # Qemu cant run profile tests run during build | 67 | # Qemu cant run profile tests run during build |
64 | # | *** stack smashing detected ***: terminated | 68 | # | *** stack smashing detected ***: terminated |
65 | # | ./pgo-wrapper: line 3: 3372346 Aborted | 69 | # | ./pgo-wrapper: line 3: 3372346 Aborted |
66 | TOOLCHAIN_pn-python3 = "gcc" | 70 | #TOOLCHAIN_pn-python3 = "gcc" |
67 | # has dpkg source which does not compile | 71 | # has dpkg source which does not compile |
68 | TOOLCHAIN_pn-start-stop-daemon = "gcc" | 72 | TOOLCHAIN_pn-start-stop-daemon = "gcc" |
69 | TOOLCHAIN_pn-syslinux = "gcc" | 73 | TOOLCHAIN_pn-syslinux = "gcc" |
70 | TOOLCHAIN_pn-systemtap = "gcc" | 74 | TOOLCHAIN_pn-systemtap = "gcc" |
71 | # v4l-utils uses nested functions | 75 | # v4l-utils uses nested functions |
72 | TOOLCHAIN_pn-v4l-utils = "gcc" | 76 | TOOLCHAIN_pn-v4l-utils = "gcc" |
73 | TOOLCHAIN_pn-valgrind = "gcc" | ||
74 | # uses C++ which clang does not like | 77 | # uses C++ which clang does not like |
75 | TOOLCHAIN_pn-wvstreams = "gcc" | 78 | TOOLCHAIN_pn-wvstreams = "gcc" |
76 | TOOLCHAIN_pn-wvdial = "gcc" | 79 | TOOLCHAIN_pn-wvdial = "gcc" |
@@ -90,16 +93,16 @@ TOOLCHAIN_pn-icu_armv5 = "gcc" | |||
90 | #../../libgcrypt-1.6.5/mpi/mpih-div.c:98:3: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions | 93 | #../../libgcrypt-1.6.5/mpi/mpih-div.c:98:3: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions |
91 | TOOLCHAIN_pn-libgcrypt_mips64 = "gcc" | 94 | TOOLCHAIN_pn-libgcrypt_mips64 = "gcc" |
92 | 95 | ||
93 | #| ../../pixman-0.34.0/test/utils-prng.c:131:29: error: cannot convert between vector type '__attribute__((__vector_size__(16 * sizeof(char)))) char' (vector of 16 'char' values) and vector type 'uint8x16' (vector of 16 'uint8_t' values) as implicit conversion would cause truncation | 96 | # 32-bit assembly code in pixman uses gas specific extensions |
94 | #| randdata.vb |= (t.vb >= const_C0#); | 97 | CFLAGS_append_pn-pixman_toolchain-clang_arm = " -fno-integrated-as" |
95 | #| ^ | 98 | # debug information generated by clang 12 confuses the older |
96 | # also see http://lists.llvm.org/pipermail/llvm-dev/2016-October/105997.html | 99 | # external gas version |
97 | TOOLCHAIN_pn-pixman = "gcc" | 100 | DEBUG_FLAGS_remove_pn-pixman_toolchain-clang_arm = "-g" |
98 | 101 | ||
99 | #recipe-sysroot/usr/include/mozjs-60/mozilla/Span.h:634:5: error: statement not allowed in constexpr function | 102 | #recipe-sysroot/usr/include/mozjs-60/mozilla/Span.h:634:5: error: statement not allowed in constexpr function |
100 | #| MOZ_RELEASE_ASSERT(aStart <= len && (aLength == dynamic_extent || | 103 | #| MOZ_RELEASE_ASSERT(aStart <= len && (aLength == dynamic_extent || |
101 | #| ^ | 104 | #| ^ |
102 | TOOLCHAIN_pn-polkit = "gcc" | 105 | #TOOLCHAIN_pn-polkit = "gcc" |
103 | 106 | ||
104 | #| ./ports/linux/pseudo_wrappers.c:80:14: error: use of unknown builtin '__builtin_apply' [-Wimplicit-function-declaration] | 107 | #| ./ports/linux/pseudo_wrappers.c:80:14: error: use of unknown builtin '__builtin_apply' [-Wimplicit-function-declaration] |
105 | #| void *res = __builtin_apply((void (*)()) real_syscall, __builtin_apply_args(), sizeof(long) * 7); | 108 | #| void *res = __builtin_apply((void (*)()) real_syscall, __builtin_apply_args(), sizeof(long) * 7); |
@@ -117,9 +120,6 @@ TOOLCHAIN_pn-pulseaudio_aarch64 = "gcc" | |||
117 | TOOLCHAIN_pn-pulseaudio_armv7ve = "gcc" | 120 | TOOLCHAIN_pn-pulseaudio_armv7ve = "gcc" |
118 | TOOLCHAIN_pn-pulseaudio_armv7a = "gcc" | 121 | TOOLCHAIN_pn-pulseaudio_armv7a = "gcc" |
119 | 122 | ||
120 | # clang++ hangs see https://bugs.llvm.org/show_bug.cgi?id=45134 | ||
121 | DEBUG_FLAGS_remove_pn-sqlite-orm_toolchain-clang = "-g" | ||
122 | |||
123 | #| /usr/src/debug/qemu/2.6.0-r1/qemu-2.6.0/util/bitmap.c:191: undefined reference to `__atomic_fetch_or_4' | 123 | #| /usr/src/debug/qemu/2.6.0-r1/qemu-2.6.0/util/bitmap.c:191: undefined reference to `__atomic_fetch_or_4' |
124 | #| /usr/src/debug/qemu/2.6.0-r1/qemu-2.6.0/util/bitmap.c:210: undefined reference to `__atomic_fetch_or_4' | 124 | #| /usr/src/debug/qemu/2.6.0-r1/qemu-2.6.0/util/bitmap.c:210: undefined reference to `__atomic_fetch_or_4' |
125 | #| libqemuutil.a(bitmap.o): In function `bitmap_test_and_clear_atomic': | 125 | #| libqemuutil.a(bitmap.o): In function `bitmap_test_and_clear_atomic': |
@@ -142,6 +142,10 @@ TOOLCHAIN_pn-lttng-ust_riscv64 = "gcc" | |||
142 | #| ../libffi-3.3-rc0/src/arm/sysv.S:132: Error: selected processor does not support `vldmgt sp,{d0-d7}' in ARM mode | 142 | #| ../libffi-3.3-rc0/src/arm/sysv.S:132: Error: selected processor does not support `vldmgt sp,{d0-d7}' in ARM mode |
143 | TOOLCHAIN_pn-libffi_armeb = "gcc" | 143 | TOOLCHAIN_pn-libffi_armeb = "gcc" |
144 | 144 | ||
145 | # Clang/mips still generates __sync_fetch_and_add_8 instead of __atomic_fetch_add_8 so it can't even use | ||
146 | # libatomic to provide these functions, therefore can not compile redis on mips | ||
147 | TOOLCHAIN_pn-redis_mips = "gcc" | ||
148 | |||
145 | CFLAGS_append_pn-liboil_toolchain-clang_x86-64 = " -fheinous-gnu-extensions " | 149 | CFLAGS_append_pn-liboil_toolchain-clang_x86-64 = " -fheinous-gnu-extensions " |
146 | 150 | ||
147 | #io_getevents.c:25:141: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions | 151 | #io_getevents.c:25:141: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions |
@@ -151,10 +155,6 @@ CFLAGS_append_pn-libaio_toolchain-clang_mips = " -fheinous-gnu-extensions" | |||
151 | #| error: unknown warning option '-Wimplicit-fallthrough=0'; did you mean '-Wimplicit-fallthrough'? [-Werror,-Wunknown-warning-option] | 155 | #| error: unknown warning option '-Wimplicit-fallthrough=0'; did you mean '-Wimplicit-fallthrough'? [-Werror,-Wunknown-warning-option] |
152 | CFLAGS_append_pn-mdadm_toolchain-clang = " -Wno-error=unknown-warning-option" | 156 | CFLAGS_append_pn-mdadm_toolchain-clang = " -Wno-error=unknown-warning-option" |
153 | 157 | ||
154 | #../libffi-3.2.1/src/arm/sysv.S:363:2: error: invalid instruction, did you mean: fldmiax? | ||
155 | # fldmiadgt ip, {d0-d7} | ||
156 | CFLAGS_append_pn-libffi_arm_toolchain-clang = " -no-integrated-as" | ||
157 | |||
158 | # ../db-5.3.28/src/mutex/mut_tas.c:150:34: error: unknown directive | 158 | # ../db-5.3.28/src/mutex/mut_tas.c:150:34: error: unknown directive |
159 | #<inline asm>:9:2: note: instantiated into assembly here | 159 | #<inline asm>:9:2: note: instantiated into assembly here |
160 | # .force_thumb | 160 | # .force_thumb |
@@ -166,17 +166,6 @@ CFLAGS_append_pn-libffi_arm_toolchain-clang = " -no-integrated-as" | |||
166 | #| ^ | 166 | #| ^ |
167 | CFLAGS_append_pn-directfb_toolchain-clang_arm = " -no-integrated-as" | 167 | CFLAGS_append_pn-directfb_toolchain-clang_arm = " -no-integrated-as" |
168 | 168 | ||
169 | # Disable internal assembler for armv7 since it uses gnu assmebly syntax | ||
170 | # which should be preprocessed via gcc/compiler | ||
171 | # | ||
172 | CFLAGS_append_pn-openssl_toolchain-clang_armv7ve = " -no-integrated-as" | ||
173 | CFLAGS_append_pn-openssl_toolchain-clang_armv7a = " -no-integrated-as" | ||
174 | |||
175 | #| crypto/bn/bn-mips.S:671:2: error: unknown instruction, did you mean: bgeu, sgtu, tgeu? | ||
176 | #| sgeu $1,$4,$6 | ||
177 | #| ^ | ||
178 | CC_append_pn-openssl_toolchain-clang_mipsarch = " -no-integrated-as" | ||
179 | |||
180 | CFLAGS_append_pn-userland_toolchain-clang = " -no-integrated-as" | 169 | CFLAGS_append_pn-userland_toolchain-clang = " -no-integrated-as" |
181 | 170 | ||
182 | # libjpeg-turbo-2.0.2/simd/mips/jsimd_dspr2.S | 171 | # libjpeg-turbo-2.0.2/simd/mips/jsimd_dspr2.S |
@@ -207,12 +196,27 @@ CFLAGS_append_pn-tinymembench_toolchain-clang_mipsarch = " -no-integrated-as" | |||
207 | CFLAGS_append_pn-ne10_toolchain-clang_arm = " -no-integrated-as" | 196 | CFLAGS_append_pn-ne10_toolchain-clang_arm = " -no-integrated-as" |
208 | CFLAGS_append_pn-libde265_toolchain-clang_arm = " -no-integrated-as" | 197 | CFLAGS_append_pn-libde265_toolchain-clang_arm = " -no-integrated-as" |
209 | 198 | ||
210 | # :5 : error: unknown directive | 199 | # :5 : error: unknown directive |
211 | #^ | 200 | #^ |
212 | # .endfunc | 201 | # .endfunc |
213 | # ^ | 202 | # ^ |
214 | CFLAGS_append_pn-libsdl2_toolchain-clang_arm = " -no-integrated-as" | 203 | CFLAGS_append_pn-libsdl2_toolchain-clang_arm = " -no-integrated-as" |
215 | 204 | ||
205 | #2816:2: error: changed section type for .debug_frame, expected: 0x7000001E | ||
206 | # .section .debug_frame,"",@progbits | ||
207 | # ^ | ||
208 | #lj_vm.S:2890:2: error: changed section flags for .eh_frame, expected: 0x2 | ||
209 | # .section .eh_frame,"aw",@progbits | ||
210 | # ^ | ||
211 | CFLAGS_append_pn-luajit_toolchain-clang_mips = " -no-integrated-as" | ||
212 | |||
213 | # Generated asm file can not be compiled with clang assembler due to presence of .0 label | ||
214 | # and its references | ||
215 | #| aes-decrypt-internal-2.s:368:1: error: unexpected token at start of statement | ||
216 | #| .0: | ||
217 | #| ^ | ||
218 | CFLAGS_append_pn-nettle_toolchain-clang_powerpc64le = " -no-integrated-as" | ||
219 | |||
216 | # regtest.cc:374:39: error: invalid suffix on literal; C++11 requires a | 220 | # regtest.cc:374:39: error: invalid suffix on literal; C++11 requires a |
217 | # space between literal and identifier [-Wreserved-user-defined-literal] | 221 | # space between literal and identifier [-Wreserved-user-defined-literal] |
218 | #| snprintf_func (buf, sizeof(buf), "%"Q"u", x); | 222 | #| snprintf_func (buf, sizeof(buf), "%"Q"u", x); |
@@ -236,46 +240,53 @@ TUNE_CCARGS_remove_pn-nfs-utils_toolchain-clang = "-Qunused-arguments" | |||
236 | 240 | ||
237 | # We want to error out when -msse option is used otherwise it enables sse on non-x86 arches | 241 | # We want to error out when -msse option is used otherwise it enables sse on non-x86 arches |
238 | TUNE_CCARGS_remove_pn-pipewire_toolchain-clang = "-Qunused-arguments" | 242 | TUNE_CCARGS_remove_pn-pipewire_toolchain-clang = "-Qunused-arguments" |
243 | TUNE_CCARGS_remove_pn-tesseract_toolchain-clang = "-Qunused-arguments" | ||
244 | TUNE_CCARGS_remove_pn-pulseaudio_toolchain-clang = "-Qunused-arguments" | ||
239 | 245 | ||
240 | #| /usr/src/debug/ruby/2.5.1-r0/build/../ruby-2.5.1/process.c:7073: undefined reference to `__mulodi4' | 246 | #| /usr/src/debug/ruby/2.5.1-r0/build/../ruby-2.5.1/process.c:7073: undefined reference to `__mulodi4' |
241 | #| clang-7: error: linker command failed with exit code 1 (use -v to see invocation) | 247 | #| clang-7: error: linker command failed with exit code 1 (use -v to see invocation) |
242 | COMPILER_RT_pn-ruby_toolchain-clang = "--rtlib=compiler-rt ${UNWINDLIB}" | 248 | COMPILER_RT_pn-ruby_toolchain-clang = "-rtlib=compiler-rt ${UNWINDLIB}" |
243 | COMPILER_RT_pn-python3_toolchain-clang = "--rtlib=compiler-rt ${UNWINDLIB}" | 249 | COMPILER_RT_pn-python3_toolchain-clang = "-rtlib=compiler-rt ${UNWINDLIB}" |
244 | COMPILER_RT_pn-m4_toolchain-clang = "--rtlib=compiler-rt ${UNWINDLIB}" | 250 | COMPILER_RT_pn-m4_toolchain-clang = "-rtlib=compiler-rt ${UNWINDLIB}" |
245 | COMPILER_RT_pn-cpio_toolchain-clang = "--rtlib=compiler-rt ${UNWINDLIB}" | 251 | COMPILER_RT_pn-cpio_toolchain-clang = "-rtlib=compiler-rt ${UNWINDLIB}" |
246 | COMPILER_RT_pn-webkitgtk_toolchain-clang = "--rtlib=compiler-rt ${UNWINDLIB}" | 252 | COMPILER_RT_pn-openssh_toolchain-clang = "-rtlib=compiler-rt ${UNWINDLIB}" |
247 | COMPILER_RT_pn-wpewebkit_toolchain-clang = "--rtlib=compiler-rt ${UNWINDLIB}" | 253 | COMPILER_RT_pn-webkitgtk_toolchain-clang = "-rtlib=compiler-rt ${UNWINDLIB}" |
248 | COMPILER_RT_remove_pn-m4_powerpc = "--rtlib=compiler-rt" | 254 | COMPILER_RT_pn-wpewebkit_toolchain-clang = "-rtlib=compiler-rt ${UNWINDLIB}" |
249 | COMPILER_RT_remove_pn-ruby_powerpc = "--rtlib=compiler-rt" | 255 | COMPILER_RT_pn-python3-numpy_toolchain-clang = "-rtlib=compiler-rt ${UNWINDLIB}" |
250 | COMPILER_RT_remove_pn-webkitgtk_powerpc = "--rtlib=compiler-rt" | 256 | COMPILER_RT_remove_pn-m4_powerpc = "-rtlib=compiler-rt" |
251 | COMPILER_RT_remove_pn-m4_armeb = "--rtlib=compiler-rt" | 257 | COMPILER_RT_remove_pn-ruby_powerpc = "-rtlib=compiler-rt" |
252 | COMPILER_RT_remove_pn-ruby_armeb = "--rtlib=compiler-rt" | 258 | COMPILER_RT_remove_pn-webkitgtk_powerpc = "-rtlib=compiler-rt" |
253 | COMPILER_RT_remove_pn-webkitgtk_armeb = "--rtlib=compiler-rt" | 259 | COMPILER_RT_remove_pn-m4_armeb = "-rtlib=compiler-rt" |
260 | COMPILER_RT_remove_pn-ruby_armeb = "-rtlib=compiler-rt" | ||
261 | COMPILER_RT_remove_pn-webkitgtk_armeb = "-rtlib=compiler-rt" | ||
262 | |||
263 | # build/lib/libQt5Widgets.so: undefined reference to `__lshrti3' | ||
264 | # __lshrti3 is missing in libgcc | ||
265 | COMPILER_RT_pn-qtbase_toolchain-clang_riscv32 = "-rtlib=compiler-rt ${UNWINDLIB}" | ||
254 | 266 | ||
255 | LDFLAGS_append_pn-gnutls_toolchain-clang_riscv64 = " -latomic" | 267 | LDFLAGS_append_pn-gnutls_toolchain-clang_riscv64 = " -latomic" |
256 | LDFLAGS_append_pn-harfbuzz_toolchain-clang_riscv64 = " -latomic" | 268 | LDFLAGS_append_pn-harfbuzz_toolchain-clang_riscv64 = " -latomic" |
257 | LDFLAGS_append_pn-qtwebengine_toolchain-clang_runtime-gnu_x86 = " -latomic" | 269 | LDFLAGS_append_pn-qtwebengine_toolchain-clang_runtime-gnu_x86 = " -latomic" |
270 | LDFLAGS_append_pn-qemu_toolchain-clang_runtime-gnu_x86 = " -latomic" | ||
258 | 271 | ||
259 | # glibc is built with gcc and hence encodes some libgcc specific builtins which are not found | 272 | # glibc is built with gcc and hence encodes some libgcc specific builtins which are not found |
260 | # when doing static linking with clang using compiler-rt, so use libgcc | 273 | # when doing static linking with clang using compiler-rt, so use libgcc |
261 | # undefined reference to `__unordtf2' | 274 | # undefined reference to `__unordtf2' |
262 | COMPILER_RT_pn-libc-bench_libc-glibc_toolchain-clang_x86 = "--rtlib=libgcc" | 275 | COMPILER_RT_pn-libc-bench_libc-glibc_toolchain-clang_x86 = "-rtlib=libgcc" |
263 | COMPILER_RT_pn-aufs-util_libc-glibc_toolchain-clang_x86 = "--rtlib=libgcc" | 276 | COMPILER_RT_pn-aufs-util_libc-glibc_toolchain-clang_x86 = "-rtlib=libgcc" |
264 | COMPILER_RT_pn-libhugetlbfs_libc-glibc_toolchain-clang_x86 = "--rtlib=libgcc" | 277 | COMPILER_RT_pn-libhugetlbfs_libc-glibc_toolchain-clang_x86 = "-rtlib=libgcc" |
265 | COMPILER_RT_pn-tsocks_libc-glibc_toolchain-clang_x86 = "--rtlib=libgcc" | 278 | COMPILER_RT_pn-tsocks_libc-glibc_toolchain-clang_x86 = "-rtlib=libgcc" |
266 | COMPILER_RT_pn-libc-bench_libc-glibc_toolchain-clang_x86-64 = "--rtlib=libgcc" | 279 | COMPILER_RT_pn-libc-bench_libc-glibc_toolchain-clang_x86-64 = "-rtlib=libgcc" |
267 | COMPILER_RT_pn-aufs-util_libc-glibc_toolchain-clang_x86-64 = "--rtlib=libgcc" | 280 | COMPILER_RT_pn-aufs-util_libc-glibc_toolchain-clang_x86-64 = "-rtlib=libgcc" |
268 | COMPILER_RT_pn-libhugetlbfs_libc-glibc_toolchain-clang_x86-64 = "--rtlib=libgcc" | 281 | COMPILER_RT_pn-libhugetlbfs_libc-glibc_toolchain-clang_x86-64 = "-rtlib=libgcc" |
269 | COMPILER_RT_pn-tsocks_libc-glibc_toolchain-clang_x86-64 = "--rtlib=libgcc" | 282 | COMPILER_RT_pn-tsocks_libc-glibc_toolchain-clang_x86-64 = "-rtlib=libgcc" |
270 | 283 | ||
271 | #(unwind.o): in function `__pthread_unwind': | 284 | #(unwind.o): in function `__pthread_unwind': |
272 | #/usr/src/debug/glibc/2.29-r0/git/nptl/unwind.c:121: undefined reference to `_Unwind_ForcedUnwind' | 285 | #/usr/src/debug/glibc/2.29-r0/git/nptl/unwind.c:121: undefined reference to `_Unwind_ForcedUnwind' |
273 | #clang-8: error: linker command failed with exit code 1 (use -v to see invocation) | 286 | #clang-8: error: linker command failed with exit code 1 (use -v to see invocation) |
274 | COMPILER_RT_pn-libc-bench_libc-glibc_toolchain-clang_arm = "--rtlib=libgcc" | 287 | COMPILER_RT_pn-libc-bench_libc-glibc_toolchain-clang_arm = "-rtlib=libgcc" |
275 | COMPILER_RT_pn-aufs-util_libc-glibc_toolchain-clang_arm = "--rtlib=libgcc" | 288 | COMPILER_RT_pn-aufs-util_libc-glibc_toolchain-clang_arm = "-rtlib=libgcc" |
276 | COMPILER_RT_pn-libhugetlbfs_libc-glibc_toolchain-clang_arm = "--rtlib=libgcc" | 289 | COMPILER_RT_pn-libhugetlbfs_libc-glibc_toolchain-clang_arm = "-rtlib=libgcc" |
277 | |||
278 | RUNTIME_pn-gerbera_toolchain-clang = "llvm" | ||
279 | 290 | ||
280 | # Uses gcc for native tools, e.g. nsinstall and passes clang options which fails so | 291 | # Uses gcc for native tools, e.g. nsinstall and passes clang options which fails so |
281 | # let same compiler ( gcc or clang) be native/cross compiler | 292 | # let same compiler ( gcc or clang) be native/cross compiler |
@@ -291,3 +302,16 @@ BUILD_CC_pn-nss_toolchain-clang = "clang" | |||
291 | CXXFLAGS_append_pn-apt_toolchain-clang = " -Wno-c++11-narrowing" | 302 | CXXFLAGS_append_pn-apt_toolchain-clang = " -Wno-c++11-narrowing" |
292 | lcl_maybe_fortify_pn-apt_toolchain-clang = "" | 303 | lcl_maybe_fortify_pn-apt_toolchain-clang = "" |
293 | 304 | ||
305 | # LTO | ||
306 | # Seems to use symver ASMs see https://stackoverflow.com/questions/46304742/how-to-combine-lto-with-symbol-versioning | ||
307 | # lib/puny_encode.c:136: multiple definition of `_idn2_punycode_encode' | ||
308 | LTO_pn-libidn2_toolchain-clang = "" | ||
309 | |||
310 | #libcairo.so: undefined reference to pthread_mutexattr_init [--no-allow-shlib-undefined] | ||
311 | LTO_pn-cairo_toolchain-clang = "" | ||
312 | |||
313 | # Hardcoded gcc use in makefiles | ||
314 | TOOLCHAIN_pn-u-boot-stm32mp = "gcc" | ||
315 | TOOLCHAIN_pn-tf-a-stm32mp = "gcc" | ||
316 | TOOLCHAIN_pn-tf-a-stm32mp-serialboot = "gcc" | ||
317 | TOOLCHAIN_pn-u-boot-seco-imx = "gcc" | ||