From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18039 invoked by alias); 4 Mar 2008 15:44:35 -0000 Received: (qmail 17989 invoked by uid 9514); 4 Mar 2008 15:44:31 -0000 Date: Tue, 04 Mar 2008 15:44:00 -0000 Message-ID: <20080304154431.17974.qmail@sourceware.org> From: pmuldoon@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: 2008-03-04 Phil Muldoon X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 4b90d585ee31843af8a9b37c0fe65f898aae896b X-Git-Newrev: 3bc91e04a3f231066eba452688f3decc5742fab2 Mailing-List: contact frysk-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-cvs-owner@sourceware.org Reply-To: frysk@sourceware.org X-SW-Source: 2008-q1/txt/msg00305.txt.bz2 The branch, master has been updated via 3bc91e04a3f231066eba452688f3decc5742fab2 (commit) from 4b90d585ee31843af8a9b37c0fe65f898aae896b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 3bc91e04a3f231066eba452688f3decc5742fab2 Author: Phil Muldoon Date: Tue Mar 4 15:44:15 2008 +0000 2008-03-04 Phil Muldoon * cni/Dwfl.cxx (dwfl_frysk_proc_find_elf): Document relative map edge case. ----------------------------------------------------------------------- Summary of changes: frysk-sys/lib/dwfl/ChangeLog | 5 +++++ frysk-sys/lib/dwfl/cni/Dwfl.cxx | 5 +++++ 2 files changed, 10 insertions(+), 0 deletions(-) First 500 lines of diff: diff --git a/frysk-sys/lib/dwfl/ChangeLog b/frysk-sys/lib/dwfl/ChangeLog index aa5d37c..a36c48b 100644 --- a/frysk-sys/lib/dwfl/ChangeLog +++ b/frysk-sys/lib/dwfl/ChangeLog @@ -1,3 +1,8 @@ +2008-03-04 Phil Muldoon + + * cni/Dwfl.cxx (dwfl_frysk_proc_find_elf): Document + relative map edge case. + 2008-03-03 Andrew Cagney * TestElf.java: Use frysk.config. diff --git a/frysk-sys/lib/dwfl/cni/Dwfl.cxx b/frysk-sys/lib/dwfl/cni/Dwfl.cxx index 2126e35..c5bda82 100644 --- a/frysk-sys/lib/dwfl/cni/Dwfl.cxx +++ b/frysk-sys/lib/dwfl/cni/Dwfl.cxx @@ -78,6 +78,11 @@ dwfl_frysk_proc_find_elf (Dwfl_Module *mod, const char *module_name, Dwarf_Addr base, char **file_name, Elf **elfp) { + // There is an edge case here that was tripped by a corefile case. In that case the + // specified executable was defined as a relative path (ie ../foo/bar). And that is + // perfectly valid path name. However when the corefile created its maps it did not + // convert that path to an absolute path, causing the test below to fail and consider + // the file ../foo/bar to be an in memory elf image. if (module_name[0] == '/') { int fd = open64 (module_name, O_RDONLY); hooks/post-receive -- frysk system monitor/debugger