This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

32-bit hosts with 64-bit long long


This patch enables 32-bit hosts to build binutils for a 64-bit target
making use of printf support for long long if the host long long is
64 bits.

bfd/
	* configure.in: Delete BFD_HOST_LONG_LONG and bfd checks for
	long long.  Partly revert 2007-07-12 change, so that
	BFD_HOST_64BIT_LONG and BFD_HOST_64BIT_LONG_LONG are set
	independent of "void *" size.
	* configure: Regenerate.
	* config.in: Regenerate.
	* Makefile.in: Regenerate.
bfd/doc/
	* Makefile.in: Regenerate.

Index: bfd/configure.in
===================================================================
RCS file: /cvs/src/src/bfd/configure.in,v
retrieving revision 1.234
diff -u -p -r1.234 configure.in
--- bfd/configure.in	28 Aug 2007 11:02:55 -0000	1.234
+++ bfd/configure.in	13 Sep 2007 14:22:12 -0000
@@ -108,39 +108,30 @@ AC_PROG_INSTALL
 
 BFD_HOST_64BIT_LONG=0
 BFD_HOST_64BIT_LONG_LONG=0
-BFD_HOST_LONG_LONG=0
 BFD_HOST_64_BIT_DEFINED=0
 BFD_HOST_64_BIT=
 BFD_HOST_U_64_BIT=
 BFD_HOSTPTR_T="unsigned long"
 
-AC_MSG_CHECKING([for long long])
-AC_CACHE_VAL(bfd_cv_has_long_long,
-[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[unsigned long long ll = 18446744073709551615ULL;]])],[bfd_cv_has_long_long=yes],[bfd_cv_has_long_long=no])])
-AC_MSG_RESULT($bfd_cv_has_long_long)
-if test $bfd_cv_has_long_long = yes; then
-  BFD_HOST_LONG_LONG=1
-  AC_CHECK_SIZEOF(long long)
-fi
-
+AC_CHECK_SIZEOF(long long)
 AC_CHECK_SIZEOF(void *)
 AC_CHECK_SIZEOF(long)
 
 if test "x${ac_cv_sizeof_void_p}" = "x8"; then
   host64=true
-  if test "x${ac_cv_sizeof_long}" = "x8"; then
+fi
+
+if test "x${ac_cv_sizeof_long}" = "x8"; then
   BFD_HOST_64BIT_LONG=1
   test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long"
   test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long"
-  elif test "x${ac_cv_sizeof_long_long}" = "x8"; then
-    BFD_HOST_64BIT_LONG_LONG=1
-    test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long"
-    test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long"
-    BFD_HOSTPTR_T="unsigned long long"
-  fi
 elif test "x${ac_cv_sizeof_long_long}" = "x8"; then
+  BFD_HOST_64BIT_LONG_LONG=1
   test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long"
   test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long"
+  if test "x${ac_cv_sizeof_void_p}" = "x8"; then
+    BFD_HOSTPTR_T="unsigned long long"
+  fi
 fi
 
 if test -n "${HOST_64BIT_TYPE}" -a -n "${HOST_U_64BIT_TYPE}"; then
@@ -151,7 +142,6 @@ fi
 
 AC_SUBST(BFD_HOST_64BIT_LONG)
 AC_SUBST(BFD_HOST_64BIT_LONG_LONG)
-AC_SUBST(BFD_HOST_LONG_LONG)
 AC_SUBST(BFD_HOST_64_BIT_DEFINED)
 AC_SUBST(BFD_HOST_64_BIT)
 AC_SUBST(BFD_HOST_U_64_BIT)

-- 
Alan Modra
Australia Development Lab, IBM


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]