diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 92b999fd3c305d038ee8d8942044edd1a192aa45..ca5d3c0dce54fdabf1ac3065120a6a522a91ed81 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,12 @@
+2008-06-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR libgomp/36469
+	* configure.ac: Add AC_CHECK_FUNCS (strtoull).
+	* configure: Regenerated.
+	* config.h.in: Regenerated.
+	* env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
+	defined.
+
 2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
 
 	PR bootstrap/36452
diff --git a/libgomp/config.h.in b/libgomp/config.h.in
index 88a616ca1eddd783835de1718102de2c2d7bf2a5..5f0dcc7570bdca47664f6a95286b75ef6a6ff42b 100644
--- a/libgomp/config.h.in
+++ b/libgomp/config.h.in
@@ -48,6 +48,9 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
+/* Define to 1 if you have the `strtoull' function. */
+#undef HAVE_STRTOULL
+
 /* Define to 1 if the target supports __sync_*_compare_and_swap */
 #undef HAVE_SYNC_BUILTINS
 
diff --git a/libgomp/configure b/libgomp/configure
index f22c8a06c318230c8a07542ca0a5f1c9cee3026c..038aef5ef36d9067e7b11866d236b78473efcf7e 100755
--- a/libgomp/configure
+++ b/libgomp/configure
@@ -16624,7 +16624,8 @@ rm -f conftest.err conftest.$ac_objext \
 # Check for functions needed.
 
 
-for ac_func in getloadavg clock_gettime
+
+for ac_func in getloadavg clock_gettime strtoull
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
 echo "$as_me:$LINENO: checking for $ac_func" >&5
diff --git a/libgomp/configure.ac b/libgomp/configure.ac
index 12c92340e8cc747953c7fd133af0d0b83a468142..21aed2ba8190457ab8eb305b77be2e561e317e09 100644
--- a/libgomp/configure.ac
+++ b/libgomp/configure.ac
@@ -178,7 +178,7 @@ AC_LINK_IFELSE(
    [AC_MSG_ERROR([Pthreads are required to build libgomp])])])
 
 # Check for functions needed.
-AC_CHECK_FUNCS(getloadavg clock_gettime)
+AC_CHECK_FUNCS(getloadavg clock_gettime strtoull)
 
 # Check for broken semaphore implementation on darwin.
 # sem_init returns: sem_init error: Function not implemented.
diff --git a/libgomp/env.c b/libgomp/env.c
index 022fb1bb0ad9a19c68ec1c6fa9a8f4ced2c66297..50872c277fe63fbbb85eaa27c7724c3cf550fe36 100644
--- a/libgomp/env.c
+++ b/libgomp/env.c
@@ -47,6 +47,9 @@
 #include <limits.h>
 #include <errno.h>
 
+#ifndef HAVE_STRTOULL
+# define strtoull(ptr, eptr, base) strtoul (ptr, eptr, base)
+#endif
 
 struct gomp_task_icv gomp_global_icv = {
   .nthreads_var = 1,