[Ltrace-devel] 0.7.0 released

Petr Machata pmachata at redhat.com
Fri Nov 9 23:15:51 UTC 2012


Petr Machata <pmachata at redhat.com> 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



More information about the Ltrace-devel mailing list