Andreas Schwab <sch...@linux-m68k.org> writes: > On Jun 18 2019, Radu Rendec <radu.ren...@gmail.com> wrote: > >> Since you already have a working setup, it would be nice if you could >> add a printk to arch_ptrace() to print the address and confirm what I >> believe happens (by reading the gdb source code). > > A ppc32 ptrace syscall goes through compat_arch_ptrace.
Ah right, and that (in ptrace32.c) contains code that will work: /* * the user space code considers the floating point * to be an array of unsigned int (32 bits) - the * index passed in is based on this assumption. */ tmp = ((unsigned int *)child->thread.fp_state.fpr) [FPRINDEX(index)]; FPRINDEX is defined above to deal with the various manipulations you need to do. Radu: I think we want to copy that working code back into ptrace.c. The challenge will be unpicking the awful mess of ifdefs in ptrace.c and making it somewhat more comprehensible. Regards, Daniel > > Andreas. > > -- > Andreas Schwab, sch...@linux-m68k.org > GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 > "And now for something completely different."