1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
From: Adam Borowski <kilobyte@angband.pl>
Date: Tue, 30 Jul 2024 15:09:54 +0200
Subject: Properly detect x32.
As usually, x32 gets mistaken for amd64 (both are x86-64 ABIs after all).
This version doesn't use any assembly yet, a proper port is needed.
---
common/common.h | 2 +-
configure | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/common/common.h b/common/common.h
index 975e1d4..ff1d410 100644
--- a/common/common.h
+++ b/common/common.h
@@ -804,7 +804,7 @@ static ALWAYS_INLINE int x264_predictor_clip( int16_t (*dst)[2], int16_t (*mvc)[
return cnt;
}
-#if ARCH_X86 || ARCH_X86_64
+#if ARCH_X86 || ARCH_X86_64 || ARCH_X32
#include "x86/util.h"
#endif
diff --git a/configure b/configure
index e242e73..de2b711 100755
--- a/configure
+++ b/configure
@@ -736,6 +736,10 @@ esac
LDFLAGS="$LDFLAGS $libm"
+case `$CC -dumpmachine` in
+ *gnux32) host_cpu=x32
+esac
+
stack_alignment=4
case $host_cpu in
i*86)
@@ -792,6 +796,10 @@ case $host_cpu in
ASFLAGS="$ASFLAGS -f elf64"
fi
;;
+ x32)
+ ARCH="X32"
+ CFLAGS="$CFLAGS -fPIC"
+ ;;
powerpc*)
ARCH="PPC"
if [ $asm = auto ] ; then
|