From b13b4977ae1018ab94ffcd85b5db1a377afcfee1 Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Fri, 21 Feb 2025 11:38:35 +0100
Subject: [PATCH] host-cpu-c-abi: Improve support for loongarch32.

Reported by <wuruilong@loongson.cn>
in <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1098478>
via Simon Josefsson.

* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Prepare template for
__loongarch32__ in config.h.
(gl_HOST_CPU_C_ABI_32BIT): Speed up the configure test on loongarch*.
---
 ChangeLog            | 10 ++++++++++
 m4/host-cpu-c-abi.m4 |  9 ++++++---
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7b3e336467..947c2b4e1c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2025-02-21  Bruno Haible  <bruno@clisp.org>
+
+	host-cpu-c-abi: Improve support for loongarch32.
+	Reported by <wuruilong@loongson.cn>
+	in <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1098478>
+	via Simon Josefsson.
+	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Prepare template for
+	__loongarch32__ in config.h.
+	(gl_HOST_CPU_C_ABI_32BIT): Speed up the configure test on loongarch*.
+
 2025-02-19  Bruno Haible  <bruno@clisp.org>
 
 	readutmp: Let callers distinguish LOGINs from USERs.
diff --git a/m4/host-cpu-c-abi.m4 b/m4/host-cpu-c-abi.m4
index af801e4c66..f97ba73be5 100644
--- a/m4/host-cpu-c-abi.m4
+++ b/m4/host-cpu-c-abi.m4
@@ -1,5 +1,5 @@
 # host-cpu-c-abi.m4
-# serial 18
+# serial 19
 dnl Copyright (C) 2002-2025 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -384,6 +384,9 @@ EOF
 #ifndef __ia64__
 #undef __ia64__
 #endif
+#ifndef __loongarch32__
+#undef __loongarch32__
+#endif
 #ifndef __loongarch64__
 #undef __loongarch64__
 #endif
@@ -503,9 +506,9 @@ changequote([,])dnl
          if test -n "$gl_cv_host_cpu_c_abi"; then
            dnl gl_HOST_CPU_C_ABI has already been run. Use its result.
            case "$gl_cv_host_cpu_c_abi" in
-             i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
+             i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | loongarch32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
                gl_cv_host_cpu_c_abi_32bit=yes ;;
-             x86_64 | alpha | arm64 | aarch64c | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
+             x86_64 | alpha | arm64 | aarch64c | hppa64 | ia64 | loongarch64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
                gl_cv_host_cpu_c_abi_32bit=no ;;
              *)
                gl_cv_host_cpu_c_abi_32bit=unknown ;;
-- 
2.39.5