diff --git a/config/debug/duma.in b/config/debug/duma.in index 170a6945..f9e727b8 100644 --- a/config/debug/duma.in +++ b/config/debug/duma.in @@ -1,6 +1,7 @@ # D.U.M.A. - Detect Unintended Memory Access - Memory checker ## depends on ! BARE_METAL +## depends on ! LIBC_bionic ## help D.U.M.A. - Detect Unintended Memory Access ## help A memory bound checker, with additional features. diff --git a/config/debug/gdb.in.native b/config/debug/gdb.in.native index e856b5da..faee8c3d 100644 --- a/config/debug/gdb.in.native +++ b/config/debug/gdb.in.native @@ -4,6 +4,7 @@ config GDB_NATIVE bool prompt "Native gdb" depends on ! BARE_METAL + depends on ! LIBC_bionic select EXPAT_TARGET select NCURSES_TARGET help diff --git a/config/debug/ltrace.in b/config/debug/ltrace.in index 4c626764..fab6b81f 100644 --- a/config/debug/ltrace.in +++ b/config/debug/ltrace.in @@ -1,6 +1,7 @@ # ltrace ## select LIBELF_TARGET +## depends on ! LIBC_bionic ## ## help ltrace is a program that simply runs the specified command until it exits. ## help It intercepts and records the dynamic library calls which are called by diff --git a/config/debug/strace.in b/config/debug/strace.in index 38dd96fd..e77702bf 100644 --- a/config/debug/strace.in +++ b/config/debug/strace.in @@ -1,5 +1,7 @@ # strace +## depends on ! LIBC_bionic + choice bool prompt "strace version" diff --git a/patches/gdb/7.12.1/200-allow-android.patch b/patches/gdb/7.12.1/200-allow-android.patch new file mode 100644 index 00000000..7954477c --- /dev/null +++ b/patches/gdb/7.12.1/200-allow-android.patch @@ -0,0 +1,42 @@ +diff -urpN gdb-7.12.1.orig/gdb/gdbserver/configure gdb-7.12.1/gdb/gdbserver/configure +--- gdb-7.12.1.orig/gdb/gdbserver/configure 2017-05-14 17:02:46.742711695 -0700 ++++ gdb-7.12.1/gdb/gdbserver/configure 2017-05-14 17:03:22.147058607 -0700 +@@ -6671,17 +6671,6 @@ fi + + + 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 + +diff -urpN gdb-7.12.1.orig/gdb/gdbserver/configure.ac gdb-7.12.1/gdb/gdbserver/configure.ac +--- gdb-7.12.1.orig/gdb/gdbserver/configure.ac 2017-05-14 17:02:46.742711695 -0700 ++++ gdb-7.12.1/gdb/gdbserver/configure.ac 2017-05-14 17:03:53.219361720 -0700 +@@ -179,17 +179,6 @@ AC_CHECK_TYPES(socklen_t, [], [], + ]) + + 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 diff --git a/samples/aarch64-unknown-linux-android/crosstool.config b/samples/aarch64-unknown-linux-android/crosstool.config index 339819c0..295b219a 100644 --- a/samples/aarch64-unknown-linux-android/crosstool.config +++ b/samples/aarch64-unknown-linux-android/crosstool.config @@ -1,3 +1,4 @@ +CT_EXPERIMENTAL=y CT_ARCH_arm=y CT_ARCH_64=y CT_ARCH_ARCH="armv8-a" @@ -6,4 +7,5 @@ CT_KERNEL_linux=y CT_LIBC_BIONIC_V_14b=y CT_ANDROID_API_21=y CT_CC_LANG_CXX=y +CT_DEBUG_gdb=y CT_GETTEXT=y