blob: c0ceb5a4126737ddefae8cf444f439f28af70050 [file] [log] [blame]
Brad Bishop316dfdd2018-06-25 12:45:53 -04001From a714658727206d2a98a7194b7e6d29dbd3e27b8d Mon Sep 17 00:00:00 2001
2From: David Smith <dsmith@redhat.com>
3Date: Mon, 19 Mar 2018 16:50:05 -0500
4Subject: [PATCH] Added a couple of small sysroot fixes.
5
6* tapsets.cxx (dwarf_builder::build): Fix commit 4ffecddf5.
7 (path_remove_sysroot): Fix extra '/' present at start of paths.
8
9Upstream-Status: Backport
10Signed-off-by: Victor Kamensky <kamensky@cisco.com>
11---
12 tapsets.cxx | 10 +++++++---
13 1 file changed, 7 insertions(+), 3 deletions(-)
14
15Index: git/tapsets.cxx
16===================================================================
17--- git.orig/tapsets.cxx
18+++ git/tapsets.cxx
19@@ -1395,7 +1395,8 @@ string path_remove_sysroot(const systemt
20 string retval = path;
21 if (!sess.sysroot.empty() &&
22 (pos = retval.find(sess.sysroot)) != string::npos)
23- retval.replace(pos, sess.sysroot.length(), "/");
24+ retval.replace(pos, sess.sysroot.length(),
25+ (sess.sysroot.back() == '/' ? "/": ""));
26 return retval;
27 }
28
29@@ -8412,8 +8413,11 @@ dwarf_builder::build(systemtap_session &
30
31 // PR13338: unquote glob results
32 module_name = unescape_glob_chars (module_name);
33- user_path = find_executable (module_name, "", sess.sysenv); // canonicalize it
34- if (!is_fully_resolved(user_path, sess.sysroot, sess.sysenv))
35+ user_path = find_executable (module_name, sess.sysroot, sess.sysenv); // canonicalize it
36+ // Note we don't need to pass the sysroot to
37+ // is_fully_resolved(), since we just passed it to
38+ // find_executable().
39+ if (!is_fully_resolved(user_path, "", sess.sysenv))
40 throw SEMANTIC_ERROR(_F("cannot find executable '%s'",
41 user_path.to_string().c_str()));
42