This is the mail archive of the frysk-bugzilla@sourceware.org mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug general/5864] Dwfl.cxx dwfl_frysk_proc_find_elf does not deal with relative paths


------- 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]