Dave Martin writes:
 > Hi all,
 > 
 > Considering how to add the VFP/NEON register state to Coredumps,
 > there's no single obvious solution, so I'd like to put this out
 > for people's comments.
 > 
 > Currently, the coredump consists of several notes, the interesting
 > ones currently being:
 > 
 >  * NT_PRSTATUS - general process status, including the integer registers
 >  * NT_FPREGSET - the FPA registers (only present if FPA is in use)
 > 
 > These notes are duplicated per thread when a multithreaded process
 > dumps core.
 > 
 > There are few options I see:
 > 
 >  a) Dump the VFP/NEON state in NT_FPREGSET.
 >     This could be appended to, or in place of the legacy FPA regs,
 >     with flags in a header or (struct elf_prstatus).pr_fpvalid
 >     to describe what was dumped.  Old gdb etc. may read the
 >     resulting information as random FPA register contents;
 >     this could perhaps be avoided by always dumping a dummy
 >     FPA regs structure at the start of this note, though this
 >     seems wasteful.
 > 
 >     Possibly, gdb may explode if the NT_FPREGSET note is larger
 >     then expected.  I've not investigated this.
 > 
 >  b) Dump the VFP/NEON regs in a note of type NT_PRXFPREG.
 >     This avoids defining a new note type; however, this note type
 >     is really for x86 -- so overloading it in this way may just
 >     be nonsensical / confusing.
 > 
 >  c) Create a new note type specially for this, and dump the
 >     VFP/NEON regs in there.  This is closest to the model followed
 >     by ptrace, where PTRACE_GETREGS, PTRACE_GETFPREGS and
 >     PTRAGE_GETVFPREGS are all distinct.
 > 
 > 
 > Going for (c) seems sanest to me, and also means that old gdb
 > will just ignore the new data; this is probably what we want.
 > 
 > Comments are welcome.

Strongly prefer (c) or (b).  (a) should be avoided if at all
possible: appending to or changing established types is just
asking for trouble, unless those types were designed from the
start to be self-describing and extensible.

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to