# define LIB_ARCH_TUPLE "sh4a-linux-gnu"
# endif
#elif defined(__loongarch64)
-# pragma message "Please update the Arch tuple of loongarch64 after psABI is stable"
-# define native_architecture() ARCHITECTURE_LOONGARCH64
-# define LIB_ARCH_TUPLE "loongarch64-linux-gnu"
+# define native_architecture() ARCHITECTURE_LOONGARCH64
+# if defined(__loongarch_double_float)
+# define LIB_ARCH_TUPLE "loongarch64-linux-gnuf64"
+# elif defined(__loongarch_single_float)
+# define LIB_ARCH_TUPLE "loongarch64-linux-gnuf32"
+# elif defined(__loongarch_soft_float)
+# define LIB_ARCH_TUPLE "loongarch64-linux-gnusf"
+# else
+# error "Unrecognized loongarch architecture variant"
+# endif
#elif defined(__m68k__)
# define native_architecture() ARCHITECTURE_M68K
# define LIB_ARCH_TUPLE "m68k-linux-gnu"
"usr/lib64\0", "ld-linux-x86-64.so.2" },
# define KNOW_LIB64_DIRS 1
#elif defined(__ia64__)
+#elif defined(__loongarch64)
+# define KNOW_LIB64_DIRS 1
+# if defined(__loongarch_double_float)
+ { "lib64", 0, "usr/lib/"LIB_ARCH_TUPLE"\0"
+ "usr/lib64\0", "ld-linux-loongarch-lp64d.so.1" },
+# elif defined(__loongarch_single_float)
+ { "lib64", 0, "usr/lib/"LIB_ARCH_TUPLE"\0"
+ "usr/lib64\0", "ld-linux-loongarch-lp64f.so.1" },
+# elif defined(__loongarch_soft_float)
+ { "lib64", 0, "usr/lib/"LIB_ARCH_TUPLE"\0"
+ "usr/lib64\0", "ld-linux-loongarch-lp64s.so.1" },
+# else
+# error "Unknown LoongArch ABI"
+# endif
#elif defined(__m68k__)
/* No link needed. */
# define KNOW_LIB64_DIRS 1