diff options
author | Markus Metzger <markus.t.metzger@intel.com> | 2016-01-12 16:05:15 +0100 |
---|---|---|
committer | Markus Metzger <markus.t.metzger@intel.com> | 2016-10-28 10:57:16 +0200 |
commit | 2dfdb47abd418aac05380482093a87e763ab0a05 (patch) | |
tree | e5e8b718ce7ea35d2e27223eb66166f91bbce433 /gdb/ChangeLog | |
parent | b61ce85cc54bf4acc86714cacd10d6f9f7e89d1b (diff) | |
download | fsf-binutils-gdb-2dfdb47abd418aac05380482093a87e763ab0a05.zip fsf-binutils-gdb-2dfdb47abd418aac05380482093a87e763ab0a05.tar.gz fsf-binutils-gdb-2dfdb47abd418aac05380482093a87e763ab0a05.tar.bz2 |
btrace: update tail call heuristic
An unconditional jump to the start of a function typically indicates a tail
call.
If we can't determine the start of the function at the destination address, we
used to treat it as a tail call, as well. This results in lots of tail calls
for code for which we don't have symbol information.
Restrict the heuristic to only consider jumps as tail calls that switch
functions in the case where we can't determine the start of a function. This
effectively disables tail call detection for code without symbol information.
gdb/
* btrace.c (ftrace_update_function): Update tail call heuristic.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r-- | gdb/ChangeLog | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 350e5a6..98e13ea 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2016-10-28 Markus Metzger <markus.t.metzger@intel.com> + * btrace.c (ftrace_update_function): Update tail call heuristic. + +2016-10-28 Markus Metzger <markus.t.metzger@intel.com> + * btrace.c (btrace_compute_ftrace_bts, ftrace_add_pt): Allow leading gaps. * record-btrace.c (record_btrace_single_step_forward) |