Do not use libiberty's getpagesize on Android
Building libiberty on Android currently fails with the error message shown below. This was discovered by trying to build GDBserver for Android, which stopped building after libiberty became a GDBserver dependency. Here is the error message: [...]/getpagesize.c:64:1: error: redefinition of 'getpagesize' In file included from /[...]/getpagesize.c:34:0: /[...]/usr/include/unistd.h:171:23: note: previous definition of 'getpagesize' was here And looking at the definition, one can see that it defined as a static inline function... static __inline__ int getpagesize(void) { extern unsigned int __page_size; return __page_size; } ... which explains why the AC_CHECK_FUNCS test failed to detect the function, since there is no associated symbol to be linked in. This patch prevents getpagesize.c to be compiled in by hard-coding the fact that getpagesize is available on android hosts. libiberty/ChangeLog: * configure.ac: Set AC_CV_FUNC_GETPAGESIZE to "yes" on Android hosts. * configure: Regenerate.
This commit is contained in:
parent
ed60fec722
commit
82ef0f7074
@ -1,3 +1,9 @@
|
||||
2015-11-06 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* configure.ac: Set AC_CV_FUNC_GETPAGESIZE to "yes" on
|
||||
Android hosts.
|
||||
* configure: Regenerate.
|
||||
|
||||
2015-09-30 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
Import the following patches from the GCC mainline:
|
||||
|
6
libiberty/configure
vendored
6
libiberty/configure
vendored
@ -6248,6 +6248,12 @@ if test -z "${setobjs}"; then
|
||||
|
||||
case "${host}" in
|
||||
|
||||
*-*-android*)
|
||||
# On android, getpagesize is defined in unistd.h as a static inline
|
||||
# function, which AC_CHECK_FUNCS does not handle properly.
|
||||
ac_cv_func_getpagesize=yes
|
||||
;;
|
||||
|
||||
*-*-mingw32*)
|
||||
# Under mingw32, sys_nerr and sys_errlist exist, but they are
|
||||
# macros, so the test below won't find them.
|
||||
|
@ -600,6 +600,12 @@ if test -z "${setobjs}"; then
|
||||
|
||||
case "${host}" in
|
||||
|
||||
*-*-android*)
|
||||
# On android, getpagesize is defined in unistd.h as a static inline
|
||||
# function, which AC_CHECK_FUNCS does not handle properly.
|
||||
ac_cv_func_getpagesize=yes
|
||||
;;
|
||||
|
||||
*-*-mingw32*)
|
||||
# Under mingw32, sys_nerr and sys_errlist exist, but they are
|
||||
# macros, so the test below won't find them.
|
||||
|
Loading…
Reference in New Issue
Block a user