From 5a43da1af12df3a39cd30b724bf9144850bd2764 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 30 Apr 2014 13:26:35 +0200 Subject: experimental midori support --- package/ltrace/Makefile | 26 ++++++++++++++++++++ package/ltrace/patches/patch-breakpoints_c | 14 +++++++++++ package/ltrace/patches/patch-breakpoints_c.orig | 14 +++++++++++ package/ltrace/patches/patch-handle_event_c | 19 +++++++++++++++ package/ltrace/patches/patch-proc_c | 32 +++++++++++++++++++++++++ 5 files changed, 105 insertions(+) create mode 100644 package/ltrace/Makefile create mode 100644 package/ltrace/patches/patch-breakpoints_c create mode 100644 package/ltrace/patches/patch-breakpoints_c.orig create mode 100644 package/ltrace/patches/patch-handle_event_c create mode 100644 package/ltrace/patches/patch-proc_c (limited to 'package/ltrace') diff --git a/package/ltrace/Makefile b/package/ltrace/Makefile new file mode 100644 index 000000000..a8464d55a --- /dev/null +++ b/package/ltrace/Makefile @@ -0,0 +1,26 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk + +PKG_NAME:= ltrace +PKG_VERSION:= 0.7.3 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 2cb7660738b1e28fd84ce0dc06f6ea69 +PKG_DESCR:= intercepts and records dynamic library calls +PKG_SECTION:= debug +PKG_DEPENDS:= libelf +PKG_BUILDDEP:= libelf +PKG_URL:= http://ltrace.org/ +PKG_SITES:= https://alioth.debian.org/frs/download.php/file/3948/ + +include $(TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,LTRACE,ltrace,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +ltrace-install: + $(INSTALL_DIR) $(IDIR_LTRACE)/usr/sbin + $(INSTALL_BIN) $(WRKINST)/usr/bin/ltrace \ + $(IDIR_LTRACE)/usr/sbin + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/ltrace/patches/patch-breakpoints_c b/package/ltrace/patches/patch-breakpoints_c new file mode 100644 index 000000000..0c8d77c8b --- /dev/null +++ b/package/ltrace/patches/patch-breakpoints_c @@ -0,0 +1,14 @@ +--- ltrace-0.7.3.orig/breakpoints.c 2013-09-09 11:46:54.000000000 +0200 ++++ ltrace-0.7.3/breakpoints.c 2013-10-16 11:26:00.000000000 +0200 +@@ -159,9 +159,10 @@ int + breakpoint_clone(struct breakpoint *retp, struct Process *new_proc, + struct breakpoint *bp, struct Process *old_proc) + { ++ __attribute__((unused))int rc; + struct library_symbol *libsym = NULL; + if (bp->libsym != NULL) { +- int rc = proc_find_symbol(new_proc, bp->libsym, NULL, &libsym); ++ rc = proc_find_symbol(new_proc, bp->libsym, NULL, &libsym); + assert(rc == 0); + } + diff --git a/package/ltrace/patches/patch-breakpoints_c.orig b/package/ltrace/patches/patch-breakpoints_c.orig new file mode 100644 index 000000000..6c69f0d34 --- /dev/null +++ b/package/ltrace/patches/patch-breakpoints_c.orig @@ -0,0 +1,14 @@ +--- ltrace-0.7.3.orig/breakpoints.c 2013-09-09 11:46:54.000000000 +0200 ++++ ltrace-0.7.3/breakpoints.c 2013-10-16 11:13:21.000000000 +0200 +@@ -159,9 +159,10 @@ int + breakpoint_clone(struct breakpoint *retp, struct Process *new_proc, + struct breakpoint *bp, struct Process *old_proc) + { ++ int rc; + struct library_symbol *libsym = NULL; + if (bp->libsym != NULL) { +- int rc = proc_find_symbol(new_proc, bp->libsym, NULL, &libsym); ++ rc = proc_find_symbol(new_proc, bp->libsym, NULL, &libsym); + assert(rc == 0); + } + diff --git a/package/ltrace/patches/patch-handle_event_c b/package/ltrace/patches/patch-handle_event_c new file mode 100644 index 000000000..c40853052 --- /dev/null +++ b/package/ltrace/patches/patch-handle_event_c @@ -0,0 +1,19 @@ +--- ltrace-0.7.3.orig/handle_event.c 2013-02-05 12:05:39.000000000 +0100 ++++ ltrace-0.7.3/handle_event.c 2013-10-16 11:29:03.000000000 +0200 +@@ -533,6 +533,7 @@ calc_time_spent(Process *proc) { + + static void + handle_sysret(Event *event) { ++ __attribute__((unused))unsigned d; + debug(DEBUG_FUNCTION, "handle_sysret(pid=%d, sysnum=%d)", event->proc->pid, event->e_un.sysnum); + if (event->proc->state != STATE_IGNORED) { + if (opt_T || options.summary) { +@@ -544,7 +545,7 @@ handle_sysret(Event *event) { + event->e_un.sysnum)); + + assert(event->proc->callstack_depth > 0); +- unsigned d = event->proc->callstack_depth - 1; ++ d = event->proc->callstack_depth - 1; + assert(event->proc->callstack[d].is_syscall); + callstack_pop(event->proc); + } diff --git a/package/ltrace/patches/patch-proc_c b/package/ltrace/patches/patch-proc_c new file mode 100644 index 000000000..5571a51c3 --- /dev/null +++ b/package/ltrace/patches/patch-proc_c @@ -0,0 +1,32 @@ +--- ltrace-0.7.3.orig/proc.c 2013-02-05 12:05:39.000000000 +0100 ++++ ltrace-0.7.3/proc.c 2013-10-16 11:37:49.000000000 +0200 +@@ -329,6 +329,7 @@ clone_single_bp(void *key, void *value, + int + process_clone(struct Process *retp, struct Process *proc, pid_t pid) + { ++ __attribute__((unused))int rc; + if (process_bare_init(retp, proc->filename, pid, 0) < 0) { + fail1: + fprintf(stderr, "failed to clone process %d->%d : %s\n", +@@ -432,7 +433,7 @@ process_clone(struct Process *retp, stru + * library. */ + if (!elem->is_syscall && elem->c_un.libfunc != NULL) { + struct library_symbol *libfunc = elem->c_un.libfunc; +- int rc = proc_find_symbol(retp, libfunc, ++ rc = proc_find_symbol(retp, libfunc, + NULL, &elem->c_un.libfunc); + assert(rc == 0); + } +@@ -937,10 +938,11 @@ proc_add_breakpoint(struct Process *proc + void + proc_remove_breakpoint(struct Process *proc, struct breakpoint *bp) + { ++ __attribute__((unused))struct breakpoint *removed; + debug(DEBUG_FUNCTION, "proc_remove_breakpoint(pid=%d, %s@%p)", + proc->pid, breakpoint_name(bp), bp->addr); + check_leader(proc); +- struct breakpoint *removed = dict_remove(proc->breakpoints, bp->addr); ++ removed = dict_remove(proc->breakpoints, bp->addr); + assert(removed == bp); + } + -- cgit v1.2.3