[gdbserver] disable Elf32_auxv_t/Elf64_auxv_t AC_CHECK_TYPES check on Android
See the comment added in configure.ac for more details behind
this change.
gdb/gdbserver/ChangeLog:
* configure.ac: Do not call AC_CHECK_TYPES for Elf32_auxv_t
and Elf64_auxv_t if the target is Android.
This commit is contained in:
parent
206853a02e
commit
64da5dd5ea
@ -1,3 +1,8 @@
|
||||
2015-11-23 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* configure.ac: Do not call AC_CHECK_TYPES for Elf32_auxv_t
|
||||
and Elf64_auxv_t if the target is Android.
|
||||
|
||||
2015-11-22 Doug Evans <xdje42@gmail.com>
|
||||
|
||||
* target.h: #include <sys/types.h>.
|
||||
|
||||
16
gdb/gdbserver/configure
vendored
16
gdb/gdbserver/configure
vendored
@ -6442,7 +6442,20 @@ _ACEOF
|
||||
fi
|
||||
|
||||
|
||||
ac_fn_c_check_type "$LINENO" "Elf32_auxv_t" "ac_cv_type_Elf32_auxv_t" "#include <elf.h>
|
||||
case "${target}" in
|
||||
*-android*)
|
||||
# Starting with NDK version 9, <elf.h> actually includes definitions
|
||||
# of Elf32_auxv_t and Elf64_auxv_t. But sadly, <elf.h> includes
|
||||
# <sys/exec_elf.h> which defines some of the ELF types incorrectly,
|
||||
# leading to conflicts with the defintions from <linux/elf.h>.
|
||||
# This makes it impossible for us to include both <elf.h> and
|
||||
# <linux/elf.h>, which means that, in practice, we do not have
|
||||
# access to Elf32_auxv_t and Elf64_auxv_t on this platform.
|
||||
# Therefore, do not try to auto-detect availability, as it would
|
||||
# get it wrong on this platform.
|
||||
;;
|
||||
*)
|
||||
ac_fn_c_check_type "$LINENO" "Elf32_auxv_t" "ac_cv_type_Elf32_auxv_t" "#include <elf.h>
|
||||
|
||||
"
|
||||
if test "x$ac_cv_type_Elf32_auxv_t" = x""yes; then :
|
||||
@ -6465,6 +6478,7 @@ _ACEOF
|
||||
|
||||
fi
|
||||
|
||||
esac
|
||||
|
||||
|
||||
|
||||
|
||||
@ -235,9 +235,23 @@ AC_CHECK_TYPES(socklen_t, [], [],
|
||||
#include <sys/socket.h>
|
||||
])
|
||||
|
||||
AC_CHECK_TYPES([Elf32_auxv_t, Elf64_auxv_t], [], [],
|
||||
#include <elf.h>
|
||||
)
|
||||
case "${target}" in
|
||||
*-android*)
|
||||
# Starting with NDK version 9, <elf.h> actually includes definitions
|
||||
# of Elf32_auxv_t and Elf64_auxv_t. But sadly, <elf.h> includes
|
||||
# <sys/exec_elf.h> which defines some of the ELF types incorrectly,
|
||||
# leading to conflicts with the defintions from <linux/elf.h>.
|
||||
# This makes it impossible for us to include both <elf.h> and
|
||||
# <linux/elf.h>, which means that, in practice, we do not have
|
||||
# access to Elf32_auxv_t and Elf64_auxv_t on this platform.
|
||||
# Therefore, do not try to auto-detect availability, as it would
|
||||
# get it wrong on this platform.
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_TYPES([Elf32_auxv_t, Elf64_auxv_t], [], [],
|
||||
#include <elf.h>
|
||||
)
|
||||
esac
|
||||
|
||||
ACX_PKGVERSION([GDB])
|
||||
ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
|
||||
|
||||
Loading…
Reference in New Issue
Block a user