crosstool-ng/patches/ltrace/0.5.3/140-mips.patch
Joachim Nilsson c704137fd6 debug/ltrace: Add support for ltrace-0.5.3
From this version of ltrace the maintainer has removed support for
GNU Autotools, so the patch sets needed to be reworked.

Included is the latest Debian patch, by the Debian ltrace maintainer
Juan Cespedes <cespedes@debian.org>, the OpenEmbedded patches for cross
compiling, by Khem Raj <raj.khem@gmail.com> and a further set of patches
by Joachim Nilsson <jocke@vmlinux.org> for crosstool-NG.
2010-01-03 16:46:58 +01:00

41 lines
1.7 KiB
Diff

This patch is courtesy of OpenEmbedded, by Khem Raj <raj.khem@gmail.com>
http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=b85b779688f0abc389e3c25d06b54de8b86385c1
Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/plt.c
===================================================================
--- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/plt.c 2009-10-23 23:25:59.292780574 -0700
+++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/plt.c 2009-10-23 23:26:22.671522220 -0700
@@ -1,4 +1,4 @@
-#include <debug.h>
+#include "debug.h"
#include <gelf.h>
#include <sys/ptrace.h>
#include "common.h"
Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/regs.c
===================================================================
--- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/regs.c 2009-10-23 23:25:59.312777529 -0700
+++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/regs.c 2009-10-23 23:26:08.190311896 -0700
@@ -4,7 +4,6 @@
#include <sys/types.h>
#include <sys/ptrace.h>
#include <asm/ptrace.h>
-#include <linux/user.h>
#include "common.h"
#include "mipsel.h"
Index: ltrace-0.5.3/handle_event.c
===================================================================
--- ltrace-0.5.3.orig/handle_event.c 2009-10-23 23:29:48.780274445 -0700
+++ ltrace-0.5.3/handle_event.c 2009-10-23 23:37:32.260284055 -0700
@@ -573,7 +573,8 @@ handle_breakpoint(Event *event) {
void *old_addr;
struct library_symbol *sym= event->proc->callstack[i].c_un.libfunc;
assert(sym);
- old_addr = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym))->addr;
+ struct Breakpoint *tbp = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym));
+ old_addr = tbp->addr;
addr=sym2addr(event->proc,sym);
assert(old_addr !=0 && addr !=0);
if(addr != old_addr){