ea53870 Avoid another inferior_ptid reference in gdb/remote.c

2 files Authored by Tankut Baris Aktemur 4 years ago, Committed by palves 4 years ago,
    Avoid another inferior_ptid reference in gdb/remote.c
    
    The multi-target patch makes inferior_ptid point to null_ptid before
    calling into target_wait, which catches bad uses of inferior_ptid,
    since the current selected thread in gdb shouldn't have much relation
    to the thread that reports an event.
    
    One such bad use is found in remote_target::remote_parse_stop_reply,
    where we handle the 'W' or 'X' packets (process exit), and the remote
    target does not support the multi-process extensions, i.e., it does
    not report the PID of the process that exited.
    
    With the multi-target patch, that would result in a failed assertion,
    trying to find the inferior for process pid 0.
    
    gdb/ChangeLog:
    yyyy-mm-dd  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
    	    Pedro Alves	 <palves@redhat.com>
    
    	* remote.c (remote_target::remote_parse_stop_reply) <W/X packets>:
    	If no process is specified, return null_ptid instead of
    	inferior_ptid.
    	(remote_target::wait_as): Handle TARGET_WAITKIND_EXITED /
    	TARGET_WAITKIND_SIGNALLED with no pid.
    
    gdb/testsuite/ChangeLog:
    yyyy-mm-dd  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
    	    Pedro Alves	 <palves@redhat.com>
    
    	* gdb.server/connect-without-multi-process.exp: Also test
    	continuing to end.
    
        
file modified
+13 -5