From 3596c70a0635f593340f33c9a88d10afcc14ddd9 Mon Sep 17 00:00:00 2001 From: David Abdurachmanov Date: Tue, 25 Feb 2020 23:01:08 -0800 Subject: Fix get_clang_arch and LLVM targets LLVM_TARGET_ARCH must be riscv32 or riscv64, which results in LLVM_NATIVE_ARCH being RISCV. We cannot pass RISCV to LLVM_TARGET_ARCH as that will cause "Unknown architecture" error at configure time. We already have all architectures listed in LLVM_TARGETS_TO_BUILD thus there is no need to append additional ones. That results in LLVM_NATIVE_ARCH being listed multiple times, e.g.: -DLLVM_TARGETS_TO_BUILD='AMDGPU;AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86;RISCV;RISCV;RISCV' Furthermore get_clang_host_arch(), get_clang_target_arch() and get_clang_arch() now return riscv32 or riscv64, which is not a valid value for -DLLVM_TARGETS_TO_BUILD. The valid value is RISCV here. Signed-off-by: David Abdurachmanov Signed-off-by: Khem Raj --- recipes-devtools/clang/clang_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb index 91de8ab..d223585 100644 --- a/recipes-devtools/clang/clang_git.bb +++ b/recipes-devtools/clang/clang_git.bb @@ -35,7 +35,8 @@ def get_clang_arch(bb, d, arch_var): elif re.match('aarch64$', a): return 'AArch64' elif re.match('aarch64_be$', a): return 'AArch64' elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips' - elif re.match('riscv(32|64)(eb|)$', a): return 'RISCV' + elif re.match('riscv32$', a): return 'riscv32' + elif re.match('riscv64$', a): return 'riscv64' elif re.match('p(pc|owerpc)(|64)', a): return 'PowerPC' else: bb.note("'%s' is not a primary llvm architecture" % a) @@ -95,7 +96,6 @@ CMAKE_C_FLAGS_RELEASE;CMAKE_CXX_FLAGS_RELEASE;CMAKE_ASM_FLAGS_RELEASE;\ # where only one target architecture is needed along with just one build arch (usually X86) # LLVM_TARGETS_TO_BUILD ?= "AMDGPU;AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86" -LLVM_TARGETS_TO_BUILD_append = ";AMDGPU;${@get_clang_host_arch(bb, d)};${@get_clang_target_arch(bb, d)}" LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ?= "" LLVM_EXPERIMENTAL_TARGETS_TO_BUILD_append = ";${@get_clang_experimental_target_arch(bb, d)}" -- cgit v1.2.3-54-g00ecf