Date: Wed, 16 Jan 2013 10:52:37 -0700 From: Warner Losh <imp@bsdimp.com> To: Garrett Cooper <yanegomi@gmail.com> Cc: "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>, Adrian Chadd <adrian@FreeBSD.org>, freebsd-current <freebsd-current@freebsd.org> Subject: Re: [RFC] support -b <baudrate> when starting gdb Message-ID: <52655D4C-6B01-4E62-B639-51142EEE8353@bsdimp.com> In-Reply-To: <816C84A4-BF12-468C-BED8-797A319E9CDC@gmail.com> References: <CAJ-Vmo=egCndUfHoQVS3Sy8rd0QOEm96mJ1Vv3K%2BrRuJcUpp9Q@mail.gmail.com> <89207049-41FF-479D-90EE-89652937AB29@bsdimp.com> <816C84A4-BF12-468C-BED8-797A319E9CDC@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jan 16, 2013, at 9:05 AM, Garrett Cooper wrote:
> On Jan 16, 2013, at 7:35 AM, Warner Losh <imp@bsdimp.com> wrote:
>
>> How does 'set remotebaud' not do what you want?
>>
>> Warner
>>
>> On Jan 15, 2013, at 10:15 PM, Adrian Chadd wrote:
>>
>>> Hi,
>>>
>>> There doesn't seem to be a blessed way to set the baudrate from inside
>>> gdb/kgdb. It seems to be set from '-b' on the command line.
>>>
>>> However kgdb doesn't have this support.
>>>
>>> This patch adds -b support so kgdb so I can override the default speed
>>> (9600 it seems) to speak kgdb over serial to a 115200 console MIPS
>>> device.
>>>
>>> The MIPS stuff has other issues; I'll talk about those later.
>>>
>>> Thanks,
>>>
>>>
>>>
>>> Adrian
>>>
>>>
>>> Index: gnu/usr.bin/gdb/kgdb/main.c
>>> ===================================================================
>>> --- gnu/usr.bin/gdb/kgdb/main.c (revision 245281)
>>> +++ gnu/usr.bin/gdb/kgdb/main.c (working copy)
>>> @@ -333,11 +333,24 @@
>>> args.argv = malloc(sizeof(char *));
>>> args.argv[0] = argv[0];
>>>
>>> - while ((ch = getopt(argc, argv, "ac:d:fn:qr:vw")) != -1) {
>>> + while ((ch = getopt(argc, argv, "ab:c:d:fn:qr:vw")) != -1) {
>>> switch (ch) {
>>> case 'a':
>>> annotation_level++;
>>> break;
>>> + case 'b':
>>> + {
>>> + int i;
>>> + char *p;
>>> +
>>> + i = strtol (optarg, &p, 0);
>>> + if (i == 0 && p == optarg)
>>> + warnx("warning: could not set baud
>>> rate to `%s'.\n",
>>> + optarg);
>>> + else
>>> + baud_rate = i;
>>> + }
>>> + break;
>>> case 'c': /* use given core file. */
>>> if (vmcore != NULL) {
>>> warnx("option %c: can only be specified once",
>
> It's more of a convenience factor and easier to script command line arguments IMO.
True, but he said there was no way to do it... I have this in my setup scripts when I have to do serial debugging...
Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52655D4C-6B01-4E62-B639-51142EEE8353>
