On 2013-03-11 12:22, Fabien Chouteau wrote:
> On 03/10/2013 09:06 AM, Jan Kiszka wrote:
>>> @@ -2491,6 +2493,10 @@ static int gdb_handle_packet(GDBState *s, const char
>>> *line_buf)
>>> break;
>>> }
>>> #endif
>>> + if (strncmp(p, "Attached", 8) == 0) {
>>> + put_packet(s, gdb_attached ? "1" : "0");
>>> + break;
>>> + }
>>
>> This works as expected for system mode, but now inverts the behaviour
>> for user mode - that's unexpected and not ok.
>>
>
> OK, I can change the default value for user mode.
>
>>> diff --git a/qemu-options.hx b/qemu-options.hx
>>> index 6f9334a..026d3eb 100644
>>> --- a/qemu-options.hx
>>> +++ b/qemu-options.hx
>>> @@ -2988,6 +2988,13 @@ property must be set. These objects are placed in
>>> the
>>> '/objects' path.
>>> ETEXI
>>>
>>> +DEF("gdb-not-attached", 0, QEMU_OPTION_gdb_not_attached,
>>> + "-gdb-not-attached\n"
>>> + " Do not set Gdb remote server in attached mode.\n"
>>> + " When exiting debugging session, Gdb will send a
>>> 'kill'\n"
>>> + " command instead of a 'detach'.\n",
>>> + QEMU_ARCH_ALL)
>>> +
>>
>> First of all, why do we need this configurable? In which use cases do
>> you want attached mode for user emulation or kill mode for system
>> emulation/virtualization?
>>
>
> It's more convenient for us, we expect QEMU to terminate at the end of
> debugging session because we do not run big systems/kernels but short
> test programs. It used to be the default behavior of QEMU, and our
> test-suites, IDE, developers and users are expecting this.And it's not possible to replace 'q' with 'k' in your gdb control scripts? That gives you a well-defined behaviour, and we don't need to tweak QEMU, specifically its command line, for this special case. Jan
signature.asc
Description: OpenPGP digital signature
