[5.1?] [Fwd: gdb bug]
Andrew Cagney
ac131313@cygnus.com
Wed Sep 26 19:22:00 GMT 2001
Hello,
Looking at the attached:
> This bug was found on gdb 5.0, compiled with --host=i686-pc-linux-gnu
> and --target=ia64-unknown-linux-gnu
>
> "info regs" produces erroneous (byteswapped) output when running
> cross-platform with the debug target having larger registers than host
> long:s, and being little endian because of the following completely
> broken code in infcmd.c:
>
> /* FIXME! val_print probably can handle all of these cases now... */
>
> /* Else if virtual format is too long for printf,
> print in hex a byte at a time. */
> else if (REGISTER_VIRTUAL_SIZE (i) > (int) sizeof (long))
> {
> register int j;
> printf_filtered ("0x");
> for (j = 0; j < REGISTER_VIRTUAL_SIZE (i); j++)
> printf_filtered ("%02x", (unsigned char) virtual_buffer[j]);
> }
>
> This piece of code will, of course, only work if the virtual buffer
> happens to contain bigendian data.
>
> As the comment indicates(), val_print does handle this case correctly
> (at least in my i686 - ia64 case), and this whole if-branch can just
> be removed.
I've no quarms about zapping the code from the trunk. I'm just
wondering about the 5.1 branch.
Any one with an opinion?
Given it isn't native and fails the ``(gdb) break main; run'' test my
current leaning is no.
> PS. This must be one of the snotties remarks I've ever read in a
> how-to-report-bugs text (quote from info gdb/gdb bugs):
>
>
>> Here are some things that are not necessary:
>
> :
> :
>
>> * A guess about what the bug is or what it depends on.
>>
>> Such guesses are usually wrong. Even we cannot guess right about
>> such things without first using the debugger to find the facts.
>
>
> Reading such things really makes one want to help out correcting your
> crappy code (NOT).
Checking Cygnus's old internal repository I've found:
> 1.1 (rich 28-Mar-91): /* FIXME! val_print probably can handle all of these cases now... */
and the doco is similar. Both predate Cygnus making them very old. I'd
expect the comment and code to both pre-date the current crop of GDB
contributors.
Could I suggest getting an FSF assignment so you can contribute to the
code and, for instance, fix the above documentation bug?
Andrew
More information about the Gdb
mailing list