From: Philippe E. <ph...@us...> - 2007-11-15 20:57:26
|
Update of /cvsroot/oprofile/oprofile/libutil++ In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv24295/libutil++ Modified Files: Tag: JIT_SUPPORT bfd_support.cpp op_bfd.cpp Log Message: sync with HEAD Index: bfd_support.cpp =================================================================== RCS file: /cvsroot/oprofile/oprofile/libutil++/bfd_support.cpp,v retrieving revision 1.5 retrieving revision 1.5.2.1 diff -u -p -d -r1.5 -r1.5.2.1 --- bfd_support.cpp 17 Nov 2006 23:47:29 -0000 1.5 +++ bfd_support.cpp 15 Nov 2007 20:57:29 -0000 1.5.2.1 @@ -542,7 +542,12 @@ find_nearest_line(bfd_info const & b, op if (!ret || !cfilename || !function) goto fail; - if (!is_correct_function(function, sym.name())) + /* + * is_correct_function does not handle the case of static inlines, + * but if the linenr is non-zero in the inline case, it is the correct + * line number. + */ + if (linenr == 0 && !is_correct_function(function, sym.name())) goto fail; if (linenr == 0) { Index: op_bfd.cpp =================================================================== RCS file: /cvsroot/oprofile/oprofile/libutil++/op_bfd.cpp,v retrieving revision 1.73.2.4 retrieving revision 1.73.2.5 diff -u -p -d -r1.73.2.4 -r1.73.2.5 --- op_bfd.cpp 29 Oct 2007 19:52:24 -0000 1.73.2.4 +++ op_bfd.cpp 15 Nov 2007 20:57:29 -0000 1.73.2.5 @@ -106,15 +106,17 @@ op_bfd::op_bfd(string const & fname, str string suf = ".jo"; string::size_type pos; - image_error image_ok; + image_error img_ok; string const image_path = - extra_images.find_image_path(filename, image_ok, true); + extra_images.find_image_path(filename, img_ok, true); cverb << vbfd << "op_bfd ctor for " << image_path << endl; // if there's a problem already, don't try to open it - if (!ok) + if (!ok || img_ok != image_ok) { + cverb << vbfd << "can't locate " << image_path << endl; goto out_fail; + } fd = open(image_path.c_str(), O_RDONLY); if (fd == -1) { |