summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels M?ller <nisse@lysator.liu.se>2018-04-22 21:22:29 +0200
committerNiels M?ller <nisse@lysator.liu.se>2018-04-22 21:22:29 +0200
commit03b2c76e043ce9fa262cb4f98d1193bc743d4797 (patch)
treeb035b8f48c0497518745788785c0328f90d76752
parent84effdd707b57bdfb62110b85c4ae4eb69cdac52 (diff)
downloadgmp-03b2c76e043ce9fa262cb4f98d1193bc743d4797.tar.gz
Configure tweaks for windows on aarch64.
-rw-r--r--ChangeLog10
-rw-r--r--acinclude.m44
-rw-r--r--configure.ac6
3 files changed, 16 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index a005cb875..9097aee2e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2018-04-22 Niels Möller <nisse@lysator.liu.se>
+
+ From Martin Storsjö:
+ * configure.ac (aarch64): Just as on windows/x86_64, "long" still
+ is 32 bit on aarch64. To distinguish between 32-bit and 64-bit
+ ABI, test sizeof(void*) instead of sizeof(long). Use long long for
+ mp_limb_t for mingw targets.
+ * acinclude.m4 (GMP_C_TEST_SIZEOF): Allow '*' in the type name,
+ e.g., void*.
+
2018-04-18 Marc Glisse <marc.glisse@inria.fr>
* mpq/clear.c: Handle lazy numerator.
diff --git a/acinclude.m4 b/acinclude.m4
index 2ea5f5aa2..6eb73435e 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -907,8 +907,8 @@ dnl a workaround for a HP compiler bug.
AC_DEFUN([GMP_C_TEST_SIZEOF],
[echo "configure: testlist $2" >&AC_FD_CC
-[gmp_sizeof_type=`echo "$2" | sed 's/sizeof-\([a-z]*\).*/\1/'`]
-[gmp_sizeof_want=`echo "$2" | sed 's/sizeof-[a-z]*-\([0-9]*\).*/\1/'`]
+[gmp_sizeof_type=`echo "$2" | sed 's/sizeof-\([a-z\*]*\).*/\1/'`]
+[gmp_sizeof_want=`echo "$2" | sed 's/sizeof-[a-z\*]*-\([0-9]*\).*/\1/'`]
AC_MSG_CHECKING([compiler $1 has sizeof($gmp_sizeof_type)==$gmp_sizeof_want])
cat >conftest.c <<EOF
[int
diff --git a/configure.ac b/configure.ac
index 18384990f..e74edf641 100644
--- a/configure.ac
+++ b/configure.ac
@@ -602,8 +602,8 @@ case $host in
CALLING_CONVENTIONS_OBJS='arm32call.lo arm32check.lo'
CALLING_CONVENTIONS_OBJS_64=""
cclist_64="gcc cc"
- any_32_testlist="sizeof-long-4"
- any_64_testlist="sizeof-long-8"
+ any_32_testlist="sizeof-void*-4"
+ any_64_testlist="sizeof-void*-8"
# This is needed for clang, which is not content with flags like -mfpu=neon
# alone.
@@ -612,6 +612,8 @@ case $host in
gcc_cflags_fpmode="-mfloat-abi=softfp" ;;
*-*-*eabihf)
gcc_cflags_fpmode="-mfloat-abi=hard" ;;
+ *-*-mingw*)
+ limb_64=longlong ;;
esac
# FIXME: We make mandatory compiler options optional here. We should