* configure.ac: Check for readv function also.
* fileread.cc (readv): Define if not HAVE_READV. * fileread.h (File_read:: max_readv_entries): Set to 1 if readv does not exist. * config.in: Regenerate. * configure: Regenerate.
This commit is contained in:
parent
c0a6286595
commit
d9a893b837
@ -1,3 +1,13 @@
|
||||
2009-10-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||
Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* configure.ac: Check for readv function also.
|
||||
* fileread.cc (readv): Define if not HAVE_READV.
|
||||
* fileread.h (File_read:: max_readv_entries): Set to 1 if readv
|
||||
does not exist.
|
||||
* config.in: Regenerate.
|
||||
* configure: Regenerate.
|
||||
|
||||
2009-10-09 Doug Kwan <dougkwan@google.com>
|
||||
|
||||
* layout.cc (Layout::make_output_section): Call target hook to make
|
||||
|
@ -99,6 +99,9 @@
|
||||
/* Define to 1 if you have the `pread' function. */
|
||||
#undef HAVE_PREAD
|
||||
|
||||
/* Define to 1 if you have the `readv' function. */
|
||||
#undef HAVE_READV
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
|
2
gold/configure
vendored
2
gold/configure
vendored
@ -6701,7 +6701,7 @@ fi
|
||||
|
||||
done
|
||||
|
||||
for ac_func in mallinfo posix_fallocate
|
||||
for ac_func in mallinfo posix_fallocate readv
|
||||
do :
|
||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
ac_fn_cxx_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
||||
|
@ -338,7 +338,7 @@ 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_FUNCS(mallinfo posix_fallocate readv)
|
||||
AC_CHECK_DECLS([basename, ffs, asprintf, vasprintf, snprintf, vsnprintf, strverscmp, strndup, memmem])
|
||||
|
||||
# Use of ::std::tr1::unordered_map::rehash causes undefined symbols
|
||||
|
@ -40,6 +40,15 @@
|
||||
#include "descriptors.h"
|
||||
#include "fileread.h"
|
||||
|
||||
#ifndef HAVE_READV
|
||||
struct iovec { void* iov_base; size_t iov_len };
|
||||
ssize_t
|
||||
readv(int, const iovec*, int)
|
||||
{
|
||||
gold_unreachable();
|
||||
}
|
||||
#endif
|
||||
|
||||
namespace gold
|
||||
{
|
||||
|
||||
|
@ -370,7 +370,13 @@ class File_read
|
||||
{ return (file_size + (page_size - 1)) & ~ (page_size - 1); }
|
||||
|
||||
// The maximum number of entries we will pass to ::readv.
|
||||
#ifdef HAVE_READV
|
||||
static const size_t max_readv_entries = 128;
|
||||
#else
|
||||
// On targets that don't have readv set the max to 1 so readv is not
|
||||
// used.
|
||||
static const size_t max_readv_entries = 1;
|
||||
#endif
|
||||
|
||||
// Use readv to read data.
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user