Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Jan 2013 08:05:06 -0800
From:      Garrett Cooper <yanegomi@gmail.com>
To:        Warner Losh <imp@bsdimp.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:  <816C84A4-BF12-468C-BED8-797A319E9CDC@gmail.com>
In-Reply-To: <89207049-41FF-479D-90EE-89652937AB29@bsdimp.com>
References:  <CAJ-Vmo=egCndUfHoQVS3Sy8rd0QOEm96mJ1Vv3K%2BrRuJcUpp9Q@mail.gmail.com> <89207049-41FF-479D-90EE-89652937AB29@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jan 16, 2013, at 7:35 AM, Warner Losh <imp@bsdimp.com> wrote:

> 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 onc=
e",

It's more of a convenience factor and easier to script command line argument=
s IMO.
Thanks,
-Garrett=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?816C84A4-BF12-468C-BED8-797A319E9CDC>