Blame gdb-gcc46-stdarg-prologue.patch
|
Jan Kratochvil |
16c47e7 |
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|
Jan Kratochvil |
16c47e7 |
index 6a98d57..9fa9c3c 100644
|
|
Jan Kratochvil |
16c47e7 |
--- a/gdb/dwarf2read.c
|
|
Jan Kratochvil |
16c47e7 |
+++ b/gdb/dwarf2read.c
|
|
Jan Kratochvil |
16c47e7 |
@@ -10371,6 +10371,9 @@ dwarf_decode_lines (struct line_header *lh, const char *comp_dir, bfd *abfd,
|
|
Jan Kratochvil |
16c47e7 |
|
|
Jan Kratochvil |
16c47e7 |
if (op_code >= lh->opcode_base)
|
|
Jan Kratochvil |
16c47e7 |
{
|
|
Jan Kratochvil |
16c47e7 |
+ CORE_ADDR saved_address = address;
|
|
Jan Kratochvil |
16c47e7 |
+ unsigned int saved_line = line;
|
|
Jan Kratochvil |
16c47e7 |
+
|
|
Jan Kratochvil |
16c47e7 |
/* Special operand. */
|
|
Jan Kratochvil |
16c47e7 |
adj_opcode = op_code - lh->opcode_base;
|
|
Jan Kratochvil |
16c47e7 |
address += (((op_index + (adj_opcode / lh->line_range))
|
|
Jan Kratochvil |
16c47e7 |
@@ -10383,7 +10386,8 @@ dwarf_decode_lines (struct line_header *lh, const char *comp_dir, bfd *abfd,
|
|
Jan Kratochvil |
16c47e7 |
dwarf2_debug_line_missing_file_complaint ();
|
|
Jan Kratochvil |
16c47e7 |
/* For now we ignore lines not starting on an
|
|
Jan Kratochvil |
16c47e7 |
instruction boundary. */
|
|
Jan Kratochvil |
16c47e7 |
- else if (op_index == 0)
|
|
Jan Kratochvil |
16c47e7 |
+ else if (op_index == 0
|
|
Jan Kratochvil |
16c47e7 |
+ && (address != saved_address || line != saved_line))
|
|
Jan Kratochvil |
16c47e7 |
{
|
|
Jan Kratochvil |
16c47e7 |
lh->file_names[file - 1].included_p = 1;
|
|
Jan Kratochvil |
16c47e7 |
if (!decode_for_pst_p && is_stmt)
|