From: Joel Brobecker Date: Fri, 5 Jan 2007 16:40:48 +0000 (+0000) Subject: * i386-tdep.c (i386_analyze_stack_align): Add comment. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=92a56b20f12574bc38b7ed0d02c95dae3a905751;p=binutils-gdb.git * i386-tdep.c (i386_analyze_stack_align): Add comment. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1c3aa311dae..d1112fba1bf 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2007-01-05 Joel Brobecker + + * i386-tdep.c (i386_analyze_stack_align): Add comment. + 2007-01-05 Joel Brobecker * NEWS: Add entries for new catch commands. diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index cd52bf6d078..de7e226db97 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -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 */