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:
>=20
>> How does 'set remotebaud' not do what you want?
>>=20
>> Warner
>>=20
>> On Jan 15, 2013, at 10:15 PM, Adrian Chadd wrote:
>>=20
>>> Hi,
>>>=20
>>> 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.
>>>=20
>>> However kgdb doesn't have this support.
>>>=20
>>> 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.
>>>=20
>>> The MIPS stuff has other issues; I'll talk about those later.
>>>=20
>>> Thanks,
>>>=20
>>>=20
>>>=20
>>> Adrian
>>>=20
>>>=20
>>> Index: gnu/usr.bin/gdb/kgdb/main.c
>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>> --- gnu/usr.bin/gdb/kgdb/main.c (revision 245281)
>>> +++ gnu/usr.bin/gdb/kgdb/main.c (working copy)
>>> @@ -333,11 +333,24 @@
>>> args.argv =3D malloc(sizeof(char *));
>>> args.argv[0] =3D argv[0];
>>>=20
>>> - while ((ch =3D getopt(argc, argv, "ac:d:fn:qr:vw")) !=3D -1) =
{
>>> + while ((ch =3D getopt(argc, argv, "ab:c:d:fn:qr:vw")) !=3D =
-1) {
>>> switch (ch) {
>>> case 'a':
>>> annotation_level++;
>>> break;
>>> + case 'b':
>>> + {
>>> + int i;
>>> + char *p;
>>> +
>>> + i =3D strtol (optarg, &p, 0);
>>> + if (i =3D=3D 0 && p =3D=3D optarg)
>>> + warnx("warning: could not set baud
>>> rate to `%s'.\n",
>>> + optarg);
>>> + else
>>> + baud_rate =3D i;
>>> + }
>>> + break;
>>> case 'c': /* use given core file. */
>>> if (vmcore !=3D NULL) {
>>> warnx("option %c: can only be specified =
once",
>=20
> 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>
