From: Dandan Zhang <zhangdandan@loongson.cn>
Date: Thu, 3 Apr 2025 05:56:17 +0200
Subject: Add support for loongarch64

Bug-Debian: https://bugs.debian.org/1053785

Last-Update: 2023-10-11
---
 .../include/nsprpub/pr/include/prcpucfg_linux.h    | 46 ++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/src/sdk/mozilla_chardet/include/nsprpub/pr/include/prcpucfg_linux.h b/src/sdk/mozilla_chardet/include/nsprpub/pr/include/prcpucfg_linux.h
index bd6e08c..8736417 100644
--- a/src/sdk/mozilla_chardet/include/nsprpub/pr/include/prcpucfg_linux.h
+++ b/src/sdk/mozilla_chardet/include/nsprpub/pr/include/prcpucfg_linux.h
@@ -486,6 +486,52 @@
 #define PR_BYTES_PER_WORD_LOG2   2
 #define PR_BYTES_PER_DWORD_LOG2  3
 
+#elif defined(__loongarch__) && __loongarch_grlen == 64
+
+#define IS_LITTLE_ENDIAN 1
+#undef IS_BIG_ENDIAN
+#define IS_64
+
+#define PR_BYTES_PER_BYTE   1
+#define PR_BYTES_PER_SHORT  2
+#define PR_BYTES_PER_INT    4
+#define PR_BYTES_PER_INT64  8
+#define PR_BYTES_PER_LONG   8
+#define PR_BYTES_PER_FLOAT  4
+#define PR_BYTES_PER_DOUBLE 8
+#define PR_BYTES_PER_WORD   4
+#define PR_BYTES_PER_DWORD  8
+
+#define PR_BITS_PER_BYTE    8
+#define PR_BITS_PER_SHORT   16
+#define PR_BITS_PER_INT     32
+#define PR_BITS_PER_INT64   64
+#define PR_BITS_PER_LONG    64
+#define PR_BITS_PER_FLOAT   32
+#define PR_BITS_PER_DOUBLE  64
+#define PR_BITS_PER_WORD    32
+
+#define PR_BITS_PER_BYTE_LOG2   3
+#define PR_BITS_PER_SHORT_LOG2  4
+#define PR_BITS_PER_INT_LOG2    5
+#define PR_BITS_PER_INT64_LOG2  6
+#define PR_BITS_PER_LONG_LOG2   6
+#define PR_BITS_PER_FLOAT_LOG2  5
+#define PR_BITS_PER_DOUBLE_LOG2 6
+#define PR_BITS_PER_WORD_LOG2   5
+
+#define PR_ALIGN_OF_SHORT   2
+#define PR_ALIGN_OF_INT     4
+#define PR_ALIGN_OF_LONG    8
+#define PR_ALIGN_OF_INT64   8
+#define PR_ALIGN_OF_FLOAT   4
+#define PR_ALIGN_OF_DOUBLE  8
+#define PR_ALIGN_OF_POINTER 8
+#define PR_ALIGN_OF_WORD    4
+
+#define PR_BYTES_PER_WORD_LOG2   2
+#define PR_BYTES_PER_DWORD_LOG2  3
+
 #elif defined(__mips__)
 
 #ifdef __MIPSEB__
