This is the mail archive of the gdb@sourceware.cygnus.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

bugs in remote.c



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



  


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]