diff options
author | Markus Metzger <markus.t.metzger@intel.com> | 2015-01-23 13:32:12 +0100 |
---|---|---|
committer | Markus Metzger <markus.t.metzger@intel.com> | 2015-03-03 09:52:27 +0100 |
commit | 986b66010c684a871f5606cb4f074d4e3d829e2f (patch) | |
tree | a8d588c765083f9b5eac9d10809b871171a0216d /gdb/ChangeLog | |
parent | ce0dfbeaadee82ffae390e4515433d3b6b1e0084 (diff) | |
download | gdb-986b66010c684a871f5606cb4f074d4e3d829e2f.zip gdb-986b66010c684a871f5606cb4f074d4e3d829e2f.tar.gz gdb-986b66010c684a871f5606cb4f074d4e3d829e2f.tar.bz2 |
btrace: work around _dl_runtime_resolve returning to resolved function
On some systems, _dl_runtime_resolve returns to the resolved function
instead of jumping to it. Since btrace will not find the function in
the current stack back trace, it will start a new back trace on the
same level. It will look the same to the user via the backtrace
command but the frames will have different id's which confuses stepping.
This fixes a test fail with 32-bit inferior reported by Jan Kratochvil.
gdb/
* btrace.c (ftrace_update_function): Treat return as tailcall for
"_dl_runtime_resolve".
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r-- | gdb/ChangeLog | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 09a675f..3e9fa55 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2015-03-03 Markus Metzger <markus.t.metzger@intel.com> + * btrace.c (ftrace_update_function): Treat return as tailcall for + "_dl_runtime_resolve". + +2015-03-03 Markus Metzger <markus.t.metzger@intel.com> + * btrace.h (btrace_function) <lbegin, lend>: Remove. * btrace.c (ftrace_debug): Do not print the line range. (ftrace_skip_file, ftrace_update_lines): Remove. |