Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* Possible improvement to i386 function prologue analysis.
@ 2004-10-15 14:56 ashish mittal
  2004-10-15 18:42 ` Mark Kettenis
  0 siblings, 1 reply; 4+ messages in thread
From: ashish mittal @ 2004-10-15 14:56 UTC (permalink / raw)
  To: gdb

Hi,

This is in reference to GDB's function prologue analysis (and updation 
of  its internal register cache therefrom) on the x86 architecture.
GDB file: gdb/i386-tdep.c

i386_analyze_frame_setup() takes care of
"Check for some special instructions that might be migrated by
         GCC into the prologue and skip them.  At this point in the
         prologue, code should only touch the scratch registers %eax,
         %ecx and %edx,.."

Instances have been observed when GCC generates these instructions 
between the prologue "push" instructions; for example, the following 
from the objdump of gdb:

0807a380 <captured_main>:
 807a380:       55                      push   %ebp
 807a381:       31 c0                   xor    %eax,%eax
 807a383:       89 e5                   mov    %esp,%ebp
 807a385:       57                      push   %edi
 807a386:       31 d2                   xor    %edx,%edx
 807a388:       31 c9                   xor    %ecx,%ecx
 807a38a:       56                      push   %esi
 807a38b:       53                      push   %ebx
 807a38c:       81 ec 4c 01 00 00       sub    $0x14c,%esp

In the above instance, the function "i386_analyze_register_saves()", 
which takes care of populating the frame cache, will fail after reading 
the first register %edi.

Please suggest if it would be worthwhile to work on a similar check for 
special instructions within the for loop in i386_analyze_register_saves().
This will enable it to continue reading saved registers over such 
occurances.
I could work on a possible patch if you agree.

Thanks,
Ashish Mittal.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-10-15 18:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-10-15 14:56 Possible improvement to i386 function prologue analysis ashish mittal
2004-10-15 18:42 ` Mark Kettenis
2004-10-15 22:26   ` Dave Korn
2004-10-15 22:34     ` Andrew Cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox