* Added reading of memory maps from /proc/pid/maps
* Don't enable extended mode by default, only do so when attaching to process. Otherwise can't quit gdbserver
* Better gdb file reading
Try to activate extended mode; Attach helper function requires extended mode to actually do something.
Tries to attach to the given pid in io_gdb.
This isn't proper, but it's better than running into the two-pid-vals-no-sync issue.
* Fixes for packet too long
* Proper escaping in packets and run-length encoding
* Removed old cache code
* Removed currently unnecessary code from client initialization
* Preparation for customized packet sizes
* Better packet-size configuration
* Minimum packet size (for AVR)
* mem_write too
* Corrections to packing code
* Was overcompensating for AVR. (pkt_sz = 16 => read_mem_len = 8)
* bug fixes in client, and adding kill signal for server without multiprocess support
* commented out currently unnecessary packets sent by client
* Corrections to client kill signal code
* More functionality for gdbserver. Read regs and memory
* Added bitflag structure for qSupported
* Get if process is attached/created and get file name
* Set process/thread id for subsequent 'g' commands
* Use strbuf instead of big buffer,started work on fstat
* Fix indent, brackets. Use bool instead of bitflags
* Minor fixes
When debugging a single-threaded application via GDB Serial protocol
some GDB servers (notably OpenOCD) do not support vCont command, so
neither step nor continue work. Even though current protocol
description deprecates plain "s" and "c" it does so only for
multi-threading cases.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
This patch addresses several issues with the current implementation,
including:
- Excessive recursions
- Incorrect handling of the escape character
- Buffer size limitations
QEMU seems to send a T02thread message upon connection. This can get the
client side out of sync wrt requests & responses.
To work around this, read a packet after a connection is made. This
could time out, but that should be harmless.