aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libiberty/ChangeLog8
-rw-r--r--libiberty/config.in9
-rwxr-xr-xlibiberty/configure95
-rw-r--r--libiberty/configure.ac6
4 files changed, 90 insertions, 28 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 17fb033..b3dc417 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,11 @@
+2009-09-04 Ozkan Sezer <sezeroz@gmail.com>
+
+ PR target/39065
+ * configure.ac: Replace AC_CHECK_TYPE() for intptr_t and uintptr_t
+ with AC_TYPE_INTPTR_T and AC_TYPE_UINTPTR_T.
+ * config.in: Regenerated.
+ * configure: Regenerated.
+
2009-09-03 Ozkan Sezer <sezeroz@gmail.com>
PR target/39065
diff --git a/libiberty/config.in b/libiberty/config.in
index e962769..1931648 100644
--- a/libiberty/config.in
+++ b/libiberty/config.in
@@ -121,6 +121,9 @@
/* Define to 1 if you have the `insque' function. */
#undef HAVE_INSQUE
+/* Define to 1 if the system has the type `intptr_t'. */
+#undef HAVE_INTPTR_T
+
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
@@ -457,13 +460,15 @@
#undef inline
#endif
-/* Define to `long' if <sys/types.h> does not define. */
+/* Define to the type of a signed integer type wide enough to hold a pointer,
+ if such a type exists, and if the system does not define it. */
#undef intptr_t
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
-/* Define to `unsigned long' if <sys/types.h> does not define. */
+/* Define to the type of an unsigned integer type wide enough to hold a
+ pointer, if such a type exists, and if the system does not define it. */
#undef uintptr_t
/* Define as `fork' if `vfork' does not work. */
diff --git a/libiberty/configure b/libiberty/configure
index 9463f8f..423e59b 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -5046,29 +5046,6 @@ _ACEOF
-ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default"
-if test "x$ac_cv_type_intptr_t" = x""yes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define intptr_t long
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default"
-if test "x$ac_cv_type_uintptr_t" = x""yes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define uintptr_t unsigned long
-_ACEOF
-
-fi
-
-
# Look for a 64-bit type.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a 64-bit type" >&5
$as_echo_n "checking for a 64-bit type... " >&6; }
@@ -5148,6 +5125,78 @@ _ACEOF
fi
+
+ ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default"
+if test "x$ac_cv_type_intptr_t" = x""yes; then :
+
+$as_echo "#define HAVE_INTPTR_T 1" >>confdefs.h
+
+else
+ for ac_type in 'int' 'long int' 'long long int'; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+cat >>confdefs.h <<_ACEOF
+#define intptr_t $ac_type
+_ACEOF
+
+ ac_type=
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ test -z "$ac_type" && break
+ done
+fi
+
+
+
+ ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default"
+if test "x$ac_cv_type_uintptr_t" = x""yes; then :
+
+$as_echo "#define HAVE_UINTPTR_T 1" >>confdefs.h
+
+else
+ for ac_type in 'unsigned int' 'unsigned long int' \
+ 'unsigned long long int'; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+cat >>confdefs.h <<_ACEOF
+#define uintptr_t $ac_type
+_ACEOF
+
+ ac_type=
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ test -z "$ac_type" && break
+ done
+fi
+
+
+
# Given the above check, we always have uintptr_t or a fallback
# definition. So define HAVE_UINTPTR_T in case any imported code
# relies on it.
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
index c34fc10..00dd68d 100644
--- a/libiberty/configure.ac
+++ b/libiberty/configure.ac
@@ -254,9 +254,6 @@ libiberty_AC_DECLARE_ERRNO
# Determine the size of an int for struct fibnode.
AC_CHECK_SIZEOF([int])
-AC_CHECK_TYPE(intptr_t, long)
-AC_CHECK_TYPE(uintptr_t, unsigned long)
-
# Look for a 64-bit type.
AC_MSG_CHECKING([for a 64-bit type])
AC_CACHE_VAL(liberty_cv_uint64,
@@ -290,6 +287,9 @@ if test "$liberty_cv_uint64" != none; then
[Define to an unsigned 64-bit type available in the compiler.])
fi
+AC_TYPE_INTPTR_T
+AC_TYPE_UINTPTR_T
+
# Given the above check, we always have uintptr_t or a fallback
# definition. So define HAVE_UINTPTR_T in case any imported code
# relies on it.