Daniel Jacobowitz wrote: > > Let's go ahead. The patch is mostly OK, but I have a last question or > two... Thanks for your comments, and apologies for the long delay. (There are a couple of questions at the end also.) > If the breakpoint length is two, why are you reading and testing four > bytes? I really don't know why. Thanks for catching this. > Please make new functions static where possible, which is pretty much > everywhere. Taken care of. > And use prototypes - that's not a prototype, because of the missing > (void). Also fixed. >>struct regset_info target_regsets[] = { >> { PTRACE_GETREGS, PTRACE_SETREGS, sizeof (elf_gregset_t), >> GENERAL_REGS, cris_fill_gregset, cris_store_gregset }, >> { 0, 0, -1, -1, NULL, NULL } >>}; > > > Does the regset cover everything that that regmap covers, including > debug registers? The current support for both PEEKUSER and regsets is > purely for compatibility; it doesn't support getting some registers > from one and some from another. So if all crisv32 kernels support > PTRACE_GETREGS, your regmap is never getting used. You're right; I don't need to use PEEKUSER (configure.srv updated, cris_cannot_store_register/cris_cannot_fetch_register removed, and linux_target_ops updated). I kept the actual regmap though, since it's used in cris_fill_gregset and cris_store_gregset. Another thing: when removing cris_reinsert_addr, I got the same errors as described in http://sourceware.org/ml/gdb/2005-01/msg00071.html (i.e. "thread getmsg err: no event message for getmsg" and gdbserver getting a SIGSEGV). At the moment I have no idea what's going on, so as a temporary solution I reinstated cris_reinsert_addr but with a FIXME. For completeness: updated ChangeLog entry below and patch attached. 2005-05-12 Orjan Friberg * linux-cris-low.c: New file with support for CRIS. * linux-crisv32-low.c: Ditto for CRISv32. * Makefile.in (SFILES): Add linux-cris-low.c, linux-crisv32-low.c. (clean): Add reg-cris.c and reg-crisv32.c. Add linux-cris-low.o, linux-crisv32-low.o, reg-cris.o, reg-cris.c, reg-crisv32.o, and reg-crisv32.c to make rules. * configure.srv: Add cris-*-linux* and crisv32-*-linux* to list of recognized targets. -- Orjan Friberg Axis Communications