44 lines
1.5 KiB
Diff
44 lines
1.5 KiB
Diff
diff --git a/src/basic/architecture.c b/src/basic/architecture.c
|
|
index 409632c..e86aff3 100644
|
|
--- a/src/basic/architecture.c
|
|
+++ b/src/basic/architecture.c
|
|
@@ -118,6 +118,8 @@ int uname_architecture(void) {
|
|
#elif defined(__arc__)
|
|
{ "arc", ARCHITECTURE_ARC },
|
|
{ "arceb", ARCHITECTURE_ARC_BE },
|
|
+#elif defined(__loongarch64)
|
|
+ { "loongarch64", ARCHITECTURE_LOONGARCH64 },
|
|
#else
|
|
#error "Please register your architecture here!"
|
|
#endif
|
|
@@ -173,6 +175,7 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = {
|
|
[ARCHITECTURE_RISCV64] = "riscv64",
|
|
[ARCHITECTURE_ARC] = "arc",
|
|
[ARCHITECTURE_ARC_BE] = "arc-be",
|
|
+ [ARCHITECTURE_LOONGARCH64] = "loongarch64",
|
|
};
|
|
|
|
DEFINE_STRING_TABLE_LOOKUP(architecture, int);
|
|
diff --git a/src/basic/architecture.h b/src/basic/architecture.h
|
|
index 9abc183..758bd8c 100644
|
|
--- a/src/basic/architecture.h
|
|
+++ b/src/basic/architecture.h
|
|
@@ -44,6 +44,7 @@ enum {
|
|
ARCHITECTURE_RISCV64,
|
|
ARCHITECTURE_ARC,
|
|
ARCHITECTURE_ARC_BE,
|
|
+ ARCHITECTURE_LOONGARCH64,
|
|
_ARCHITECTURE_MAX,
|
|
_ARCHITECTURE_INVALID = -EINVAL,
|
|
};
|
|
@@ -229,6 +230,9 @@ int uname_architecture(void);
|
|
# define native_architecture() ARCHITECTURE_ARC
|
|
# define LIB_ARCH_TUPLE "arc-linux"
|
|
# endif
|
|
+#elif defined(__loongarch64)
|
|
+# define native_architecture() ARCHITECTURE_LOONGARCH64
|
|
+# define LIB_ARCH_TUPLE "loongarch64-linux-gnu"
|
|
#else
|
|
# error "Please register your architecture here!"
|
|
#endif
|