-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
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);
- }
-
+ cache.locals = -1;
pc = i386_analyze_prologue (gdbarch, start_pc, 0xffffffff, &cache);
if (cache.locals < 0)
return start_pc;