summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Abdurachmanov <david.abdurachmanov@sifive.com>2020-02-25 23:01:08 -0800
committerKhem Raj <raj.khem@gmail.com>2020-10-16 08:41:47 -0700
commit3596c70a0635f593340f33c9a88d10afcc14ddd9 (patch)
treecc370222934098f5cd0e3b8798b1ee801e714efb
parentfbce3226dc57b40b0e53b403de7c187860bbaaf4 (diff)
downloadmeta-clang-3596c70a0635f593340f33c9a88d10afcc14ddd9.tar.gz
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 <david.abdurachmanov@sifive.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes-devtools/clang/clang_git.bb4
1 files 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):
35 elif re.match('aarch64$', a): return 'AArch64' 35 elif re.match('aarch64$', a): return 'AArch64'
36 elif re.match('aarch64_be$', a): return 'AArch64' 36 elif re.match('aarch64_be$', a): return 'AArch64'
37 elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips' 37 elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips'
38 elif re.match('riscv(32|64)(eb|)$', a): return 'RISCV' 38 elif re.match('riscv32$', a): return 'riscv32'
39 elif re.match('riscv64$', a): return 'riscv64'
39 elif re.match('p(pc|owerpc)(|64)', a): return 'PowerPC' 40 elif re.match('p(pc|owerpc)(|64)', a): return 'PowerPC'
40 else: 41 else:
41 bb.note("'%s' is not a primary llvm architecture" % a) 42 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;\
95# where only one target architecture is needed along with just one build arch (usually X86) 96# where only one target architecture is needed along with just one build arch (usually X86)
96# 97#
97LLVM_TARGETS_TO_BUILD ?= "AMDGPU;AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86" 98LLVM_TARGETS_TO_BUILD ?= "AMDGPU;AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86"
98LLVM_TARGETS_TO_BUILD_append = ";AMDGPU;${@get_clang_host_arch(bb, d)};${@get_clang_target_arch(bb, d)}"
99 99
100LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ?= "" 100LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ?= ""
101LLVM_EXPERIMENTAL_TARGETS_TO_BUILD_append = ";${@get_clang_experimental_target_arch(bb, d)}" 101LLVM_EXPERIMENTAL_TARGETS_TO_BUILD_append = ";${@get_clang_experimental_target_arch(bb, d)}"