mirror of
git://git.yoctoproject.org/poky
synced 2026-10-02 16:42:04 +00:00
For details on issues fixed please look at commit message of individual patches. Upstream-Status: Backport [systemtap@sourceware.org] (From OE-Core rev: 5aa93de3a79c8691e74e982d3d4b0099b04f5555) Signed-off-by: Victor Kamensky <kamensky@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
54 lines
2.1 KiB
Diff
54 lines
2.1 KiB
Diff
From a9ce89bcd2d78728faef59bda60e75510972cd56 Mon Sep 17 00:00:00 2001
|
|
From: Victor Kamensky <kamensky@cisco.com>
|
|
Date: Wed, 14 Mar 2018 17:09:44 -0500
|
|
Subject: [PATCH] sysroot: fix short release -r option handling
|
|
|
|
* setupdwfl.cxx (debuginfo_path_insert_sysroot): Add a '/' to the end of
|
|
the sysroot for path_insert_sysroot().
|
|
(setup_dwfl_kernel): Simplify logic when finding the kernel path to send
|
|
to elfutils.
|
|
|
|
Upstream-Status: Backport
|
|
Signed-off-by: Victor Kamensky <kamensky@cisco.com>
|
|
---
|
|
setupdwfl.cxx | 19 ++++++++++++-------
|
|
1 file changed, 12 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/setupdwfl.cxx b/setupdwfl.cxx
|
|
index 2a87982..f6c3157 100644
|
|
--- a/setupdwfl.cxx
|
|
+++ b/setupdwfl.cxx
|
|
@@ -339,6 +339,13 @@ static char * path_insert_sysroot(string sysroot, string path)
|
|
|
|
void debuginfo_path_insert_sysroot(string sysroot)
|
|
{
|
|
+ // FIXME: This is a short-term fix, until we expect sysroot paths to
|
|
+ // always end with a '/' (and never be empty).
|
|
+ //
|
|
+ // The path_insert_sysroot() function assumes that sysroot has a '/'
|
|
+ // on the end. Make sure that is true.
|
|
+ if (sysroot.back() != '/')
|
|
+ sysroot.push_back('/');
|
|
debuginfo_path = path_insert_sysroot(sysroot, debuginfo_path);
|
|
debuginfo_usr_path = path_insert_sysroot(sysroot, debuginfo_usr_path);
|
|
}
|
|
@@ -358,13 +365,11 @@ setup_dwfl_kernel (unsigned *modules_found, systemtap_session &s)
|
|
// no way to set the dwfl_callback.debuginfo_path and always
|
|
// passs the plain kernel_release here. So instead we have to
|
|
// hard-code this magic here.
|
|
- string lib_path = "/lib/modules/" + s.kernel_release + "/build";
|
|
- if (s.kernel_build_tree == string(s.sysroot + lib_path) ||
|
|
- (s.kernel_build_tree == lib_path
|
|
- && s.sysroot == "/"))
|
|
- elfutils_kernel_path = s.kernel_release;
|
|
- else
|
|
- elfutils_kernel_path = s.kernel_build_tree;
|
|
+ string lib_path = s.sysroot + "/lib/modules/" + s.kernel_release + "/build";
|
|
+ if (s.kernel_build_tree == lib_path)
|
|
+ elfutils_kernel_path = s.kernel_release;
|
|
+ else
|
|
+ elfutils_kernel_path = s.kernel_build_tree;
|
|
offline_modules_found = 0;
|
|
|
|
// First try to report full path modules.
|