summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/debug/duma.in1
-rw-r--r--config/debug/gdb.in.native1
-rw-r--r--config/debug/ltrace.in1
-rw-r--r--config/debug/strace.in2
-rw-r--r--patches/gdb/7.12.1/200-allow-android.patch42
-rw-r--r--samples/aarch64-unknown-linux-android/crosstool.config2
6 files changed, 49 insertions, 0 deletions
diff --git a/config/debug/duma.in b/config/debug/duma.in
index 170a694..f9e727b 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 e856b5d..faee8c3 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 4c62676..fab6b81 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 38dd96f..e77702b 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 0000000..7954477
--- /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, <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>
+
+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, <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>
diff --git a/samples/aarch64-unknown-linux-android/crosstool.config b/samples/aarch64-unknown-linux-android/crosstool.config
index 339819c..295b219 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