[email protected] writes:

> +#define ARCH_HAVE_ATOMIC_SINGLESTEP

I think I should rename this to ARCH_HAVE_SOFT_SINGLESTEP or some such.
The original intention was to support stepping over lwarx on PPC, but
both MIPS and ARM will need to use this to emulate singlestepping.

> +int
> +arch_atomic_singlestep(struct Process *proc, struct breakpoint *sbp,

[...]

> +             arch_addr_t baddr = (void *) newpcs[nr];

The cast should be arch_addr_t.  The fact that arch_addr_t is void *
under the hood is itself something that needs to be fixed eventually.

> +             /* Not sure what to do here. We've already got a bp.  */
> +             if (dict_find_entry(proc->breakpoints, baddr)) {
> +                     fprintf(stderr, "skip %p %p\n", baddr, add_cb_data);
> +                     continue;
> +             }

There's no good answer.  Ltrace doesn't currently handle duplicate
breakpoints gracefully.  I write about it a bit in one of the other
mails.

> -#if defined __sparc__  || defined __ia64___ || defined __mips__
> +#if defined __sparc__  || defined __ia64___

Awesome ;) That __ia64___ is likely a typo (note the three underscores),
so that leaves just Sparc before this ifdef is good to go!

Thanks,
PM

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

Reply via email to