This is the mail archive of the
gdb@sourceware.cygnus.com
mailing list for the GDB project.
bugs in remote.c
- To: gdb at sourceware dot cygnus dot com
- Subject: bugs in remote.c
- From: Quality Quorum <qqi at world dot std dot com>
- Date: Wed, 1 Dec 1999 18:38:37 -0500 (EST)
Hi,
I found a few minor bugs in remote.c (gdb-19990519), I can provide
fixes if necessary.
1. remote_write_bytes - either ':' has to be escaped too or
sequences have to be outlawed once and forever.
2. set_thread - ignores returned packet.
3. remote_get_threadinfo and remote_get_threadlist - assume that first
two chars of the packet are fine - this one can really screw things up.
4. remote_open_1 - does not check for returned errors or non-supported
extended ops.
5. Inconsitent processing of returned errors:
a. Error is ignored by set_thread, remote_thread_alive,
remote_get_threadinfo, remote_get_threadlist,
remote_current_thread, extended_remote_restart,
remote_open_1, remote_fetch_registers, check_binary_download,
remote_query.
b. Error is considered worth a warning by get_offsets and
remote_wait.
c. Error is considered fatal by remote_detach,
remote_fetch_registers, remote_store_registers,
compare_sections_command.
d. errno = EIO is set by remote_write_bytes and remote_read_bytes.
c. memory_error(EIO, startaddr) is called by remote_search.
6. Inconsistent processing of returned no-support status:
a. compare_sections_command - consideres no support for the
operation a fatal error.
b. It is ignored by set_thread, remote_thread_alive,
remote_open_1, remote_write_bytes, remote_read_bytes,
remote_store_registers, remote_fecth_registers.
Naturally, some of these cases are improbable, however,
it does not mean that it shold not be checked to flag
faulty stubs.
7. extended_remote_restart does not give target any time to do restart.
8. remote_fecth_registers is unique in a sense that it will keep trying
until watchdog will be fired up.
Thanks,
Aleksey