From 64da5dd5eaa60269a8070e0bdb740b3b2c6e9740 Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Mon, 23 Nov 2015 09:48:16 -0800 Subject: [PATCH] [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. --- gdb/gdbserver/ChangeLog | 5 +++++ gdb/gdbserver/configure | 16 +++++++++++++++- gdb/gdbserver/configure.ac | 20 +++++++++++++++++--- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 4c064574a13..7e9d695ab8b 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2015-11-23 Joel Brobecker + + * 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 * target.h: #include . diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure index 87dfda06eed..ccb9639d520 100755 --- a/gdb/gdbserver/configure +++ b/gdb/gdbserver/configure @@ -6442,7 +6442,20 @@ _ACEOF fi -ac_fn_c_check_type "$LINENO" "Elf32_auxv_t" "ac_cv_type_Elf32_auxv_t" "#include +case "${target}" in + *-android*) + # Starting with NDK version 9, actually includes definitions + # of Elf32_auxv_t and Elf64_auxv_t. But sadly, includes + # which defines some of the ELF types incorrectly, + # leading to conflicts with the defintions from . + # This makes it impossible for us to include both and + # , 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 " if test "x$ac_cv_type_Elf32_auxv_t" = x""yes; then : @@ -6465,6 +6478,7 @@ _ACEOF fi +esac diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac index d50d0f15826..5524a052c61 100644 --- a/gdb/gdbserver/configure.ac +++ b/gdb/gdbserver/configure.ac @@ -235,9 +235,23 @@ AC_CHECK_TYPES(socklen_t, [], [], #include ]) -AC_CHECK_TYPES([Elf32_auxv_t, Elf64_auxv_t], [], [], -#include -) +case "${target}" in + *-android*) + # Starting with NDK version 9, actually includes definitions + # of Elf32_auxv_t and Elf64_auxv_t. But sadly, includes + # which defines some of the ELF types incorrectly, + # leading to conflicts with the defintions from . + # This makes it impossible for us to include both and + # , 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 + ) +esac ACX_PKGVERSION([GDB]) ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/]) -- 2.30.2