Revert previous change to i386-tdep.c.

This commit is contained in:
Pedro Alves 2012-11-21 14:09:10 +00:00
parent 2ddda9905b
commit e0f33b1fbf
2 changed files with 1 additions and 29 deletions

View File

@ -1,9 +1,3 @@
2012-11-21 Karthik Bhat <kv.bhat@samsung.com>
* i386-tdep.c (i386_skip_prologue): See if we
can determine the end of the prologue via the symbol table.
If so use the same instead of going through prologue instructions.
2012-11-21 Yao Qi <yao@codesourcery.com>
PR tdep/7438

View File

@ -1582,30 +1582,8 @@ i386_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
CORE_ADDR pc;
gdb_byte op;
int i;
cache.locals = -1;
CORE_ADDR func_addr;
struct symtab *s = find_pc_symtab (func_addr);
if (find_pc_partial_function (start_pc, NULL, &func_addr, NULL))
{
CORE_ADDR post_prologue_pc
= skip_prologue_using_sal (gdbarch, func_addr);
/* GCC always emits a line note before the prologue and another
one after, even if the two are at the same address or on the
same line. Take advantage of this so that we do not need to
know every instruction that might appear in the prologue. We
will have producer information for most binaries; if it is
missing (e.g. for -gstabs), assuming the GNU tools. */
if (post_prologue_pc
&& (s == NULL
|| s->producer == NULL
|| strncmp (s->producer, "GNU ", sizeof ("GNU ") - 1) == 0
|| strncmp (s->producer, "clang ", sizeof ("clang ") - 1) == 0))
return max (start_pc, post_prologue_pc);
}
pc = i386_analyze_prologue (gdbarch, start_pc, 0xffffffff, &cache);
if (cache.locals < 0)
return start_pc;