[RFC] Enhance backtrace for microsoft system DLL calls

Pierre Muller muller@ics.u-strasbg.fr
Tue Dec 11 17:29:00 GMT 2007

> -----Original Message-----
> From: Mark Kettenis [mailto:mark.kettenis@xs4all.nl]
> Sent: Monday, December 10, 2007 7:54 PM
> To: muller@ics.u-strasbg.fr
> Cc: gdb-patches@sourceware.org
> Subject: Re: [RFC] Enhance backtrace for microsoft system DLL calls
> > From: "Pierre Muller" <muller@ics.u-strasbg.fr>
> > Date: Mon, 10 Dec 2007 17:33:05 +0100
> >
> >   The main question is whether this patch is acceptable
> > for gdb as it is in a i386 common file, while
> > it most probably only applies to MS operating system.
> I have no problem with adding this to the generic i386, but I'd prefer
> to put this code in a seperate function called
> i386_skip_nops(CORE_ADDR pc); 
  I have no objections to that proposal
and can change my patch accordingly,
but the question is then:
  Should I check all possible no-op codes?
or only the one we know is used in one case i.e. 'mov %edi, %edi'

  There are many other nops:
'nop' instruction itself of course
but also all 'mov %reg,%reg' are no-ops,
even if preceded by size modifiers of 1 or 2 byte regs.

  Testing all these might be a bit silly, no?
  Thus, I would only test 'mov %edi,%edi'
adding Pedro's comments about its use in microsoft's operating system dll's.
  But if you think it is worthwhile to 
test other instructions, I would like to 
know it before updating the patch.

Pierre Muller

More information about the Gdb-patches mailing list