patches/ltrace/0.5.3/140-mips.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 12 23:38:18 2010 +0200 (2010-09-12)
changeset 2120 48de021b3a9e
permissions -rw-r--r--
arch/mips: add experimental mips64 samples

Both toolchains were tested to successfully:
- _build_ busybox, giving respectively an n32 and an n64 binary
although it has not been run-tested.
- build linux-2.6.36-rc3 for Loongson, giving an n64 vmlinux
(which is expected, due to the way the kernel is built),
and the kernel properly boots!

Credits are due to Julien MOUTHINO (julm on freenode#uClibc) for
testing that the kernel boots on his hardware! Cheers! ;-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
jocke@1685
     1
This patch is courtesy of OpenEmbedded, by Khem Raj <raj.khem@gmail.com>
jocke@1685
     2
jocke@1685
     3
http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=b85b779688f0abc389e3c25d06b54de8b86385c1
jocke@1685
     4
jocke@1685
     5
Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/plt.c
jocke@1685
     6
===================================================================
jocke@1685
     7
--- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/plt.c	2009-10-23 23:25:59.292780574 -0700
jocke@1685
     8
+++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/plt.c	2009-10-23 23:26:22.671522220 -0700
jocke@1685
     9
@@ -1,4 +1,4 @@
jocke@1685
    10
-#include <debug.h>
jocke@1685
    11
+#include "debug.h"
jocke@1685
    12
 #include <gelf.h>
jocke@1685
    13
 #include <sys/ptrace.h>
jocke@1685
    14
 #include "common.h"
jocke@1685
    15
Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/regs.c
jocke@1685
    16
===================================================================
jocke@1685
    17
--- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/regs.c	2009-10-23 23:25:59.312777529 -0700
jocke@1685
    18
+++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/regs.c	2009-10-23 23:26:08.190311896 -0700
jocke@1685
    19
@@ -4,7 +4,6 @@
jocke@1685
    20
 #include <sys/types.h>
jocke@1685
    21
 #include <sys/ptrace.h>
jocke@1685
    22
 #include <asm/ptrace.h>
jocke@1685
    23
-#include <linux/user.h>
jocke@1685
    24
 
jocke@1685
    25
 #include "common.h"
jocke@1685
    26
 #include "mipsel.h"
jocke@1685
    27
Index: ltrace-0.5.3/handle_event.c
jocke@1685
    28
===================================================================
jocke@1685
    29
--- ltrace-0.5.3.orig/handle_event.c	2009-10-23 23:29:48.780274445 -0700
jocke@1685
    30
+++ ltrace-0.5.3/handle_event.c	2009-10-23 23:37:32.260284055 -0700
jocke@1685
    31
@@ -573,7 +573,8 @@ handle_breakpoint(Event *event) {
jocke@1685
    32
 			void *old_addr;
jocke@1685
    33
 			struct library_symbol *sym= event->proc->callstack[i].c_un.libfunc;
jocke@1685
    34
 			assert(sym);
jocke@1685
    35
-			old_addr = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym))->addr;
jocke@1685
    36
+			struct Breakpoint *tbp = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym));
jocke@1685
    37
+			old_addr = tbp->addr;
jocke@1685
    38
 			addr=sym2addr(event->proc,sym);
jocke@1685
    39
 			assert(old_addr !=0 && addr !=0);
jocke@1685
    40
 			if(addr != old_addr){