diff mbox series

[3/7] arch: add support for s390 (ILP32)

Message ID 20191030090333.3412-6-luc.vanoostenryck@gmail.com (mailing list archive)
State Superseded, archived
Headers show
Series improve cross-compiling usage | expand

Commit Message

Luc Van Oostenryck Oct. 30, 2019, 9:03 a.m. UTC
On s390x, the flag -m31 is needed to enable this mode.

Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
---
 lib.c     | 3 +++
 machine.h | 4 +++-
 target.c  | 1 +
 3 files changed, 7 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/lib.c b/lib.c
index 2a517b447..58c12c77b 100644
--- a/lib.c
+++ b/lib.c
@@ -456,6 +456,8 @@  static char **handle_switch_m(char *arg, char **next)
 		arch_m64 = ARCH_LP64;
 	} else if (!strcmp(arg, "m32") || !strcmp(arg, "m16")) {
 		arch_m64 = ARCH_LP32;
+	} else if (!strcmp(arg, "m31")) {
+		arch_m64 = ARCH_LP32;
 	} else if (!strcmp(arg, "mx32")) {
 		arch_m64 = ARCH_X32;
 	} else if (!strcmp(arg, "msize-llp64")) {
@@ -1356,6 +1358,7 @@  static void predefined_macros(void)
 	case MACH_S390X:
 		predefine("__zarch__", 1, "1");
 		predefine("__s390x__", 1, "1");
+	case MACH_S390:
 		predefine("__s390__", 1, "1");
 		break;
 	case MACH_SPARC64:
diff --git a/machine.h b/machine.h
index f7567efed..e24822a7f 100644
--- a/machine.h
+++ b/machine.h
@@ -31,8 +31,8 @@  enum machine {
 	MACH_PPC32,	MACH_PPC64,
 	MACH_RISCV32,	MACH_RISCV64,
 	MACH_SPARC32,	MACH_SPARC64,
+	MACH_S390,	MACH_S390X,
 	MACH_M68K,
-	MACH_S390X,
 	MACH_UNKNOWN
 };
 
@@ -64,6 +64,8 @@  enum machine {
 #define MACH_NATIVE	MACH_M68K
 #elif defined(__s390x__) || defined(__zarch__)
 #define MACH_NATIVE	MACH_S390X
+#elif defined(__s390__)
+#define MACH_NATIVE	MACH_S390
 #else
 #define MACH_NATIVE	MACH_UNKNOWN
 #endif
diff --git a/target.c b/target.c
index c2ab55490..7829e8f9a 100644
--- a/target.c
+++ b/target.c
@@ -97,6 +97,7 @@  void init_target(void)
 	switch (arch_mach) {
 	case MACH_ARM:
 	case MACH_MIPS32:
+	case MACH_S390:
 	case MACH_S390X:
 	case MACH_SPARC32:
 		bits_in_longdouble = 64;