This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[commit] [patch] Fix crash on empty DWARF expressions NULL DATA vs. zero SIZE
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Thu, 13 Oct 2011 00:04:36 +0200
- Subject: [commit] [patch] Fix crash on empty DWARF expressions NULL DATA vs. zero SIZE
- References: <20110713160435.GA19359@host1.jankratochvil.net>
On Wed, 13 Jul 2011 18:04:35 +0200, Jan Kratochvil wrote:
> gdb/
> 2011-07-13 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> Fix empty DWARF expressions DATA vs. SIZE conditionals.
> * dwarf2loc.c (dwarf2_find_location_expression): Clear *LOCEXPR_LENGTH.
> (dwarf_expr_frame_base_1): Indicate unavailability via zero *LENGTH.
> (locexpr_tracepoint_var_ref): Check only zero SIZE, not zero DATA.
> (loclist_read_variable, loclist_tracepoint_var_ref): Do not check for
> zero DATA.
> * dwarf2loc.h (struct dwarf2_locexpr_baton): Comment DATA vs. SIZE
> validity.
> * dwarf2read.c (struct dwarf_block): Comment DATA validity.
> (dwarf2_fetch_die_location_block, dwarf2_symbol_mark_computed): Do not
> clear DATA on zero SIZE.
>
> gdb/testsuite/
> 2011-07-13 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> Fix empty DWARF expressions DATA vs. SIZE conditionals.
> * gdb.dwarf2/dw2-op-call.S (arraycallnoloc, arraynoloc): New DIEs.
> (loclist): New.
> (4): New abbrev.
> * gdb.dwarf2/dw2-op-call.exp: Remove variable srcfile and executable.
> Use prepare_for_testing, remove clean_restart.
> (p arraynoloc, p arraycallnoloc): New tests.
Checked in:
http://sourceware.org/ml/gdb-cvs/2011-10/msg00104.html
With some new patches I found out I need again to find out whether a DWARF
block is <optimized out> and I remembered this patch of mine.
Thanks,
Jan