diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 138e0df2aca..7f0d3e2c949 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,9 +1,3 @@ -2012-11-21 Karthik Bhat - - * 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 PR tdep/7438 diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 5e12cb53b17..f0056bea56f 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -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;