From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1294 invoked by alias); 4 Mar 2008 17:01:10 -0000 Received: (qmail 1053 invoked by uid 48); 4 Mar 2008 17:00:27 -0000 Date: Tue, 04 Mar 2008 17:01:00 -0000 Message-ID: <20080304170027.1052.qmail@sourceware.org> From: "pmuldoon at redhat dot com" To: frysk-bugzilla@sourceware.org In-Reply-To: <20080304164559.5864.pmuldoon@redhat.com> References: <20080304164559.5864.pmuldoon@redhat.com> Reply-To: sourceware-bugzilla@sourceware.org Subject: [Bug general/5864] Dwfl.cxx dwfl_frysk_proc_find_elf does not deal with relative paths X-Bugzilla-Reason: AssignedTo Mailing-List: contact frysk-bugzilla-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: frysk-bugzilla-owner@sourceware.org X-SW-Source: 2008-q1/txt/msg00439.txt.bz2 List-Id: ------- Additional Comments From pmuldoon at redhat dot com 2008-03-04 17:00 ------- Added a comment explaining the issue: 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); -- http://sourceware.org/bugzilla/show_bug.cgi?id=5864 ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.