* i386-tdep.c (i386_analyze_stack_align): Add comment.
authorJoel Brobecker <brobecker@gnat.com>
Fri, 5 Jan 2007 16:40:48 +0000 (16:40 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Fri, 5 Jan 2007 16:40:48 +0000 (16:40 +0000)
gdb/ChangeLog
gdb/i386-tdep.c

index 1c3aa311dae52738273d335a890924ca93efb02e..d1112fba1bf2b898f03bb1ab4ece0ccfaa10d3cc 100644 (file)
@@ -1,3 +1,7 @@
+2007-01-05  Joel Brobecker  <brobecker@adacore.com>
+
+       * i386-tdep.c (i386_analyze_stack_align): Add comment.
+
 2007-01-05  Joel Brobecker  <brobecker@adacore.com>
 
        * NEWS: Add entries for new catch commands.
index cd52bf6d0783df52672f10b9f873fbecdcbca5a8..de7e226db97de782e4cc66703533325a622c08d3 100644 (file)
@@ -497,6 +497,10 @@ static CORE_ADDR
 i386_analyze_stack_align (CORE_ADDR pc, CORE_ADDR current_pc,
                          struct i386_frame_cache *cache)
 {
+  /* The register used by the compiler to perform the stack re-alignment 
+     is, in order of preference, either %ecx, %edx, or %eax.  GCC should
+     never use %ebx as it always treats it as callee-saved, whereas
+     the compiler can only use caller-saved registers.  */
   static const gdb_byte insns_ecx[10] = { 
     0x8d, 0x4c, 0x24, 0x04,    /* leal  4(%esp), %ecx */
     0x83, 0xe4, 0xf0,          /* andl  $-16, %esp */