summaryrefslogtreecommitdiff
path: root/src/basic/architecture.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2017-03-02 17:54:13 +0100
committerGitHub <noreply@github.com>2017-03-02 17:54:13 +0100
commit8cd23cd480acbb799af030195200a1f5c20c4f18 (patch)
tree26c9f123723c63fdc7496f9d2c9e55a5d20b89da /src/basic/architecture.h
parent4317cf9026b8f2fd7db25670a79af1c8f09e3db5 (diff)
parent9da2a0ac4e09dc36da5570bec80fd7d78ac4da8e (diff)
Merge pull request #5515 from glaubitz/master
Refine sub-architecture detection in basic/architecture
Diffstat (limited to 'src/basic/architecture.h')
-rw-r--r--src/basic/architecture.h30
1 files changed, 27 insertions, 3 deletions
diff --git a/src/basic/architecture.h b/src/basic/architecture.h
index 46883719d1..db7e03f02a 100644
--- a/src/basic/architecture.h
+++ b/src/basic/architecture.h
@@ -79,7 +79,11 @@ int uname_architecture(void);
#if defined(__x86_64__)
# define native_architecture() ARCHITECTURE_X86_64
-# define LIB_ARCH_TUPLE "x86_64-linux-gnu"
+# if defined(__ILP32__)
+# define LIB_ARCH_TUPLE "x86_64-linux-gnux32"
+# else
+# define LIB_ARCH_TUPLE "x86_64-linux-gnu"
+# endif
# define SECONDARY_ARCHITECTURE ARCHITECTURE_X86
#elif defined(__i386__)
# define native_architecture() ARCHITECTURE_X86
@@ -97,7 +101,11 @@ int uname_architecture(void);
#elif defined(__powerpc__)
# if __BYTE_ORDER == __BIG_ENDIAN
# define native_architecture() ARCHITECTURE_PPC
-# define LIB_ARCH_TUPLE "powerpc-linux-gnu"
+# if defined(__NO_FPRS__)
+# define LIB_ARCH_TUPLE "powerpc-linux-gnuspe"
+# else
+# define LIB_ARCH_TUPLE "powerpc-linux-gnu"
+# endif
# else
# define native_architecture() ARCHITECTURE_PPC_LE
# error "Missing LIB_ARCH_TUPLE for PPCLE"
@@ -189,7 +197,23 @@ int uname_architecture(void);
# error "Missing LIB_ARCH_TUPLE for SH64"
#elif defined(__sh__)
# define native_architecture() ARCHITECTURE_SH
-# define LIB_ARCH_TUPLE "sh4-linux-gnu"
+# if defined(__SH1__)
+# define LIB_ARCH_TUPLE "sh1-linux-gnu"
+# elif defined(__SH2__)
+# define LIB_ARCH_TUPLE "sh2-linux-gnu"
+# elif defined(__SH2A__)
+# define LIB_ARCH_TUPLE "sh2a-linux-gnu"
+# elif defined(__SH2E__)
+# define LIB_ARCH_TUPLE "sh2e-linux-gnu"
+# elif defined(__SH3__)
+# define LIB_ARCH_TUPLE "sh3-linux-gnu"
+# elif defined(__SH3E__)
+# define LIB_ARCH_TUPLE "sh3e-linux-gnu"
+# elif defined(__SH4__) && !defined(__SH4A__)
+# define LIB_ARCH_TUPLE "sh4-linux-gnu"
+# elif defined(__SH4A__)
+# define LIB_ARCH_TUPLE "sh4a-linux-gnu"
+# endif
#elif defined(__m68k__)
# define native_architecture() ARCHITECTURE_M68K
# define LIB_ARCH_TUPLE "m68k-linux-gnu"