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