Similar to RISC-V and ARM, 32-bit and 64-bit LoongArch couldn't be
distinguished solely by CONFIG_SYS_ARCH, but require different
toolchains if multilib is disabled in compiler, which is the case of
toolchain provided by kernel.org.

Let's override the parsed arch parameter for LoongArch configs based
on CONFIG_ARCH_LA64 Kconfig symbol.

Signed-off-by: Yao Zi <[email protected]>
---
 tools/buildman/boards.py | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tools/buildman/boards.py b/tools/buildman/boards.py
index 2fe43c3fc896..a878053df59d 100644
--- a/tools/buildman/boards.py
+++ b/tools/buildman/boards.py
@@ -309,6 +309,17 @@ class KconfigScanner:
             else:
                 params['arch'] = 'riscv64'
 
+        # fix-up for loongarch
+        if params['arch'] == 'loongarch':
+            try:
+                value = self._conf.syms.get('ARCH_LA64').str_value
+            except:
+                value = ''
+            if value == 'y':
+                params['arch'] = 'loongarch64'
+            else:
+                params['arch'] = 'loongarch32'
+
         return params, warnings
 
 
-- 
2.54.0

Reply via email to