summaryrefslogtreecommitdiff
path: root/patches/gdb/7.12.1/200-allow-android.patch
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-05-15 01:46:34 (GMT)
committerAlexey Neyman <stilor@att.net>2017-05-15 01:49:56 (GMT)
commit97a20eed5c3cf3a2f7bb261705405b8b16c56b36 (patch)
treeb2b8807fd6c7d0d700b3efd724fb308182001cb1 /patches/gdb/7.12.1/200-allow-android.patch
parent24b3fca91064cd25953d06c8a240fbb9ccc21fc7 (diff)
Disallow duma/ltrace/strace for bionic
Allow cross-gdb and gdbserver. This requires removal of an explicit check that disables gdbserver on android. However, the comment above that check refers to exec_elf.h, which has been removed since API level 19. It builds fine with current selection of the sample (21). Only build-tested, hope someone can give it a try and report back. We can fine tune the check for GDB but I'll leave it for now. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'patches/gdb/7.12.1/200-allow-android.patch')
-rw-r--r--patches/gdb/7.12.1/200-allow-android.patch42
1 files changed, 42 insertions, 0 deletions
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>