diff options
Diffstat (limited to 'classes/clang.bbclass')
-rw-r--r-- | classes/clang.bbclass | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/classes/clang.bbclass b/classes/clang.bbclass index 71f2513..1c7184d 100644 --- a/classes/clang.bbclass +++ b/classes/clang.bbclass | |||
@@ -39,6 +39,10 @@ LDFLAGS:append:toolchain-clang = " ${COMPILER_RT} ${LIBCPLUSPLUS}" | |||
39 | TUNE_CCARGS:remove:toolchain-clang = "-meb" | 39 | TUNE_CCARGS:remove:toolchain-clang = "-meb" |
40 | TUNE_CCARGS:remove:toolchain-clang = "-mel" | 40 | TUNE_CCARGS:remove:toolchain-clang = "-mel" |
41 | TUNE_CCARGS:append:toolchain-clang = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}" | 41 | TUNE_CCARGS:append:toolchain-clang = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}" |
42 | # Qemu uses 7400 but fails to emulate VSX/altivec instrs e.g. xor and fails with illegal instructions especially on musl/strspn.c | ||
43 | # Workaround the qemu limitation by disable altivec in code generation, gcc does not use altivec, so code generated with clang is | ||
44 | # superior but sadly qemu starts to puke :(, maybe it will work ok on real hardware !! | ||
45 | TUNE_CCARGS:append:toolchain-clang = "${@bb.utils.contains("TUNE_FEATURES", "ppc7400", " -mno-altivec", "", d)}" | ||
42 | 46 | ||
43 | # Clang does not yet support big.LITTLE performance tunes, so use the LITTLE for tunes | 47 | # Clang does not yet support big.LITTLE performance tunes, so use the LITTLE for tunes |
44 | TUNE_CCARGS:remove:toolchain-clang = "-mcpu=cortex-a57.cortex-a53 -mcpu=cortex-a72.cortex-a53 -mcpu=cortex-a15.cortex-a7 -mcpu=cortex-a17.cortex-a7 -mcpu=cortex-a72.cortex-a35 -mcpu=cortex-a73.cortex-a53 -mcpu=cortex-a75.cortex-a55 -mcpu=cortex-a76.cortex-a55" | 48 | TUNE_CCARGS:remove:toolchain-clang = "-mcpu=cortex-a57.cortex-a53 -mcpu=cortex-a72.cortex-a53 -mcpu=cortex-a15.cortex-a7 -mcpu=cortex-a17.cortex-a7 -mcpu=cortex-a72.cortex-a35 -mcpu=cortex-a73.cortex-a53 -mcpu=cortex-a75.cortex-a55 -mcpu=cortex-a76.cortex-a55" |
@@ -54,16 +58,16 @@ TUNE_CCARGS:remove:toolchain-clang = "-mcpu=octeontx2" | |||
54 | TUNE_CCARGS:append:toolchain-clang:riscv32 = " -mno-relax" | 58 | TUNE_CCARGS:append:toolchain-clang:riscv32 = " -mno-relax" |
55 | TUNE_CCARGS:append:toolchain-clang:riscv64 = " -mno-relax" | 59 | TUNE_CCARGS:append:toolchain-clang:riscv64 = " -mno-relax" |
56 | 60 | ||
57 | TUNE_CCARGS:remove:toolchain-clang:powerpc = "-mhard-float" | 61 | # Reconcile some ppc anamolies |
58 | TUNE_CCARGS:remove:toolchain-clang:powerpc = "-mno-spe" | 62 | TUNE_CCARGS:remove:toolchain-clang:powerpc = "-mhard-float -mno-spe" |
59 | 63 | TUNE_CCARGS:append:toolchain-clang:libc-musl:powerpc64 = " -mlong-double-64" | |
60 | TUNE_CCARGS:append:toolchain-clang = " -Qunused-arguments" | 64 | TUNE_CCARGS:append:toolchain-clang:libc-musl:powerpc64le = " -mlong-double-64" |
61 | TUNE_CCARGS:append:toolchain-clang:libc-musl:powerpc64 = " -mlong-double-64 -fno-force-enable-int128" | 65 | TUNE_CCARGS:append:toolchain-clang:libc-musl:powerpc = " -mlong-double-64" |
62 | TUNE_CCARGS:append:toolchain-clang:libc-musl:powerpc64le = " -mlong-double-64 -fno-force-enable-int128" | ||
63 | TUNE_CCARGS:append:toolchain-clang:libc-musl:powerpc = " -mlong-double-64 -fno-force-enable-int128" | ||
64 | # usrmerge workaround | 66 | # usrmerge workaround |
65 | TUNE_CCARGS:append:toolchain-clang = "${@bb.utils.contains("DISTRO_FEATURES", "usrmerge", " --dyld-prefix=/usr", "", d)}" | 67 | TUNE_CCARGS:append:toolchain-clang = "${@bb.utils.contains("DISTRO_FEATURES", "usrmerge", " --dyld-prefix=/usr", "", d)}" |
66 | 68 | ||
69 | TUNE_CCARGS:append:toolchain-clang = " -Qunused-arguments" | ||
70 | |||
67 | LDFLAGS:append:toolchain-clang:class-nativesdk:x86-64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-x86-64.so.2" | 71 | LDFLAGS:append:toolchain-clang:class-nativesdk:x86-64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-x86-64.so.2" |
68 | LDFLAGS:append:toolchain-clang:class-nativesdk:x86 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux.so.2" | 72 | LDFLAGS:append:toolchain-clang:class-nativesdk:x86 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux.so.2" |
69 | LDFLAGS:append:toolchain-clang:class-nativesdk:aarch64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-aarch64.so.1" | 73 | LDFLAGS:append:toolchain-clang:class-nativesdk:aarch64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-aarch64.so.1" |