Skip to content
  • Matheus Tavares Bernardino's avatar
    75837005
    gdbstub: only send stop-reply packets when allowed to · 75837005
    Matheus Tavares Bernardino authored
    
    
    GDB's remote serial protocol allows stop-reply messages to be sent by
    the stub either as a notification packet or as a reply to a GDB command
    (provided that the cmd accepts such a response). QEMU currently does not
    implement notification packets, so it should only send stop-replies
    synchronously and when requested. Nevertheless, it still issues
    unsolicited stop messages through gdb_vm_state_change().
    
    Although this behavior doesn't seem to cause problems with GDB itself
    (the messages are just ignored), it can impact other debuggers that
    implement the GDB remote serial protocol, like hexagon-lldb. Let's
    change the gdbstub to send stop messages only as a response to a
    previous GDB command that accepts such a reply.
    
    Signed-off-by: default avatarMatheus Tavares Bernardino <quic_mathbern@quicinc.com>
    Acked-by: default avatarAlex Bennée <alex.bennee@linaro.org>
    Signed-off-by: default avatarTaylor Simpson <tsimpson@quicinc.com>
    Message-Id: <a49c0897fc22a6a7827c8dfc32aef2e1d933ec6b.1683214375.git.quic_mathbern@quicinc.com>
    75837005
    gdbstub: only send stop-reply packets when allowed to
    Matheus Tavares Bernardino authored
    
    
    GDB's remote serial protocol allows stop-reply messages to be sent by
    the stub either as a notification packet or as a reply to a GDB command
    (provided that the cmd accepts such a response). QEMU currently does not
    implement notification packets, so it should only send stop-replies
    synchronously and when requested. Nevertheless, it still issues
    unsolicited stop messages through gdb_vm_state_change().
    
    Although this behavior doesn't seem to cause problems with GDB itself
    (the messages are just ignored), it can impact other debuggers that
    implement the GDB remote serial protocol, like hexagon-lldb. Let's
    change the gdbstub to send stop messages only as a response to a
    previous GDB command that accepts such a reply.
    
    Signed-off-by: default avatarMatheus Tavares Bernardino <quic_mathbern@quicinc.com>
    Acked-by: default avatarAlex Bennée <alex.bennee@linaro.org>
    Signed-off-by: default avatarTaylor Simpson <tsimpson@quicinc.com>
    Message-Id: <a49c0897fc22a6a7827c8dfc32aef2e1d933ec6b.1683214375.git.quic_mathbern@quicinc.com>
Loading