aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/btrace.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e274191..ae33435 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2017-02-14 Markus Metzger <markus.t.metzger@intel.com>
+
+ * btrace.c (ftrace_new_switch): Preserve up link and flags.
+
2017-02-13 Luis Machado <lgustavo@codesourcery.com>
* symfile (_initialize_symfile): Add usage text to the load command's
diff --git a/gdb/btrace.c b/gdb/btrace.c
index 6d621e4..ddf6692 100644
--- a/gdb/btrace.c
+++ b/gdb/btrace.c
@@ -448,9 +448,11 @@ ftrace_new_switch (struct btrace_function *prev,
{
struct btrace_function *bfun;
- /* This is an unexplained function switch. The call stack will likely
- be wrong at this point. */
+ /* This is an unexplained function switch. We can't really be sure about the
+ call stack, yet the best I can think of right now is to preserve it. */
bfun = ftrace_new_function (prev, mfun, fun);
+ bfun->up = prev->up;
+ bfun->flags = prev->flags;
ftrace_debug (bfun, "new switch");