Re: Semihosting in GDB 11.1 | Proposed patch for interrupting in sync mode
Adrian Oltean via Gdb <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <VI1PR0402MB286377D8A18B417D40219F3FF10A9@VI1PR0402MB2863.eurprd04.prod.outlook.com> |
Hi Tom, Unfortunately, I could not find ways to adapt all the other components I have around GDB to work with target-async mode enabled. It is what it is... Regarding the 'H' packet, I had a second look in the RSP specs where it's stated that '0' indicates an arbitrary process/thread. So, as you mentioned, I changed the GDB server code to simply ensure there's a valid thread stopped marked as 'current'. The original implementation incorrectly assimilated '0' with 'first thread' (always). Thank you, Adrian -----Original Message----- From: Tom Tromey <[email protected]> Sent: Wednesday, March 9, 2022 12:10 AM To: Adrian Oltean via Gdb <[email protected]> Cc: Adrian Oltean <[email protected]> Subject: [EXT] Re: Semihosting in GDB 11.1 | Proposed patch for interrupting in sync mode Caution: EXT Email >>>>> Adrian Oltean via Gdb <[email protected]> writes: > 1. I need to run GDB client in all-stop mode with target-async set to off. > This seems to be a must in order to make some python scripts > (containing > gdb.post_event('continue')) interact correctly with Eclipse CDT and > with some automation I have around the python scripts. I think it would be better on the whole to figure out a way to make this work with target-async. In the long run I'd prefer that gdb remove sync target wait entirely -- that the default be target-async everywhere. > but I'd like to know if there's any chance I'll break any use case > with these changes. I don't have the answer to that I'm afraid. > Is the described behavior a known issue inside GDB? Or do I have to > change something in the server to correct the described behavior? > [remote] Sending packet: $Hg0#df I think this request means to switch to any thread for subsequent non-continue/step requests. So, ignoring it is almost the right thing to do, I think the idea is just to ensure that some stopped thread is selected. Tom