patches/ltrace/0.5.3/140-mips.patch
author Anthony Foiani <anthony.foiani@gmail.com>
Thu May 19 23:09:43 2011 +0200 (2011-05-19)
branch1.11
changeset 2465 5f98b7a90fbc
permissions -rw-r--r--
complibs/ppl: fix 0.11-0.11.2 to compile with --disable-shared

PPL 0.11 (through 0.11.2) had a small bug where it still tried to build
and test its Java interface even when shared libraries are disabled.
Since that's exactly what ct-ng does, it explodes.

This is the patch from the PPL authors (see final link below).

More information can be found in these messages/threads:

Anthony's initial report and analysis with Yann:
http://www.cygwin.com/ml/crossgcc/2011-05/msg00046.html

Ron Flory hit the same problem:
http://www.cygwin.com/ml/crossgcc/2011-05/msg00054.html

Anthony's report to the ppl-devel list:
http://www.cs.unipr.it/pipermail/ppl-devel/2011-May/017450.html

Roberto's reply with a link to the fix in the PPL git repo:
http://www.cs.unipr.it/pipermail/ppl-devel/2011-May/017455.html

Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com>
(transplanted from 139b85d70b623e51f7585e7c64ecb8c6a6cf4567)
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){