diff options
author | gdb-2.8 <gdb@fsf.org> | 1988-09-03 08:00:00 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2012-06-03 15:36:31 +0100 |
commit | 3bf57d210832b28e9361990830eb722a619f031b (patch) | |
tree | ba506d293bde0f6500d0cee3e643ebf8890d9cf7 /gdb/stack.c | |
parent | 7c75bab3d3ef344a6a0b13b9ab59ecd5855aceb5 (diff) | |
download | gdb-3bf57d210832b28e9361990830eb722a619f031b.zip gdb-3bf57d210832b28e9361990830eb722a619f031b.tar.gz gdb-3bf57d210832b28e9361990830eb722a619f031b.tar.bz2 |
gdb-2.8
Diffstat (limited to 'gdb/stack.c')
-rw-r--r-- | gdb/stack.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gdb/stack.c b/gdb/stack.c index fce015b..6c3443c 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -120,12 +120,15 @@ print_frame_info (fi, level, source, args) if (source != 0 && sal.symtab) { int done = 0; - if (source < 0 && fi->pc != sal.pc) - printf ("0x%x\t", fi->pc); + int mid_statement = source < 0 && fi->pc != sal.pc; if (frame_file_full_name) - done = identify_source_line (sal.symtab, sal.line); + done = identify_source_line (sal.symtab, sal.line, mid_statement); if (!done) - print_source_lines (sal.symtab, sal.line, sal.line + 1); + { + if (mid_statement) + printf ("0x%x\t", fi->pc); + print_source_lines (sal.symtab, sal.line, sal.line + 1, 1); + } current_source_line = max (sal.line - 5, 1); } if (source != 0) @@ -278,7 +281,8 @@ print_block_frame_locals (b, frame, stream) { sym = BLOCK_SYM (b, i); if (SYMBOL_CLASS (sym) == LOC_LOCAL - || SYMBOL_CLASS (sym) == LOC_REGISTER) + || SYMBOL_CLASS (sym) == LOC_REGISTER + || SYMBOL_CLASS (sym) == LOC_STATIC) { fprintf (stream, "%s = ", SYMBOL_NAME (sym)); print_variable_value (sym, frame, stream); |