From: "Edgar E. Iglesias" <[email protected]>

Signed-off-by: Edgar E. Iglesias <[email protected]>
---
 sysdeps/linux-gnu/mipsel/plt.c   |   11 ++++++-----
 sysdeps/linux-gnu/mipsel/trace.c |    2 +-
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/sysdeps/linux-gnu/mipsel/plt.c b/sysdeps/linux-gnu/mipsel/plt.c
index 6e8dd9d..7513c28 100644
--- a/sysdeps/linux-gnu/mipsel/plt.c
+++ b/sysdeps/linux-gnu/mipsel/plt.c
@@ -181,6 +181,7 @@ void arch_symbol_ret(struct Process *proc, struct 
library_symbol *libsym)
 {
        struct breakpoint *bp;
        arch_addr_t resolved_addr;
+       struct Process *leader = proc->leader;
 
        /* Only deal with unresolved symbols.  */
        if (libsym->arch.type != MIPS_PLT_UNRESOLVED)
@@ -202,16 +203,16 @@ void arch_symbol_ret(struct Process *proc, struct 
library_symbol *libsym)
                return;
        }
 
-       if (breakpoint_init(bp, proc, resolved_addr, libsym) < 0)
+       if (breakpoint_init(bp, leader, resolved_addr, libsym) < 0)
                goto err;
 
-       if (proc_add_breakpoint(proc, bp) < 0) {
+       if (proc_add_breakpoint(leader, bp) < 0) {
                breakpoint_destroy(bp);
                goto err;
        }
 
-       if (breakpoint_turn_on(bp, proc) < 0) {
-               proc_remove_breakpoint(proc, bp);
+       if (breakpoint_turn_on(bp, leader) < 0) {
+               proc_remove_breakpoint(leader, bp);
                breakpoint_destroy(bp);
                goto err;
        }
@@ -276,7 +277,7 @@ cb_enable_breakpoint_lib(struct Process *proc, struct 
library *lib, void *data)
 
 void arch_dynlink_done(struct Process *proc)
 {
-       proc_each_library(proc, NULL, cb_enable_breakpoint_lib, NULL);
+       proc_each_library(proc->leader, NULL, cb_enable_breakpoint_lib, NULL);
 }
 
 enum plt_status
diff --git a/sysdeps/linux-gnu/mipsel/trace.c b/sysdeps/linux-gnu/mipsel/trace.c
index 8094fb7..1f1a353 100644
--- a/sysdeps/linux-gnu/mipsel/trace.c
+++ b/sysdeps/linux-gnu/mipsel/trace.c
@@ -252,7 +252,7 @@ arch_atomic_singlestep(struct Process *proc, struct 
breakpoint *sbp,
        while (nr-- > 0) {
                arch_addr_t baddr = (arch_addr_t) newpcs[nr];
                /* Not sure what to do here. We've already got a bp?  */
-               if (dict_find_entry(proc->breakpoints, baddr) != NULL) {
+               if (dict_find_entry(proc->leader->breakpoints, baddr) != NULL) {
                        fprintf(stderr, "skip %p %p\n", baddr, add_cb_data);
                        continue;
                }
-- 
1.7.8.6


_______________________________________________
Ltrace-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/ltrace-devel

Reply via email to