Petr Machata <[email protected]> writes:
> diff --git a/sysdeps/linux-gnu/mipsel/plt.c b/sysdeps/linux-gnu/mipsel/plt.c
> index 7799dfa..7bb00e0 100644
> --- a/sysdeps/linux-gnu/mipsel/plt.c
> +++ b/sysdeps/linux-gnu/mipsel/plt.c
> @@ -251,6 +251,13 @@ void arch_symbol_ret(struct Process *proc, struct 
> library_symbol *libsym)
>               return;
>       }
>  
> +     /* For multiple symbols that resolve to the same address, we need
> +      * to avoid adding multiple breakpoints.  */
> +     if (dict_find_entry(proc->leader->breakpoints, resolved_addr) != NULL) {
> +             fprintf(stderr, "%s: skip %p %s\n", __func__, resolved_addr, 
> libsym->name);
> +             return;
> +     }
> +
>       bp = malloc(sizeof (*bp));
>       if (bp == NULL) {
>               fprintf(stderr, "Failed to allocate bp for %s\n",

Oh wait, you need both plt.c hunks.  The other one should be sans the
strstr("strdup") debugging code.

PM

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

Reply via email to