blob: 6fe7d4d1cf16da8e1d3fd92f933e0d62c6495b5e [file] [log] [blame]
Brad Bishop316dfdd2018-06-25 12:45:53 -04001From 7e11f129ff370ce5f39812ce2ae6ce40818a347f Mon Sep 17 00:00:00 2001
2From: Victor Kamensky <kamensky@cisco.com>
3Date: Thu, 22 Mar 2018 16:02:02 -0500
4Subject: [PATCH] sysroot: fix short release -r option handling follow up
5
6In case of sysroot set and short release -r option it does not make sense
7to pass short release name into dwfl_linux_kernel_report_offline
8function. This function is not aware about sysroot and it won't look for
9kernel modules under sysroot directory.
10
11Upstream-Status: Backport
12Signed-off-by: Victor Kamensky <kamensky@cisco.com>
13---
14 setupdwfl.cxx | 10 +++++++++-
15 1 file changed, 9 insertions(+), 1 deletion(-)
16
17diff --git a/setupdwfl.cxx b/setupdwfl.cxx
18index c419afa..0cf5810 100644
19--- a/setupdwfl.cxx
20+++ b/setupdwfl.cxx
21@@ -367,7 +367,15 @@ setup_dwfl_kernel (unsigned *modules_found, systemtap_session &s)
22 // hard-code this magic here.
23 string lib_path = s.sysroot + "/lib/modules/" + s.kernel_release + "/build";
24 if (s.kernel_build_tree == lib_path)
25- elfutils_kernel_path = s.kernel_release;
26+ {
27+ if (s.sysroot != "")
28+ // If we have sysroot set does not make sense to pass
29+ // short release to dwfl, it won't take a sysroot into
30+ // account. Let's construct full path in such case.
31+ elfutils_kernel_path = string(s.sysroot + "/lib/modules/" + s.kernel_release);
32+ else
33+ elfutils_kernel_path = s.kernel_release;
34+ }
35 else
36 elfutils_kernel_path = s.kernel_build_tree;
37 offline_modules_found = 0;
38--
392.7.4
40