diff options
-rw-r--r-- | main/ltrace/APKBUILD | 27 | ||||
-rw-r--r-- | main/ltrace/fix-crash-on-int3-after-symcall.patch | 14 |
2 files changed, 34 insertions, 7 deletions
diff --git a/main/ltrace/APKBUILD b/main/ltrace/APKBUILD index c6503a8d76..46b6bf4de3 100644 --- a/main/ltrace/APKBUILD +++ b/main/ltrace/APKBUILD @@ -1,26 +1,39 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=ltrace -pkgver=0.5.3 -pkgrel=1 +pkgver=0.6.0 +pkgrel=0 pkgdesc="Tracks runtime library calls in dynamically linked programs" url="http://ltrace.alioth.debian.org/" arch="all" license="GPL" depends= -makedepends="libelf-dev" +makedepends="libelf-dev autoconf automake libtool" subpackages="$pkgname-doc" -source="http://ftp.debian.org/debian/pool/main/l/$pkgname/${pkgname}_$pkgver.orig.tar.gz" +source="http://dev.archlinux.org/~foutrelis/sources/ltrace/$pkgname-$pkgver.tar.xz" + + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} build() { - cd "$srcdir"/$pkgname-$pkgver + cd "$_builddir" + ./autogen.sh ./configure --prefix=/usr \ --sysconfdir=/etc \ + --disable-werror \ || return 1 make } package() { - cd "$srcdir"/$pkgname-$pkgver + cd "$_builddir" make install INSTALL=install DESTDIR="$pkgdir" || return 1 } -md5sums="3fa7fe715ab879db08bd06d1d59fd90f ltrace_0.5.3.orig.tar.gz" +md5sums="042592865eb55efb56cb7a10207ca94d ltrace-0.6.0.tar.xz" diff --git a/main/ltrace/fix-crash-on-int3-after-symcall.patch b/main/ltrace/fix-crash-on-int3-after-symcall.patch new file mode 100644 index 0000000000..5e0a7911ce --- /dev/null +++ b/main/ltrace/fix-crash-on-int3-after-symcall.patch @@ -0,0 +1,14 @@ +diff -upr ltrace-0.6.0.orig/handle_event.c ltrace-0.6.0/handle_event.c +--- ltrace-0.6.0.orig/handle_event.c 2011-01-07 21:29:30.000000000 +0200 ++++ ltrace-0.6.0/handle_event.c 2012-01-06 05:14:04.000000000 +0200 +@@ -617,6 +617,10 @@ handle_breakpoint(Event *event) { + } + + if ((sbp = address2bpstruct(event->proc, event->e_un.brk_addr))) { ++ if (sbp->libsym == NULL) { ++ continue_after_breakpoint(event->proc, sbp); ++ return; ++ } + if (strcmp(sbp->libsym->name, "") == 0) { + debug(2, "Hit _dl_debug_state breakpoint!\n"); + arch_check_dbg(event->proc); |