aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2018-03-02 12:09:19 -0500
committerJack Lloyd <[email protected]>2018-03-02 12:09:19 -0500
commit4b6f451b837ac487996592ae449ba2ef95a83456 (patch)
tree28879f01e10ce455ff42b7fa7ebf3a5f68115a93
parente5a9aed2dd2723b7af502e454a23d1b4fa28fbbf (diff)
Add (untested) support for x32 build
Needed for Debian
-rw-r--r--src/build-data/arch/x32.txt16
-rw-r--r--src/build-data/cc/gcc.txt1
-rw-r--r--src/build-data/detect_arch.cpp5
3 files changed, 21 insertions, 1 deletions
diff --git a/src/build-data/arch/x32.txt b/src/build-data/arch/x32.txt
new file mode 100644
index 000000000..d69e1247d
--- /dev/null
+++ b/src/build-data/arch/x32.txt
@@ -0,0 +1,16 @@
+endian little
+
+family x86
+
+<isa_extensions>
+aesni
+avx2
+bmi2
+rdrand
+rdseed
+sha
+sse2
+sse41
+sse42
+ssse3
+</isa_extensions>
diff --git a/src/build-data/cc/gcc.txt b/src/build-data/cc/gcc.txt
index f1a2edbe2..3d7eb98fe 100644
--- a/src/build-data/cc/gcc.txt
+++ b/src/build-data/cc/gcc.txt
@@ -86,6 +86,7 @@ sparc64 -> "-m64 -mno-app-regs"
ppc64 -> "-m64"
x86_32 -> "-m32"
x86_64 -> "-m64"
+x32 -> "-mx32"
netbsd -> "-D_NETBSD_SOURCE"
qnx -> "-fexceptions -D_QNX_SOURCE"
diff --git a/src/build-data/detect_arch.cpp b/src/build-data/detect_arch.cpp
index 577b73ada..f5e6ecd58 100644
--- a/src/build-data/detect_arch.cpp
+++ b/src/build-data/detect_arch.cpp
@@ -1,5 +1,8 @@
-#if defined(__x86_64__) || defined(_M_X64)
+#if defined(__x86_64__) && defined(__ILP32__)
+ X32
+
+#elif defined(__x86_64__) || defined(_M_X64)
X86_64
#elif defined(__i386__) || defined(__i386) || defined(_M_IX86)