From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31825 invoked by alias); 17 Sep 2007 13:42:55 -0000 Received: (qmail 31803 invoked by uid 22791); 17 Sep 2007 13:42:52 -0000 X-Spam-Check-By: sourceware.org Received: from province.act-europe.fr (HELO province.act-europe.fr) (212.157.227.214) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 17 Sep 2007 13:42:48 +0000 Received: by province.act-europe.fr (Postfix, from userid 560) id 2BAE9164906; Mon, 17 Sep 2007 15:42:46 +0200 (CEST) Date: Mon, 17 Sep 2007 13:42:00 -0000 From: Jerome Guitton To: gdb-patches@sourceware.org Subject: Re: [RFA] dwarf2loc, guard against null Message-ID: <20070917134246.GA93930@adacore.com> References: <20070917120443.GA21276@adacore.com> <20070917121503.GA7606@caradoc.them.org> <20070917122654.GY93930@adacore.com> <20070917123048.GA8537@caradoc.them.org> <20070917131052.GA28874@adacore.com> <20070917131951.GA13182@caradoc.them.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="8/pVXlBMPtxfSuJG" Content-Disposition: inline In-Reply-To: <20070917131951.GA13182@caradoc.them.org> User-Agent: Mutt/1.4.2.2i Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-09/txt/msg00220.txt.bz2 --8/pVXlBMPtxfSuJG Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-length: 743 Daniel Jacobowitz (drow@false.org): > Yes, that's probably it. If you stay connected to the target after > mourning, you may want to look at the new target_mark_exited. I > haven't had time to contribute the target extended-remote bits that > go along with that yet but soon, soon... OK, thanks for your help. > Assertion, please. If we found a frame-relative symbol then it was > certainly within some function associated with a frame. If we can't > find the frame, something has gone wrong. OK, makes sense. I will commit the patch in attachment. 2007-09-17 Jerome Guitton * dwarf2loc.c (dwarf_expr_frame_base): Guard against NULL. Part of G917-008. * Makefile.in (dwarf2loc.o): Depend on gdb_assert.h. --8/pVXlBMPtxfSuJG Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="dwarf2loc.c.diff" Content-length: 1821 Index: gdb/Makefile.in =================================================================== RCS file: /cvs/src/src/gdb/Makefile.in,v retrieving revision 1.936 diff -u -p -r1.936 Makefile.in --- gdb/Makefile.in 5 Sep 2007 00:14:02 -0000 1.936 +++ gdb/Makefile.in 17 Sep 2007 13:41:35 -0000 @@ -1963,7 +1963,7 @@ dwarf2-frame.o: dwarf2-frame.c $(defs_h) dwarf2loc.o: dwarf2loc.c $(defs_h) $(ui_out_h) $(value_h) $(frame_h) \ $(gdbcore_h) $(target_h) $(inferior_h) $(ax_h) $(ax_gdb_h) \ $(regcache_h) $(objfiles_h) $(exceptions_h) $(elf_dwarf2_h) \ - $(dwarf2expr_h) $(dwarf2loc_h) $(gdb_string_h) + $(dwarf2expr_h) $(dwarf2loc_h) $(gdb_string_h) $(gdb_assert_h) dwarf2read.o: dwarf2read.c $(defs_h) $(bfd_h) $(symtab_h) $(gdbtypes_h) \ $(objfiles_h) $(elf_dwarf2_h) $(buildsym_h) $(demangle_h) \ $(expression_h) $(filenames_h) $(macrotab_h) $(language_h) \ Index: gdb/dwarf2loc.c =================================================================== RCS file: /cvs/src/src/gdb/dwarf2loc.c,v retrieving revision 1.45 diff -u -p -r1.45 dwarf2loc.c --- gdb/dwarf2loc.c 23 Aug 2007 18:08:28 -0000 1.45 +++ gdb/dwarf2loc.c 17 Sep 2007 13:41:36 -0000 @@ -37,6 +37,7 @@ #include "dwarf2loc.h" #include "gdb_string.h" +#include "gdb_assert.h" /* A helper function for dealing with location lists. Given a symbol baton (BATON) and a pc value (PC), find the appropriate @@ -145,6 +146,11 @@ dwarf_expr_frame_base (void *baton, gdb_ framefunc = get_frame_function (debaton->frame); + /* If we found a frame-relative symbol then it was certainly within + some function associated with a frame. If we can't find the frame, + something has gone wrong. */ + gdb_assert (framefunc != NULL); + if (SYMBOL_OPS (framefunc) == &dwarf2_loclist_funcs) { struct dwarf2_loclist_baton *symbaton; --8/pVXlBMPtxfSuJG--