This is the mail archive of the
frysk-bugzilla@sourceware.org
mailing list for the frysk project.
[Bug general/5864] Dwfl.cxx dwfl_frysk_proc_find_elf does not deal with relative paths
- From: "pmuldoon at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: frysk-bugzilla at sourceware dot org
- Date: 4 Mar 2008 17:00:27 -0000
- Subject: [Bug general/5864] Dwfl.cxx dwfl_frysk_proc_find_elf does not deal with relative paths
- References: <20080304164559.5864.pmuldoon@redhat.com>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- 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 <pmuldoon@redhat.com>
Date: Tue Mar 4 15:44:15 2008 +0000
2008-03-04 Phil Muldoon <pmuldoon@redhat.com>
* 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 <pmuldoon@redhat.com>
+
+ * cni/Dwfl.cxx (dwfl_frysk_proc_find_elf): Document
+ relative map edge case.
+
2008-03-03 Andrew Cagney <cagney@redhat.com>
* 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.