Zitat von Markus Franke <[EMAIL PROTECTED]>:

Hmmm....I debugged arch/m68knommu/ptrace.c:arch_ptrace. As soon as I
connect from the host-gdb (by target remote <ip>:3000) to the target,
arch_ptrace is getting called with argument "addr == 56" and "request
== 3 (PTRACE_PEEKUSR)".
The code in arch_ptrace() says:

---snip---
case PTRACE_PEEKUSR: {
  unsigned long tmp;

  ret = -EIO;
  if ((addr & 3) || addr < 0 ||
        addr > sizeof(struct user) - 3)
            break;
---snap---

The AND-mask with 3 is due to address alignment I guess. As address
equals to 56 the "break" gets called and that's it.

Forget about this...mistake from my side. As per the code the 56 get's divided by 4 which gives 14 and then get_reg() is being called on this address. The result is then returned by arch_ptrace. The value of 56 for addr comes from gdbserver, right? Is this address plausible?

With best regards,
Markus Franke


_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to