summaryrefslogtreecommitdiff
path: root/gold/configure.ac
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2009-06-23 14:37:24 +0000
committerIan Lance Taylor <ian@airs.com>2009-06-23 14:37:24 +0000
commitae00bacccfafc1c5847402982c741b154512000f (patch)
tree29198e62b84adaa736ab2c8a8130306e9a765056 /gold/configure.ac
parent9f7577b2c74c0f01eb5ec0988d316d034f1e20ee (diff)
downloadbinutils-redhat-ae00bacccfafc1c5847402982c741b154512000f.tar.gz
* configure.ac: Call AC_CHECK_DECLS using C, not C++.
* configure: Rebuild.
Diffstat (limited to 'gold/configure.ac')
-rw-r--r--gold/configure.ac7
1 files changed, 6 insertions, 1 deletions
diff --git a/gold/configure.ac b/gold/configure.ac
index c249ae4005..641527182c 100644
--- a/gold/configure.ac
+++ b/gold/configure.ac
@@ -321,13 +321,18 @@ AC_REPLACE_FUNCS(pread ftruncate mremap ffsll)
AC_SEARCH_LIBS(zlibVersion, z, [AC_CHECK_HEADERS(zlib.h)])
AM_CONDITIONAL(HAVE_ZLIB, test "$ac_cv_search_zlibVersion" != "no")
+dnl We have to check these in C, not C++, because autoconf generates
+dnl tests which have no type information, and current glibc provides
+dnl multiple declarations of functions like basename when compiling
+dnl with C++.
+AC_CHECK_DECLS([basename, ffs, asprintf, vasprintf, snprintf, vsnprintf, strverscmp])
+
AC_LANG_PUSH(C++)
AC_CHECK_HEADERS(tr1/unordered_set tr1/unordered_map)
AC_CHECK_HEADERS(ext/hash_map ext/hash_set)
AC_CHECK_HEADERS(byteswap.h)
AC_CHECK_FUNCS(mallinfo posix_fallocate)
-AC_CHECK_DECLS([basename, ffs, asprintf, vasprintf, snprintf, vsnprintf, strverscmp])
# Use of ::std::tr1::unordered_map::rehash causes undefined symbols
# at link time with some versions of GCC.