Similar to RISC-V and ARM, 32-bit and 64-bit LoongArch cannot 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.

Override the parsed arch parameter for LoongArch configs based on
CONFIG_ARCH_LA64 Kconfig symbol.

Signed-off-by: Yao Zi <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
---

This patch is based on the latest main branch.

Changed from v1
- Reword the commit message
- Catch only AttributeError in the except block
- Link to v1: 
https://lists.u-boot-project.org/pipermail/u-boot/2026-July/627018.html

 tools/buildman/boards.py | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tools/buildman/boards.py b/tools/buildman/boards.py
index 2fe43c3fc896..5d5d3a3822b1 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 AttributeError:
+                value = ''
+            if value == 'y':
+                params['arch'] = 'loongarch64'
+            else:
+                params['arch'] = 'loongarch32'
+
         return params, warnings
 
 

base-commit: baa64b2f892890f00a377eac4a3e685472bb56b5
-- 
2.54.0

Reply via email to