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