[Crash-utility] [PATCH] Fix compile warnings

Dave Anderson anderson at redhat.com
Wed Jan 17 20:10:05 UTC 2007


Bernhard Walle wrote:

> Hello,
>
> * Dave Anderson <anderson at redhat.com> [2007-01-17 15:48]:
> >
> > gdb-6.1.patch:
> >
> >             else if (*augmentation == 'P')
> >             {
> >               /* Skip.  */
> > -             buf += size_of_encoded_value (*buf++);
> > +             buf += size_of_encoded_value (*buf);
> >               augmentation++;
> >             }
> >
> > This patch makes me a litte nervous.  I see that gdb 6.5 does this:
> >
> >           else if (*augmentation == 'P')
> >             {
> >               /* Skip.  Avoid indirection since we throw away the result.  */
> >               gdb_byte encoding = (*buf++) & ~DW_EH_PE_indirect;
> >               read_encoded_value (unit, encoding, buf, &bytes_read);
> >               buf += bytes_read;
> >               augmentation++;
> >             }
> >
> > Are they equivalent?
>
> Of course not. :) After thinking a bit I think the correct fix would
> be:
>
>         buf += size_of_encoded_value(*buf);
>         buf++;
>
> Do you aggree?
>

I can't say with any confidence.  I was trying to correlate the difference
between the way it's done in gdb-6.5 vs 6.1, and got lost doing so...

Just curious -- how do you manage to get crash to run through that
code path?  (I put an exit() there, but can't seem to get there...)


> Attached I have some more fixes for the GDB patch (so this is no patch
> for crash but should be added to gdb-6.1.patch). I saw that there's
> some internal memset() with different paramter order in GDB [1], but
> that's not taken in the gdb/ subdirectory because if you compile the
> whole GDB with -D_FORTIFY_SOURCE=2, you get a linker (and not
> compiler) warning. And the linker should know about it.
>

These are all fine -- they've been addressed similarly in gdb-6.5.

Thanks,
  Dave





More information about the Crash-utility mailing list