I wrote:
> Interestingly, it was more than willing to let me read any individual
> field of that struct. I suspect that it doesn't like the size of the
> thing, which is 3684 bytes. Can this limit be raised ?
I think I can answer that:
A1: Yes, but it's a pain, because one would need to allocate a larger
on-chip buffer (in gdbstub.c and linker.ld) and rebuild the
bitstream with the new gdbstub.rom
A2: Yes, but it's still a pain. One could make gdbstub.c a bit more
intelligent and avoid buffering the result. One would still have
to rebuild the bitstream, though.
A3: It's not necessary. After telling gdb to bite off a smaller chunk
at a time, it can read also large data structures:
set remote memory-read-packet-size 500
(I think gdb and gdbstub ought to be able to figure this out among
themselves automatically. Not sure what goes wrong there. Maybe
just a value that needs minor adjusting.)
> I think this may also be what causes stack traces to get truncated
> pretty quickly, often after as only 2-3 frames. The error message in
> this case is a somewhat misleading
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Unfortunately, this is something else. All the reads involved have
quite reasonable sizes, the code does appear to have all the necessary
ingredients (frame pointer, etc.), yet gdb still gets confused.
- Werner
_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkymist@Freenode