This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
RE: [RFC] Enhance backtrace for microsoft system DLL calls
> -----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