From 56cd168c38ddf1cf76e30e160fc2519300035f8b Mon Sep 17 00:00:00 2001 From: hanjinpeng Date: Wed, 22 Oct 2025 01:06:51 +0800 Subject: [PATCH] Add better support for the LoongArch architecture Resolve systemd-bootchart compile failed on Loongson architecture (loongarch). Fixes https://github.com/systemd/systemd-bootchart/issues/68. This PR is to provide better support for the Loongson architecture. References to related PR (https://github.com/systemd/systemd/pull/21288). --- configure.ac | 1 + src/architecture.h | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index f977c78..1a01695 100644 --- a/configure.ac +++ b/configure.ac @@ -46,6 +46,7 @@ SET_ARCH(MIPS, mips*) SET_ARCH(AARCH64, aarch64*) SET_ARCH(RISCV64, riscv64*) SET_ARCH(RISCV32, riscv32*) +SET_ARCH(LOONGARCH64, loongarch64*) AC_CHECK_SIZEOF(pid_t) AC_CHECK_SIZEOF(uid_t) diff --git a/src/architecture.h b/src/architecture.h index f33cd00..5609313 100644 --- a/src/architecture.h +++ b/src/architecture.h @@ -59,7 +59,7 @@ enum { ARCHITECTURE_CRIS, ARCHITECTURE_RISCV64, ARCHITECTURE_RISCV32, - ARCHITECTURE_LOONGARCH, + ARCHITECTURE_LOONGARCH64, _ARCHITECTURE_MAX, _ARCHITECTURE_INVALID = -1 }; @@ -155,9 +155,9 @@ int uname_architecture(void); #elif defined(__riscv) && __riscv_xlen == 32 # define native_architecture() ARCHITECTURE_RISCV32 # define define LIB_ARCH_TUPLE "riscv32-linux-gnu" -#elif defined(__loongarch__) && __loongarch_grlen == 64 -# define native_architecture() ARCHITECTURE_LOONGARCH -# define define LIB_ARCH_TUPLE "loongarch64-linux-gnu" +#elif defined(__loongarch64) +# define native_architecture() ARCHITECTURE_LOONGARCH64 +# define LIB_ARCH_TUPLE "loongarch64-linux-gnu" #elif defined(__aarch64__) # if __BYTE_ORDER == __BIG_ENDIAN # define native_architecture() ARCHITECTURE_ARM64_BE