Add x32 support (Closes: #773409)
authorStephane Glondu <steph@glondu.net>
Tue, 16 Feb 2016 10:33:59 +0000 (11:33 +0100)
committerStephane Glondu <steph@glondu.net>
Tue, 16 Feb 2016 10:33:59 +0000 (11:33 +0100)
debian/patches/0011-Compatibility-with-x32-architecture.patch [new file with mode: 0644]
debian/patches/series

diff --git a/debian/patches/0011-Compatibility-with-x32-architecture.patch b/debian/patches/0011-Compatibility-with-x32-architecture.patch
new file mode 100644 (file)
index 0000000..8a1bc78
--- /dev/null
@@ -0,0 +1,49 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Tue, 16 Feb 2016 11:29:16 +0100
+Subject: Compatibility with x32 architecture
+
+Origin: https://github.com/ocaml/ocaml/commit/58c07fa89ec6546cea911f1d2e7803fd7aa75de9
+Bug: http://caml.inria.fr/mantis/view.php?id=6722
+Bug-Debian: https://bugs.debian.org/773409
+---
+ byterun/caml/signals_machdep.h |  2 +-
+ configure                      | 11 +++++------
+ 2 files changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/byterun/caml/signals_machdep.h b/byterun/caml/signals_machdep.h
+index 4987e2f..ce6bd2e 100644
+--- a/byterun/caml/signals_machdep.h
++++ b/byterun/caml/signals_machdep.h
+@@ -16,7 +16,7 @@
+ #ifndef CAML_SIGNALS_MACHDEP_H
+ #define CAML_SIGNALS_MACHDEP_H
+-#if defined(__GNUC__) && defined(__i386__)
++#if defined(__GNUC__) && (defined(__i386__) || (defined(__x86_64__) && defined(__ILP32__)))
+ #define Read_and_clear(dst,src) \
+   asm("xorl %0, %0; xchgl %0, %1" \
+diff --git a/configure b/configure
+index dfcb849..c37a2e5 100755
+--- a/configure
++++ b/configure
+@@ -874,14 +874,13 @@ esac
+ # Some platforms exist both in 32-bit and 64-bit variants, not distinguished
+ # by $target.  Turn off native code compilation on platforms where 64-bit mode
+-# is not supported.  (PR#4441)
++# is not supported  (PR#4441).
++# Sometimes, it's 32-bit mode that is not supported  (PR#6722).
+-if $arch64; then
+-  case "$arch,$model" in
+-    sparc,default|power,ppc)
++case "$arch64,$arch,$model" in
++  true,sparc,*|true,power,ppc|false,amd64,*)
+       arch=none; model=default; system=unknown;;
+-  esac
+-fi
++esac
+ if test -z "$ccoption"; then
+   nativecc="$bytecc"
index 914223c486cc3600cac73996565848398d4d226e..e375d30d37accb0d23a287abacc853a94198ecc0 100644 (file)
@@ -8,3 +8,4 @@
 0008-Native-backtraces-don-t-work-on-powerpc-and-sparc.patch
 0010-Enable-ocamldoc-to-build-reproducible-manpages.patch
 0010-Add-a-.file-directive-to-generated-.s-files.patch
+0011-Compatibility-with-x32-architecture.patch