xref: /OK3568_Linux_fs/yocto/meta-clang/conf/nonclangable.conf (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#babeltrace2: ELF binary /usr/lib/babeltrace2/plugins/babeltrace-plugin-text.so has relocations in .text [textrel]
2*4882a593SmuzhiyunTOOLCHAIN:pn-babeltrace2 = "gcc"
3*4882a593SmuzhiyunTOOLCHAIN:pn-u-boot = "gcc"
4*4882a593SmuzhiyunTOOLCHAIN:pn-cpufrequtils = "gcc"
5*4882a593Smuzhiyun# crash embeds version of gdb which is not buildable with clang
6*4882a593SmuzhiyunTOOLCHAIN:pn-crash = "gcc"
7*4882a593SmuzhiyunTOOLCHAIN:pn-elfutils = "gcc"
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun#| erl_bits.c:(.text+0xc2a): undefined reference to `__extendhfsf2'
10*4882a593Smuzhiyun#| erl_bits.c:(.text+0x1bfa): undefined reference to `__truncsfhf2'
11*4882a593Smuzhiyun#| clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
12*4882a593Smuzhiyun# both riscv64 and x86-64
13*4882a593SmuzhiyunTOOLCHAIN:pn-erlang = "gcc"
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun# /mnt/a/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/firefox/60.1.0esr-r0/recipe-sysroot-native/usr/lib/clang/7.0.1/include/arm_neon.h:433:1: error: unknown type name 'inline'
16*4882a593Smuzhiyun# __ai uint8x16_t vabdq_u8(uint8x16_t __p0, uint8x16_t __p1) {
17*4882a593SmuzhiyunTOOLCHAIN:pn-firefox = "gcc"
18*4882a593SmuzhiyunTOOLCHAIN:pn-gcc = "gcc"
19*4882a593SmuzhiyunTOOLCHAIN:pn-gcc-runtime = "gcc"
20*4882a593SmuzhiyunTOOLCHAIN:pn-gcc-sanitizers = "gcc"
21*4882a593SmuzhiyunTOOLCHAIN:pn-glibc = "gcc"
22*4882a593SmuzhiyunTOOLCHAIN:pn-glibc-initial = "gcc"
23*4882a593SmuzhiyunTOOLCHAIN:pn-glibc-locale = "gcc"
24*4882a593SmuzhiyunTOOLCHAIN:pn-glibc-mtrace = "gcc"
25*4882a593SmuzhiyunTOOLCHAIN:pn-glibc-scripts = "gcc"
26*4882a593SmuzhiyunTOOLCHAIN:pn-glibc-testsuite = "gcc"
27*4882a593SmuzhiyunTOOLCHAIN:pn-glibc-tests = "gcc"
28*4882a593SmuzhiyunTOOLCHAIN:pn-grub = "gcc"
29*4882a593SmuzhiyunTOOLCHAIN:pn-grub-efi = "gcc"
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun#| prelink-rtld: error while loading shared libraries: ld.so.1
32*4882a593Smuzhiyun#| /lib64/ld.so.1: No such file or directory
33*4882a593SmuzhiyunTOOLCHAIN:pn-gobject-intospection:mips64 = "gcc"
34*4882a593SmuzhiyunTOOLCHAIN:pn-avahi:mips64 = "gcc"
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun# VLAs
37*4882a593Smuzhiyun#| control.c:286:19: error: fields must have a constant size: 'variable length array in structure' extension will never be supported
38*4882a593Smuzhiyun#|             __u32 buffer[cam->max_response_quads];
39*4882a593Smuzhiyun#|                   ^
40*4882a593Smuzhiyun#| 1 error generated.
41*4882a593SmuzhiyunTOOLCHAIN:pn-libdc1394 = "gcc"
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun# error: return address can be determined only for current frame
44*4882a593SmuzhiyunTOOLCHAIN:pn-libexecinfo:mipsarch = "gcc"
45*4882a593SmuzhiyunTOOLCHAIN:pn-libgcc = "gcc"
46*4882a593SmuzhiyunTOOLCHAIN:pn-libgcc-initial = "gcc"
47*4882a593SmuzhiyunTOOLCHAIN:pn-libgfortran = "gcc"
48*4882a593SmuzhiyunTOOLCHAIN:pn-libssp-nonshared = "gcc"
49*4882a593Smuzhiyun
50*4882a593SmuzhiyunTOOLCHAIN:pn-m4:powerpc = "gcc"
51*4882a593Smuzhiyun# clang does not have 64bit atomics on ppc
52*4882a593SmuzhiyunTOOLCHAIN:pn-mesa:powerpc = "gcc"
53*4882a593Smuzhiyun# clang fails with db.c:(.text+0x188): unsupported bss-plt -fPIC ifunc mmio_write64_be
54*4882a593SmuzhiyunTOOLCHAIN:pn-rdma-core:powerpc = "gcc"
55*4882a593Smuzhiyun# usermode qemu crashes when running binaries from clang + rust compiler on ppc32
56*4882a593SmuzhiyunTOOLCHAIN:pn-librsvg:powerpc = "gcc"
57*4882a593Smuzhiyun# variant-impl.hpp:309:36: error: 'is_variant' does not name a template but is followed by template arguments
58*4882a593SmuzhiyunTOOLCHAIN:pn-omxplayer = "gcc"
59*4882a593Smuzhiyun# error: return address can be determined only for current frame
60*4882a593SmuzhiyunTOOLCHAIN:pn-openflow:mipsarch = "gcc"
61*4882a593SmuzhiyunTOOLCHAIN:pn-openjdk-8 = "gcc"
62*4882a593SmuzhiyunTOOLCHAIN:pn-openjre-8 = "gcc"
63*4882a593SmuzhiyunTOOLCHAIN:pn-syslinux = "gcc"
64*4882a593SmuzhiyunTOOLCHAIN:pn-systemtap = "gcc"
65*4882a593Smuzhiyun# v4l-utils uses nested functions
66*4882a593SmuzhiyunTOOLCHAIN:pn-v4l-utils = "gcc"
67*4882a593SmuzhiyunTOOLCHAIN:pn-valgrind = "gcc"
68*4882a593Smuzhiyun# uses C++ which clang does not like
69*4882a593SmuzhiyunTOOLCHAIN:pn-wvstreams = "gcc"
70*4882a593SmuzhiyunTOOLCHAIN:pn-wvdial = "gcc"
71*4882a593Smuzhiyun#| ../../mpfr-3.1.4/src/mul.c:324:11: error: invalid output constraint '=h' in asm
72*4882a593Smuzhiyun#|           umul_ppmm (tmp[1], tmp[0], MPFR_MANT (b)[0], MPFR_MANT (c)[0]);
73*4882a593SmuzhiyunTOOLCHAIN:pn-mpfr:mips = "gcc"
74*4882a593SmuzhiyunTOOLCHAIN:pn-mpfr:mips64 = "gcc"
75*4882a593Smuzhiyun#
76*4882a593Smuzhiyun#../../lib/libicui18n.so: undefined reference to `__atomic_fetch_sub_4'
77*4882a593Smuzhiyun#../../lib/libicui18n.so: undefined reference to `__atomic_load_4'
78*4882a593Smuzhiyun#../../lib/libicui18n.so: undefined reference to `__atomic_store_4'
79*4882a593Smuzhiyun#../../lib/libicui18n.so: undefined reference to `__atomic_fetch_add_4'
80*4882a593Smuzhiyun#
81*4882a593SmuzhiyunTOOLCHAIN:pn-icu:armv4 = "gcc"
82*4882a593SmuzhiyunTOOLCHAIN:pn-icu:armv5 = "gcc"
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun#../../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
85*4882a593SmuzhiyunTOOLCHAIN:pn-libgcrypt:mips64 = "gcc"
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun#recipe-sysroot/usr/include/mozjs-60/mozilla/Span.h:634:5: error: statement not allowed in constexpr function
88*4882a593Smuzhiyun#|     MOZ_RELEASE_ASSERT(aStart <= len && (aLength == dynamic_extent ||
89*4882a593Smuzhiyun#|     ^
90*4882a593SmuzhiyunTOOLCHAIN:pn-polkit = "gcc"
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun# ppp uses nested functions and gcc specific option e.g. --print-sysroot
93*4882a593Smuzhiyun#
94*4882a593SmuzhiyunTOOLCHAIN:pn-ppp = "gcc"
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun#| ./ports/linux/pseudo_wrappers.c:80:14: error: use of unknown builtin '__builtin_apply' [-Wimplicit-function-declaration]
97*4882a593Smuzhiyun#|         void *res = __builtin_apply((void (*)()) real_syscall, __builtin_apply_args(), sizeof(long) * 7);
98*4882a593Smuzhiyun#|                     ^
99*4882a593Smuzhiyun#| ./ports/linux/pseudo_wrappers.c:80:57: error: use of unknown builtin '__builtin_apply_args' [-Wimplicit-function-declaration]
100*4882a593Smuzhiyun#|         void *res = __builtin_apply((void (*)()) real_syscall, __builtin_apply_args(), sizeof(long) * 7);
101*4882a593SmuzhiyunTOOLCHAIN:pn-pseudo = "gcc"
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun#| checking for multiarch... riscv64-yoe-linux
104*4882a593Smuzhiyun#| configure: error: internal configure error for the platform triplet, please file a bug report
105*4882a593SmuzhiyunTOOLCHAIN:pn-python3:riscv64 = "gcc"
106*4882a593SmuzhiyunTOOLCHAIN:pn-python3:riscv32 = "gcc"
107*4882a593SmuzhiyunTOOLCHAIN:pn-python3:libc-musl = "gcc"
108*4882a593Smuzhiyun# Use until OE-core merges https://lists.openembedded.org/g/openembedded-core/message/164192
109*4882a593SmuzhiyunTOOLCHAIN:pn-python3:aarch64 = "gcc"
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun# mix_neon.c:179:9: error: invalid operand in inline asm: 'vld1.s32 ${0:h}, [$2]
112*4882a593Smuzhiyun#      vld1.s32 ${1:h}, [$3] '
113*4882a593SmuzhiyunTOOLCHAIN:pn-pulseaudio:armv7ve = "gcc"
114*4882a593SmuzhiyunTOOLCHAIN:pn-pulseaudio:armv7a = "gcc"
115*4882a593Smuzhiyun
116*4882a593Smuzhiyun# clang++ hangs see https://bugs.llvm.org/show_bug.cgi?id=45134
117*4882a593SmuzhiyunDEBUG_FLAGS:remove:pn-sqlite-orm:toolchain-clang = "-g"
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun#| /usr/src/debug/qemu/2.6.0-r1/qemu-2.6.0/util/bitmap.c:191: undefined reference to `__atomic_fetch_or_4'
120*4882a593Smuzhiyun#| /usr/src/debug/qemu/2.6.0-r1/qemu-2.6.0/util/bitmap.c:210: undefined reference to `__atomic_fetch_or_4'
121*4882a593Smuzhiyun#| libqemuutil.a(bitmap.o): In function `bitmap_test_and_clear_atomic':
122*4882a593Smuzhiyun#| /usr/src/debug/qemu/2.6.0-r1/qemu-2.6.0/util/bitmap.c:250: undefined reference to `__atomic_fetch_and_4'
123*4882a593Smuzhiyun#| /usr/src/debug/qemu/2.6.0-r1/qemu-2.6.0/util/bitmap.c:262: undefined reference to `__atomic_exchange_4'
124*4882a593Smuzhiyun#| /usr/src/debug/qemu/2.6.0-r1/qemu-2.6.0/util/bitmap.c:273: undefined reference to `__atomic_fetch_and_4'
125*4882a593Smuzhiyun# We need to link in with -latomic which comes from gcc-runtime anyway so just keep using gcc
126*4882a593Smuzhiyun# to compile qemu for target
127*4882a593SmuzhiyunTOOLCHAIN:pn-qemu:arm = "gcc"
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun#| ./dsp/v4f_IIR2.h:554:12: error: no matching function for call to 'v4f_map'
130*4882a593Smuzhiyun#|                                 a[5] = v4f_map<__builtin_cosf> (f);
131*4882a593Smuzhiyun#|                                        ^~~~~~~~~~~~~~~~~~~~~~~
132*4882a593SmuzhiyunTOOLCHAIN:pn-caps = "gcc"
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun# Fails to build with clang-13 errors with .export.sym file
135*4882a593Smuzhiyun#  Mismatch between symbols in shared library and lists in .exported_symbols.* files: dm_bit_get_prev
136*4882a593Smuzhiyun#TOOLCHAIN:pn-lvm2 = "gcc"
137*4882a593SmuzhiyunTOOLCHAIN:pn-libdevmapper = "gcc"
138*4882a593Smuzhiyun
139*4882a593SmuzhiyunTOOLCHAIN:pn-lttng-ust:riscv64 = "gcc"
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun#| ../libffi-3.3-rc0/src/arm/sysv.S: Assembler messages:
142*4882a593Smuzhiyun#| ../libffi-3.3-rc0/src/arm/sysv.S:131: Error: selected processor does not support `vldrle d0,[sp]' in ARM mode
143*4882a593Smuzhiyun#| ../libffi-3.3-rc0/src/arm/sysv.S:132: Error: selected processor does not support `vldmgt sp,{d0-d7}' in ARM mode
144*4882a593SmuzhiyunTOOLCHAIN:pn-libffi:armeb = "gcc"
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun# Clang/mips still generates __sync_fetch_and_add_8 instead of __atomic_fetch_add_8 so it can't even use
147*4882a593Smuzhiyun# libatomic to provide these functions, therefore can not compile redis on mips
148*4882a593SmuzhiyunTOOLCHAIN:pn-redis:mips = "gcc"
149*4882a593Smuzhiyun
150*4882a593Smuzhiyun# rocksdb/rocksdb/util/crc32c_ppc_asm.S:9:10: fatal error: 'ppc-asm.h' file not found
151*4882a593Smuzhiyun# #include <ppc-asm.h>
152*4882a593Smuzhiyun# This header is only available with gcc-cross
153*4882a593SmuzhiyunTOOLCHAIN:pn-mariadb:powerpc64le = "gcc"
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun# OpenCV does not compile for ppc64 with clang due to VSX clashes with altivec.h from clang
156*4882a593SmuzhiyunTOOLCHAIN:pn-opencv:powerpc64le = "gcc"
157*4882a593Smuzhiyun# Ade is used by openCV and shared C++ runtime so we can not mix libstdc++ and libc++
158*4882a593SmuzhiyunTOOLCHAIN:pn-ade:powerpc64le = "gcc"
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun# latest 32bit arch versions fails to compile with clang 13
161*4882a593Smuzhiyun# common/JackEngineControl.h:89:5: error: requested alignment is less than minimum alignment of 8 for type 'Jack::JackFrameTimer'
162*4882a593Smuzhiyun#|     alignas(UInt32) JackFrameTimer fFrameTimer;
163*4882a593Smuzhiyun#|     ^
164*4882a593SmuzhiyunTOOLCHAIN:pn-jack = "${@['clang','gcc'][d.getVar('SITEINFO_BITS') != '32']}"
165*4882a593Smuzhiyun
166*4882a593Smuzhiyun#| error: return address can be determined only for current frame
167*4882a593Smuzhiyun#| error: return address can be determined only for current frame
168*4882a593Smuzhiyun#| error: return address can be determined only for current frame
169*4882a593SmuzhiyunTOOLCHAIN:pn-gcompat:mips = "gcc"
170*4882a593Smuzhiyun
171*4882a593Smuzhiyun# Fixes Clang induced linker crashes when using glibc 2.35+
172*4882a593Smuzhiyun# mips-yoe-linux/mips-yoe-linux-ld: DWARF error: invalid or unhandled FORM value: 0x22
173*4882a593Smuzhiyun# mips-yoe-linux-ld: Zend/asm/make_mips32_o32_elf_gas.o: CALL16 reloc at 0x28 not against global symbol
174*4882a593Smuzhiyun# mips-yoe-linux/mips-yoe-linux-ld: BFD (GNU Binutils) 2.37.20210721 assertion fail ../../bfd/elfxx-mips.c:3614
175*4882a593SmuzhiyunTOOLCHAIN:pn-php:mips = "gcc"
176*4882a593Smuzhiyun
177*4882a593SmuzhiyunCFLAGS:append:pn-liboil:toolchain-clang:x86-64 = " -fheinous-gnu-extensions "
178*4882a593Smuzhiyun
179*4882a593Smuzhiyun#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
180*4882a593Smuzhiyun#io_syscall5(int, __io_getevents_0_4, io_getevents, io_context_t, ctx, long, min_nr, long, nr, struct io_event *, events, struct timespec *, timeout)
181*4882a593SmuzhiyunCFLAGS:append:pn-libaio:toolchain-clang:mips = " -fheinous-gnu-extensions"
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun#| error: unknown warning option '-Wimplicit-fallthrough=0'; did you mean '-Wimplicit-fallthrough'? [-Werror,-Wunknown-warning-option]
184*4882a593SmuzhiyunCFLAGS:append:pn-mdadm:toolchain-clang = " -Wno-error=unknown-warning-option"
185*4882a593Smuzhiyun
186*4882a593Smuzhiyun#../libffi-3.2.1/src/arm/sysv.S:363:2: error: invalid instruction, did you mean: fldmiax?
187*4882a593Smuzhiyun# fldmiadgt ip, {d0-d7}
188*4882a593SmuzhiyunCFLAGS:append:pn-libffi:arm:toolchain-clang = " -no-integrated-as"
189*4882a593SmuzhiyunCFLAGS:append:pn-libffi:mips64:toolchain-clang = " -no-integrated-as"
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun# ../db-5.3.28/src/mutex/mut_tas.c:150:34: error: unknown directive
192*4882a593Smuzhiyun#<inline asm>:9:2: note: instantiated into assembly here
193*4882a593Smuzhiyun# .force_thumb
194*4882a593Smuzhiyun#        ^
195*4882a593Smuzhiyun#CFLAGS:append:pn-db:toolchain-clang = " -no-integrated-as"
196*4882a593Smuzhiyun#
197*4882a593Smuzhiyun#| ../../../DirectFB-1.7.7/lib/direct/armasm_memcpy.S:63:2: error: invalid instruction
198*4882a593Smuzhiyun#|  ldmgeia r1!, {r3, r4, r12, lr}
199*4882a593Smuzhiyun#|  ^
200*4882a593SmuzhiyunCFLAGS:append:pn-directfb:toolchain-clang:arm = " -no-integrated-as"
201*4882a593Smuzhiyun
202*4882a593Smuzhiyun# Disable internal assembler for armv7 since it uses gnu assmebly syntax
203*4882a593Smuzhiyun# which should be preprocessed via gcc/compiler
204*4882a593Smuzhiyun#
205*4882a593SmuzhiyunCFLAGS:append:pn-openssl:toolchain-clang:armv7ve = " -no-integrated-as"
206*4882a593SmuzhiyunCFLAGS:append:pn-openssl:toolchain-clang:armv7a = " -no-integrated-as"
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun#| crypto/bn/bn-mips.S:671:2: error: unknown instruction, did you mean: bgeu, sgtu, tgeu?
209*4882a593Smuzhiyun#|  sgeu $1,$4,$6
210*4882a593Smuzhiyun#|  ^
211*4882a593SmuzhiyunCC:append:pn-openssl:toolchain-clang:mipsarch = " -no-integrated-as"
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun#| threads_pthread.c:(.text+0x372): undefined reference to `__atomic_is_lock_free'
214*4882a593SmuzhiyunEXTRA_OECONF:pn-openssl:toolchain-clang:x86 = "-latomic"
215*4882a593Smuzhiyun
216*4882a593SmuzhiyunCFLAGS:append:pn-userland:toolchain-clang = " -no-integrated-as"
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun# libjpeg-turbo-2.0.2/simd/mips/jsimd_dspr2.S
219*4882a593Smuzhiyun# <instantiation>:13:5: error: invalid token in expression
220*4882a593Smuzhiyun# .if $17 != 0
221*4882a593Smuzhiyun# ^
222*4882a593SmuzhiyunCFLAGS:append:pn-libjpeg-turbo:toolchain-clang:mipsarch = " -no-integrated-as"
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun# arm-yoe-linux-gnueabi-ld: /usr/src/debug/libvorbis/1.3.6-r0/build/lib/../../libvorbis-1.3.6/lib/sharedbook.c:165: undefined reference to `__pow_finite'
225*4882a593SmuzhiyunCFLAGS:append:pn-libvorbis:toolchain-clang:armv7ve = " -fno-fast-math"
226*4882a593SmuzhiyunCFLAGS:append:pn-mpg123:toolchain-clang:armv7ve = " -fno-fast-math"
227*4882a593Smuzhiyun
228*4882a593Smuzhiyun#../kexec-tools-2.0.18/purgatory/arch/i386/entry32-16.S:23:2: error: unknown directive
229*4882a593Smuzhiyun# .arch i386
230*4882a593Smuzhiyun# ^
231*4882a593SmuzhiyunCC:append:pn-kexec-tools:toolchain-clang:x86-64 = " -no-integrated-as"
232*4882a593SmuzhiyunCC:append:pn-kexec-tools:toolchain-clang:x86 = " -no-integrated-as"
233*4882a593SmuzhiyunCC:append:pn-kexec-tools-klibc:toolchain-clang:x86-64 = " -no-integrated-as"
234*4882a593SmuzhiyunCC:append:pn-kexec-tools-klibc:toolchain-clang:x86 = " -no-integrated-as"
235*4882a593Smuzhiyun
236*4882a593Smuzhiyun#| /tmp/x86-sse2-cdb148.s:207:9: error: ambiguous operand size for instruction 'sub'
237*4882a593Smuzhiyun#|     sub SIZE, 64
238*4882a593Smuzhiyun#|         ^~~~
239*4882a593SmuzhiyunCFLAGS:append:pn-tinymembench:toolchain-clang:x86-64 = " -no-integrated-as"
240*4882a593SmuzhiyunCFLAGS:append:pn-tinymembench:toolchain-clang:x86 = " -no-integrated-as"
241*4882a593SmuzhiyunCFLAGS:append:pn-tinymembench:toolchain-clang:mipsarch = " -no-integrated-as"
242*4882a593Smuzhiyun
243*4882a593SmuzhiyunCFLAGS:append:pn-ne10:toolchain-clang:arm = " -no-integrated-as"
244*4882a593SmuzhiyunCFLAGS:append:pn-libde265:toolchain-clang:arm = " -no-integrated-as"
245*4882a593Smuzhiyun
246*4882a593Smuzhiyun# :5 :    error:    unknown directive
247*4882a593Smuzhiyun#^
248*4882a593Smuzhiyun#    .endfunc
249*4882a593Smuzhiyun#    ^
250*4882a593SmuzhiyunCFLAGS:append:pn-libsdl2:toolchain-clang:arm = " -no-integrated-as"
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun#2816:2: error: changed section type for .debug_frame, expected: 0x7000001E
253*4882a593Smuzhiyun# .section .debug_frame,"",@progbits
254*4882a593Smuzhiyun# ^
255*4882a593Smuzhiyun#lj_vm.S:2890:2: error: changed section flags for .eh_frame, expected: 0x2
256*4882a593Smuzhiyun# .section .eh_frame,"aw",@progbits
257*4882a593Smuzhiyun# ^
258*4882a593SmuzhiyunCFLAGS:append:pn-luajit:toolchain-clang:mips = " -no-integrated-as"
259*4882a593Smuzhiyun
260*4882a593Smuzhiyun#FAILED: libucontext_posix.so.1
261*4882a593Smuzhiyun#clang-13: error: unable to execute command: Segmentation fault (core dumped)
262*4882a593Smuzhiyun#clang-13: error: linker command failed due to signal (use -v to see invocation)
263*4882a593SmuzhiyunCFLAGS:append:pn-libucontext:toolchain-clang:powerpc64le = " -no-integrated-as"
264*4882a593Smuzhiyun
265*4882a593Smuzhiyun# Generated asm file can not be compiled with clang assembler due to presence of .0 label
266*4882a593Smuzhiyun# and its references
267*4882a593Smuzhiyun#| aes-decrypt-internal-2.s:368:1: error: unexpected token at start of statement
268*4882a593Smuzhiyun#| .0:
269*4882a593Smuzhiyun#| ^
270*4882a593SmuzhiyunCFLAGS:append:pn-nettle:toolchain-clang:powerpc64le = " -no-integrated-as"
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun# Fixes clang crash when compiling gnutls-3.7.2/lib/accelerated/aarch64/elf/sha512-armv8.s
273*4882a593SmuzhiyunCFLAGS:append:pn-gnutls:toolchain-clang:aarch64 = " -no-integrated-as"
274*4882a593Smuzhiyun
275*4882a593Smuzhiyun# include/gcc/arm/ck_pr.h:201:1: error: instruction requires: arm-mode
276*4882a593Smuzhiyun#| CK_PR_DOUBLE_STORE(uint64_t, 64)
277*4882a593Smuzhiyun#| ^
278*4882a593Smuzhiyun#include/gcc/arm/ck_pr.h:192:6: note: expanded from macro 'CK_PR_DOUBLE_STORE'
279*4882a593Smuzhiyun#|                          "strexd        %1, %3, [%2]\n"         \
280*4882a593Smuzhiyun#|                           ^
281*4882a593SmuzhiyunCFLAGS:append:pn-concurrencykit:toolchain-clang:arm = " -no-integrated-as"
282*4882a593Smuzhiyun
283*4882a593Smuzhiyun#../git/common/connection.c:154:55: error: comparison of integers of different signs: 'unsigned long' and 'int' [-Werror,-Wsign-compare]
284*4882a593Smuzhiyun#        for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; cmsg = CMSG_NXTHDR(msg, cmsg)) {
285*4882a593Smuzhiyun#                                                             ^~~~~~~~~~~~~~~~~~~~~~
286*4882a593SmuzhiyunCFLAGS:append:pn-seatd:toolchain-clang = " -Wno-sign-compare"
287*4882a593Smuzhiyun
288*4882a593Smuzhiyun# regtest.cc:374:39: error: invalid suffix on literal; C++11 requires a
289*4882a593Smuzhiyun# space between literal and identifier [-Wreserved-user-defined-literal]
290*4882a593Smuzhiyun#|   snprintf_func (buf, sizeof(buf), "%"Q"u", x);
291*4882a593Smuzhiyun#|                                       ^
292*4882a593Smuzhiyun
293*4882a593SmuzhiyunCXXFLAGS:append:pn-xdelta3:toolchain-clang = " -Wno-error=reserved-user-defined-literal"
294*4882a593Smuzhiyun# -fno-tree-vrp is gcc specific
295*4882a593SmuzhiyunCXXFLAGS:remove:pn-mozjs:toolchain-clang = "-fno-tree-vrp"
296*4882a593SmuzhiyunCFLAGS:remove:pn-mozjs:toolchain-clang = "-fno-tree-vrp"
297*4882a593Smuzhiyun
298*4882a593Smuzhiyun#memcached.c:6280:2: error: embedding a directive within macro arguments has undefined behavior [-Werror,-Wembedded-directive]
299*4882a593SmuzhiyunCPPFLAGS:append:pn-memcached:toolchain-clang = " -Wno-error=embedded-directive"
300*4882a593Smuzhiyun
301*4882a593Smuzhiyun#| /tmp/mcp2515-578c41.s: Assembler messages:
302*4882a593Smuzhiyun#| /tmp/mcp2515-578c41.s:1525: Error: r13 not allowed here -- `sub.w sp,r1,#8'
303*4882a593Smuzhiyun#| /tmp/mcp2515-578c41.s:1821: Error: r13 not allowed here -- `sub.w sp,r6,#8'
304*4882a593Smuzhiyun#| clang-7: error: assembler command failed with exit code 1 (use -v to see invocation)
305*4882a593SmuzhiyunTUNE_CCARGS:remove:pn-upm:toolchain-clang = "-no-integrated-as"
306*4882a593SmuzhiyunTUNE_CCARGS:remove:pn-omxplayer:toolchain-clang = "-no-integrated-as"
307*4882a593SmuzhiyunTUNE_CCARGS:remove:pn-nfs-utils:toolchain-clang = "-Qunused-arguments"
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun# We want to error out when -msse option is used otherwise it enables sse on non-x86 arches
310*4882a593SmuzhiyunTUNE_CCARGS:remove:pn-pipewire:toolchain-clang = "-Qunused-arguments"
311*4882a593SmuzhiyunTUNE_CCARGS:remove:pn-tesseract:toolchain-clang = "-Qunused-arguments"
312*4882a593SmuzhiyunTUNE_CCARGS:remove:pn-pulseaudio:toolchain-clang = "-Qunused-arguments"
313*4882a593Smuzhiyun
314*4882a593Smuzhiyun# Disable altivec on ppc32
315*4882a593Smuzhiyun#/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h:1345:32: error: use of undeclared identifier 'vec_sqrt'; did you mean 'vec_rsqrt'?
316*4882a593Smuzhiyun#  BF16_TO_F32_UNARY_OP_WRAPPER(vec_sqrt, a);
317*4882a593Smuzhiyun#                               ^~~~~~~~
318*4882a593Smuzhiyun#                               vec_rsqrt
319*4882a593SmuzhiyunTUNE_CCARGS:pn-ceres-solver:append:toolchain-clang:powerpc = " -mno-altivec"
320*4882a593SmuzhiyunTUNE_CCARGS:pn-opencv:append:toolchain-clang:powerpc = " -mno-altivec"
321*4882a593SmuzhiyunCXXFLAGS:pn-libeigen:append:toolchain-clang:powerpc = " -DEIGEN_ALTIVEC_DISABLE_MMA"
322*4882a593Smuzhiyun
323*4882a593Smuzhiyun#| /usr/src/debug/ruby/2.5.1-r0/build/../ruby-2.5.1/process.c:7073: undefined reference to `__mulodi4'
324*4882a593Smuzhiyun#| clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
325*4882a593SmuzhiyunCOMPILER_RT:pn-ruby:toolchain-clang:runtime-gnu = "-rtlib=compiler-rt ${UNWINDLIB}"
326*4882a593SmuzhiyunCOMPILER_RT:pn-python3:toolchain-clang:runtime-gnu = "-rtlib=compiler-rt ${UNWINDLIB}"
327*4882a593SmuzhiyunCOMPILER_RT:pn-m4:toolchain-clang:runtime-gnu = "-rtlib=compiler-rt ${UNWINDLIB}"
328*4882a593SmuzhiyunCOMPILER_RT:pn-cpio:toolchain-clang:runtime-gnu = "-rtlib=compiler-rt ${UNWINDLIB}"
329*4882a593SmuzhiyunCOMPILER_RT:pn-openssh:toolchain-clang:runtime-gnu = "-rtlib=compiler-rt ${UNWINDLIB}"
330*4882a593SmuzhiyunCOMPILER_RT:pn-webkitgtk:toolchain-clang:runtime-gnu = "-rtlib=compiler-rt ${UNWINDLIB}"
331*4882a593SmuzhiyunCOMPILER_RT:pn-wpewebkit:toolchain-clang:runtime-gnu = "-rtlib=compiler-rt ${UNWINDLIB}"
332*4882a593SmuzhiyunCOMPILER_RT:pn-python3-numpy:toolchain-clang:runtime-gnu = "-rtlib=compiler-rt ${UNWINDLIB}"
333*4882a593SmuzhiyunCOMPILER_RT:pn-mongodb:toolchain-clang:runtime-gnu = "-rtlib=compiler-rt ${UNWINDLIB}"
334*4882a593SmuzhiyunCOMPILER_RT:remove:pn-m4:powerpc = "-rtlib=compiler-rt"
335*4882a593SmuzhiyunCOMPILER_RT:remove:pn-ruby:powerpc = "-rtlib=compiler-rt"
336*4882a593SmuzhiyunCOMPILER_RT:remove:pn-webkitgtk:powerpc = "-rtlib=compiler-rt"
337*4882a593SmuzhiyunCOMPILER_RT:remove:pn-m4:armeb = "-rtlib=compiler-rt"
338*4882a593SmuzhiyunCOMPILER_RT:remove:pn-ruby:armeb = "-rtlib=compiler-rt"
339*4882a593SmuzhiyunCOMPILER_RT:remove:pn-webkitgtk:armeb = "-rtlib=compiler-rt"
340*4882a593Smuzhiyun
341*4882a593Smuzhiyun# build/lib/libQt5Widgets.so: undefined reference to `__lshrti3'
342*4882a593Smuzhiyun# __lshrti3 is missing in libgcc
343*4882a593SmuzhiyunCOMPILER_RT:pn-qtbase:toolchain-clang:riscv32 = "-rtlib=compiler-rt ${UNWINDLIB}"
344*4882a593Smuzhiyun
345*4882a593SmuzhiyunLDFLAGS:append:pn-gnutls:toolchain-clang:riscv64 = " -latomic"
346*4882a593SmuzhiyunLDFLAGS:append:pn-harfbuzz:toolchain-clang:riscv64 = " -latomic"
347*4882a593SmuzhiyunLDFLAGS:append:pn-qtwebengine:toolchain-clang:runtime-gnu:x86 = " -latomic"
348*4882a593SmuzhiyunLDFLAGS:append:pn-qemu:toolchain-clang:x86 = " -latomic"
349*4882a593Smuzhiyun
350*4882a593Smuzhiyun# glibc is built with gcc and hence encodes some libgcc specific builtins which are not found
351*4882a593Smuzhiyun# when doing static linking with clang using compiler-rt, so use libgcc
352*4882a593Smuzhiyun# undefined reference to `__unordtf2'
353*4882a593SmuzhiyunCOMPILER_RT:pn-aufs-util:libc-glibc:toolchain-clang:x86 = "-rtlib=libgcc --unwindlib=libgcc"
354*4882a593SmuzhiyunCOMPILER_RT:pn-libhugetlbfs:libc-glibc:toolchain-clang:x86 = "-rtlib=libgcc --unwindlib=libgcc"
355*4882a593SmuzhiyunCOMPILER_RT:pn-tsocks:libc-glibc:toolchain-clang:x86 = "-rtlib=libgcc --unwindlib=libgcc"
356*4882a593SmuzhiyunCOMPILER_RT:pn-libc-bench:libc-glibc:toolchain-clang:x86 = "-rtlib=libgcc --unwindlib=libgcc"
357*4882a593SmuzhiyunCOMPILER_RT:pn-libc-bench:libc-glibc:toolchain-clang:x86-64 = "-rtlib=libgcc --unwindlib=libgcc"
358*4882a593SmuzhiyunCOMPILER_RT:pn-mpich:toolchain-clang:x86 = "-rtlib=libgcc --unwindlib=libgcc"
359*4882a593SmuzhiyunCOMPILER_RT:pn-mpich:toolchain-clang:x86-64 = "-rtlib=libgcc --unwindlib=libgcc"
360*4882a593SmuzhiyunCOMPILER_RT:pn-aufs-util:libc-glibc:toolchain-clang:x86-64 = "-rtlib=libgcc --unwindlib=libgcc"
361*4882a593SmuzhiyunCOMPILER_RT:pn-libhugetlbfs:libc-glibc:toolchain-clang:x86-64 = "-rtlib=libgcc --unwindlib=libgcc"
362*4882a593SmuzhiyunCOMPILER_RT:pn-tsocks:libc-glibc:toolchain-clang:x86-64 = "-rtlib=libgcc --unwindlib=libgcc"
363*4882a593Smuzhiyun
364*4882a593Smuzhiyun#(unwind.o): in function `__pthread_unwind':
365*4882a593Smuzhiyun#/usr/src/debug/glibc/2.29-r0/git/nptl/unwind.c:121: undefined reference to `_Unwind_ForcedUnwind'
366*4882a593Smuzhiyun#clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
367*4882a593SmuzhiyunCOMPILER_RT:pn-aufs-util:libc-glibc:toolchain-clang:arm = "--unwindlib=libgcc"
368*4882a593SmuzhiyunCOMPILER_RT:pn-libhugetlbfs:libc-glibc:toolchain-clang:arm = "--unwindlib=libgcc"
369*4882a593SmuzhiyunCOMPILER_RT:pn-libc-bench:libc-glibc:toolchain-clang:arm = "--unwindlib=libgcc"
370*4882a593Smuzhiyun
371*4882a593Smuzhiyun# Uses gcc for native tools, e.g. nsinstall and passes clang options which fails so
372*4882a593Smuzhiyun# let same compiler ( gcc or clang) be native/cross compiler
373*4882a593Smuzhiyun# | gcc: error: unrecognized command line option ‘-Qunused-arguments’
374*4882a593SmuzhiyunBUILD_CC:pn-nss:toolchain-clang = "clang -rtlib=libgcc -unwindlib=none"
375*4882a593Smuzhiyun
376*4882a593Smuzhiyun# libnoprofile.c:19:5: error: expected parameter declarator
377*4882a593Smuzhiyun# int printf(const char *format, ...) {
378*4882a593Smuzhiyun#    ^
379*4882a593Smuzhiyun# error: non-constant-expression cannot be narrowed from type 'std::chrono::duration<
380*4882a593Smuzhiyun#long long, std::ratio<1, 1> >::rep' (aka 'long long') to '__time_t' (aka 'long') in initializer list
381*4882a593Smuzhiyun# [-Wc++11-narrowing]
382*4882a593SmuzhiyunCXXFLAGS:append:pn-apt:toolchain-clang = " -Wno-c++11-narrowing"
383*4882a593Smuzhiyunlcl_maybe_fortify:pn-apt:toolchain-clang = ""
384*4882a593Smuzhiyun
385*4882a593Smuzhiyun# LTO
386*4882a593Smuzhiyun# Seems to use symver ASMs see https://stackoverflow.com/questions/46304742/how-to-combine-lto-with-symbol-versioning
387*4882a593Smuzhiyun# lib/puny_encode.c:136: multiple definition of `_idn2_punycode_encode'
388*4882a593SmuzhiyunLTO:pn-libidn2:toolchain-clang = ""
389*4882a593Smuzhiyun
390*4882a593Smuzhiyun#libcairo.so: undefined reference to pthread_mutexattr_init [--no-allow-shlib-undefined]
391*4882a593SmuzhiyunLTO:pn-cairo:toolchain-clang = ""
392*4882a593Smuzhiyun
393*4882a593Smuzhiyun# see https://bugs.llvm.org/show_bug.cgi?id=50443 this is in clang-13, until it is fixed do not use -O2
394*4882a593SmuzhiyunSELECTED_OPTIMIZATION:remove:pn-poke:toolchain-clang = "-O2"
395*4882a593Smuzhiyun
396*4882a593Smuzhiyun# See https://github.com/llvm/llvm-project/issues/53722
397*4882a593SmuzhiyunSELECTED_OPTIMIZATION:remove:pn-libvorbis:mips:toolchain-clang = "-O2"
398*4882a593SmuzhiyunSELECTED_OPTIMIZATION:append:pn-libvorbis:mips:toolchain-clang = " -O0"
399*4882a593SmuzhiyunSELECTED_OPTIMIZATION:remove:pn-x264:mips:toolchain-clang = "-O2"
400*4882a593SmuzhiyunSELECTED_OPTIMIZATION:append:pn-x264:mips:toolchain-clang = " -O0"
401*4882a593SmuzhiyunSELECTED_OPTIMIZATION:remove:pn-dcadec:mips:toolchain-clang = "-O2"
402*4882a593SmuzhiyunSELECTED_OPTIMIZATION:append:pn-dcadec:mips:toolchain-clang = " -O0"
403*4882a593SmuzhiyunSELECTED_OPTIMIZATION:remove:pn-graphviz:mips:toolchain-clang = "-O2"
404*4882a593SmuzhiyunSELECTED_OPTIMIZATION:append:pn-graphviz:mips:toolchain-clang = " -O0"
405*4882a593Smuzhiyun# See https://github.com/llvm/llvm-project/issues/54044
406*4882a593SmuzhiyunSELECTED_OPTIMIZATION:remove:pn-fio:mips:toolchain-clang = "-O2"
407*4882a593SmuzhiyunSELECTED_OPTIMIZATION:append:pn-fio:mips:toolchain-clang = " -O0"
408*4882a593Smuzhiyun
409*4882a593Smuzhiyun# See https://github.com/llvm/llvm-project/issues/54005
410*4882a593SmuzhiyunTOOLCHAIN:pn-qtlocation:mips = "gcc"
411*4882a593SmuzhiyunTOOLCHAIN:pn-python3-grpcio-tools:mips = "gcc"
412*4882a593Smuzhiyun
413*4882a593Smuzhiyun# This works with gcc-ranlib wrapper only which expands $@ shell array,
414*4882a593Smuzhiyun# but it will fail if RANLIB was set to <cross>-ranlib or
415*4882a593Smuzhiyun# <cross>-llvn-ranlib has same behaviour
416*4882a593SmuzhiyunRANLIB:append:pn-tcf-agent:toolchain-clang = " $@"
417*4882a593Smuzhiyun
418*4882a593Smuzhiyun# Subprocess output:mips-yoe-linux-llvm-objcopy: error: Link field value 22 in section .rel.dyn is not a symbol table
419*4882a593Smuzhiyun# also seen on riscv64 and x86-64
420*4882a593SmuzhiyunOBJCOPY:pn-linux-yocto:toolchain-clang = "${HOST_PREFIX}objcopy"
421*4882a593SmuzhiyunSTRIP:pn-linux-yocto:toolchain-clang = "${HOST_PREFIX}strip"
422*4882a593Smuzhiyun
423*4882a593Smuzhiyun# see https://github.com/llvm/llvm-project/issues/53948
424*4882a593SmuzhiyunOBJCOPY:pn-opensbi:toolchain-clang = "${HOST_PREFIX}objcopy"
425*4882a593SmuzhiyunOBJCOPY:pn-libc-bench:toolchain-clang = "${HOST_PREFIX}objcopy"
426*4882a593SmuzhiyunSTRIP:pn-libc-bench:toolchain-clang = "${HOST_PREFIX}strip"
427*4882a593SmuzhiyunOBJCOPY:pn-aufs-util:toolchain-clang = "${HOST_PREFIX}objcopy"
428*4882a593SmuzhiyunSTRIP:pn-aufs-util:toolchain-clang = "${HOST_PREFIX}strip"
429*4882a593Smuzhiyun
430*4882a593Smuzhiyun# Depend on GNU objcopy option missing in llvm-objcopy
431*4882a593Smuzhiyun# llvm-objcopy: error: unknown argument '--section-alignment=512'
432*4882a593SmuzhiyunOBJCOPY:pn-systemd-boot:toolchain-clang = "${HOST_PREFIX}objcopy"
433*4882a593Smuzhiyun
434*4882a593Smuzhiyun# See https://github.com/llvm/llvm-project/issues/53998
435*4882a593SmuzhiyunSTRIP:pn-kexec-tools-klibc:mips:toolchain-clang = "${HOST_PREFIX}strip"
436*4882a593Smuzhiyun
437*4882a593Smuzhiyun# See https://github.com/llvm/llvm-project/issues/53999
438*4882a593SmuzhiyunSTRIP:pn-go-helloworld:mips:toolchain-clang = "${HOST_PREFIX}strip"
439*4882a593SmuzhiyunOBJCOPY:pn-go-helloworld:mips:toolchain-clang = "${HOST_PREFIX}objcopy"
440*4882a593SmuzhiyunSTRIP:pn-gosu:mips:toolchain-clang = "${HOST_PREFIX}strip"
441*4882a593SmuzhiyunOBJCOPY:pn-gosu:mips:toolchain-clang = "${HOST_PREFIX}objcopy"
442*4882a593Smuzhiyun
443*4882a593Smuzhiyun# see https://github.com/llvm/llvm-project/issues/54213
444*4882a593SmuzhiyunOBJDUMP:pn-libbsd:mips:toolchain-clang = "${HOST_PREFIX}objdump"
445*4882a593Smuzhiyun
446*4882a593Smuzhiyun# Need OBJDUMP during do_package_qa which is set to llvm-objdump with meta-clang
447*4882a593Smuzhiyun# it might work with GNU objdump since it falls back to one from build host
448*4882a593SmuzhiyunDEPENDS:pn-linux-firmware:append:toolchain-clang = " clang-native"
449*4882a593Smuzhiyun
450*4882a593Smuzhiyun# Needs for solving fopenmp issues
451*4882a593SmuzhiyunDEPENDS:append:pn-pixman:mips:toolchain-clang = " openmp"
452*4882a593Smuzhiyun#| ../pixman-0.40.0/pixman/pixman-arm-neon-asm.S:3625:1: note: while in macro instantiation
453*4882a593Smuzhiyun#| generate_bilinear_scanline_func pixman_scaled_bilinear_scanline_0565_0565_SRC_asm_neon, 0565, 0565, 1, 1, 28, BILINEAR_FLAG_UNROLL_4
454*4882a593Smuzhiyun#| ^
455*4882a593Smuzhiyun#| <instantiation>:134:1: error: unknown directive
456*4882a593Smuzhiyun#| .endfunc
457*4882a593Smuzhiyun#| ^
458*4882a593SmuzhiyunCFLAGS:append:pn-pixman:arm:toolchain-clang = " -no-integrated-as"
459*4882a593Smuzhiyun
460