From: YunQiang Su Date: Tue, 28 Feb 2017 10:35:40 +0000 (+0800) Subject: Fix MIPS N64 and N32 LIB_ARCH_TUPLE (#5469) X-Git-Tag: v233~26 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fsystemd.git;a=commitdiff_plain;h=caf49b95b3a6efe9455078098c729d83b08e5206 Fix MIPS N64 and N32 LIB_ARCH_TUPLE (#5469) * Fix MIPS N64 and N32 LIB_ARCH_TUPLE For mips, we have 3 major ABIs, they are N64, N32 and O32. Both N32 and N64 defined __mips64__, and only N64 defined __LP64__. --- diff --git a/src/basic/architecture.h b/src/basic/architecture.h index b0a7de5dc92..46883719d16 100644 --- a/src/basic/architecture.h +++ b/src/basic/architecture.h @@ -124,13 +124,21 @@ int uname_architecture(void); #elif defined(__sparc__) # define native_architecture() ARCHITECTURE_SPARC # define LIB_ARCH_TUPLE "sparc-linux-gnu" -#elif defined(__mips64__) +#elif defined(__mips64) && defined(__LP64__) # if __BYTE_ORDER == __BIG_ENDIAN # define native_architecture() ARCHITECTURE_MIPS64 -# error "Missing LIB_ARCH_TUPLE for MIPS64" +# define LIB_ARCH_TUPLE "mips64-linux-gnuabi64" # else # define native_architecture() ARCHITECTURE_MIPS64_LE -# error "Missing LIB_ARCH_TUPLE for MIPS64_LE" +# define LIB_ARCH_TUPLE "mips64el-linux-gnuabi64" +# endif +#elif defined(__mips64) +# if __BYTE_ORDER == __BIG_ENDIAN +# define native_architecture() ARCHITECTURE_MIPS64 +# define LIB_ARCH_TUPLE "mips64-linux-gnuabin32" +# else +# define native_architecture() ARCHITECTURE_MIPS64_LE +# define LIB_ARCH_TUPLE "mips64el-linux-gnuabin32" # endif #elif defined(__mips__) # if __BYTE_ORDER == __BIG_ENDIAN