Add valgrind package. (#310)
authoredanaher <github@edanaher.net>
Tue, 26 Jul 2016 21:54:55 +0000 (17:54 -0400)
committerFredrik Fornwall <fredrik@fornwall.net>
Tue, 26 Jul 2016 21:54:55 +0000 (23:54 +0200)
packages/valgrind/build.sh [new file with mode: 0644]
packages/valgrind/dont-redefine-elf32_nhdr.patch [new file with mode: 0644]

diff --git a/packages/valgrind/build.sh b/packages/valgrind/build.sh
new file mode 100644 (file)
index 0000000..664941f
--- /dev/null
@@ -0,0 +1,12 @@
+TERMUX_PKG_HOMEPAGE=http://valgrind.org/
+TERMUX_PKG_DESCRIPTION="Valgrind is an instrumentation framework for building dynamic analysis tools."
+TERMUX_PKG_VERSION=3.11.0
+TERMUX_PKG_SRCURL=http://valgrind.org/downloads/valgrind-${TERMUX_PKG_VERSION}.tar.bz2
+TERMUX_PKG_DEPENDS=""
+
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-tmpdir=/data/data/com.termux/files/usr/tmp"
+if [ "$TERMUX_ARCH" == "arm" ]; then
+  # valgrind doesn't like arm; armv7 works, though.
+  TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --host=armv7-linux-androideabi"
+fi
+
diff --git a/packages/valgrind/dont-redefine-elf32_nhdr.patch b/packages/valgrind/dont-redefine-elf32_nhdr.patch
new file mode 100644 (file)
index 0000000..dd1f7c9
--- /dev/null
@@ -0,0 +1,23 @@
+Binary files src/coregrind/m_coredump/.coredump-elf.c.swp and src2/coregrind/m_coredump/.coredump-elf.c.swp differ
+diff -purN src/coregrind/m_coredump/coredump-elf.c src2/coregrind/m_coredump/coredump-elf.c
+--- src/coregrind/m_coredump/coredump-elf.c    2016-06-09 19:42:06.566486519 +0000
++++ src2/coregrind/m_coredump/coredump-elf.c   2015-09-08 13:23:27.000000000 +0000
+@@ -135,18 +135,6 @@ static void fill_phdr(ESZ(Phdr) *phdr, c
+    phdr->p_align = VKI_PAGE_SIZE;
+ }
+-#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android) \
+-    || defined(VGPV_mips32_linux_android)
+-/* Android's libc doesn't provide a definition for this.  Hence: */
+-typedef
+-   struct {
+-      Elf32_Word n_namesz;
+-      Elf32_Word n_descsz;
+-      Elf32_Word n_type;
+-   }
+-   Elf32_Nhdr;
+-#endif
+-
+ struct note {
+    struct note *next;
+    ESZ(Nhdr) note;