public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM] jankratochvil/btrace-v4mail: reverse-20080717-branchpoint-15259-g1717170
@ 2013-08-21 13:42 jkratoch
0 siblings, 0 replies; 2+ messages in thread
From: jkratoch @ 2013-08-21 13:42 UTC (permalink / raw)
To: archer-commits
The branch, jankratochvil/btrace-v4mail has been created
at 17171708e1616f052da8053eb03a708cd17ae2d4 (commit)
- Log -----------------------------------------------------------------
commit 17171708e1616f052da8053eb03a708cd17ae2d4
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:34 2013 +0200
record-btrace: skip tail calls in back trace
The branch trace represents the caller/callee relationship of tail calls. The
caller of a tail call is shown in the back trace and in the function-call
history.
This is not consistent with GDB's normal behavior, where the tail caller is not
shown in the back trace.
It further causes the finish command to fail for tail calls.
This patch skips tail calls when computing the back trace during replay. The
finish command now works also for tail calls.
The tail caller is still shown in the function-call history.
I'm not sure which is the better behavior. I liked seeing the tail caller in
the call stack and I'm not using the finish command very often. On the other
hand, reverse/replay should be as close to live debugging as possible.
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* record-btrace.c (record_btrace_frame_sniffer): Skip tail calls.
testsuite/
* gdb.btrace/tailcall.exp: Update. Add stepping tests.
* gdb.btrace/rn-dl-bind.c: New.
* gdb.btrace/rn-dl-bind.exp: New.
commit 3024fbbdc14c5b19c976e4667ab925683daf3253
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:33 2013 +0200
record-btrace: add (reverse-)stepping support
There's an open regarding frame unwinding. When I start stepping, the frame
cache will still be based on normal unwinding as will the frame cached in the
thread's stepping context. This will prevent me from detecting that i stepped
into a subroutine.
To overcome that, I'm resetting the frame cache and setting the thread's
stepping cache based on the current frame - which is now computed using branch
tracing unwind. I had to split get_current_frame to avoid checks that would
prevent me from doing this.
I also need to call registers_changed when I return from to_wait. Otherwise,
the PC is not updated and the current location is shown incorrectly. Not sure
whether this is intended or whether I'm unintentionally working around
something, here.
It looks like I don't need any special support for breakpoints. Is there a
scenario where normal breakpoints won't work?
Non-stop mode is not working. Do not allow record-btrace in non-stop mode.
Reviewed-by: Eli Zaretskii <eliz@gnu.org>
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* btrace.h (btrace_thread_flag): New.
(struct btrace_thread_info)<flags>: New.
* frame.c (get_current_frame_nocheck): New.
(get_current_frame): Call get_current_frame_nocheck.
* frame.h (get_current_frame_nocheck): New.
* record-btrace.c (record_btrace_resume_thread,
record_btrace_find_thread_to_move, btrace_step_no_history,
btrace_step_stopped, record_btrace_start_replaying,
record_btrace_step_thread,
record_btrace_find_resume_thread): New.
(record_btrace_resume, record_btrace_wait): Extend.
(record_btrace_can_execute_reverse): New.
(record_btrace_open): Fail in non-stop mode.
(record_btrace_set_replay): Split into this, ...
(record_btrace_stop_replaying): ... this, ...
(record_btrace_clear_histories): ... and this.
(init_record_btrace_ops): Init to_can_execute_reverse.
* NEWS: Announce it.
testsuite/
* gdb.btrace/delta.exp: Check reverse stepi.
* gdb.btrace/finish.exp: New.
* gdb.btrace/next.exp: New.
* gdb.btrace/nexti.exp: New.
* gdb.btrace/record_goto.c: Add comments.
* gdb.btrace/step.exp: New.
* gdb.btrace/stepi.exp: New.
* gdb.btrace/multi-thread-step.c: New.
* gdb.btrace/multi-thread-step.exp: New.
doc/
* gdb.texinfo: Document limited reverse/replay support
for target record-btrace.
commit ce74a9c4f40a65bb879021ee51235b1f399cbd4e
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:32 2013 +0200
infrun: reverse stepping from unknown functions
When reverse-stepping, only insert a resume breakpoint at ecs->stop_func_start
if the function start is known. Otherwise, keep single-stepping.
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* infrun.c (handle_inferior_event): Check if we know the function
start address.
commit 054661e1f9ced6a973369ea433ea2414003235f9
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:31 2013 +0200
record-btrace: show trace from enable location
The btrace record target shows the branch trace from the location of the first
branch destination. This is the first trace record BTS records.
After adding incremental updates, we can now add a dummy record for the current
PC when we enable tracing so we show the trace from the location where branch
tracing has been enabled.
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* btrace.c: Include regcache.h.
(btrace_add_pc): New.
(btrace_enable): Call btrace_add_pc.
(btrace_is_empty): New.
(btrace_fetch): Return if replaying.
* btrace.h (btrace_is_empty): New.
* record-btrace.c (require_btrace, record_btrace_info): Call
btrace_is_empty.
testsuite/
* gdb.btrace/exception.exp: Update.
* gdb.btrace/instruction_history.exp: Update.
* gdb.btrace/record_goto.exp: Update.
* gdb.btrace/tailcall.exp: Update.
* gdb.btrace/unknown_functions.exp: Update.
* gdb.btrace/delta.exp: New.
commit 9c1682597d89c1467107f10a45fe59eff3d1a661
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:30 2013 +0200
btrace, gdbserver: read branch trace incrementally
Read branch trace data incrementally and extend the current trace rather than
discarding it and reading the entire trace buffer each time.
If the branch trace buffer overflowed, we can't extend the current trace so we
discard it and start anew by reading the entire branch trace buffer.
Reviewed-by: Eli Zaretskii <eliz@gnu.org>
CC: Pedro Alves <palves@redhat.com>
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* common/linux-btrace.c (perf_event_read_bts, linux_read_btrace):
Support delta reads.
* common/linux-btrace.h (linux_read_btrace): Change parameters
and return type to allow error reporting.
* common/btrace-common.h (btrace_read_type)<btrace_read_delta>:
New.
* btrace.c (btrace_compute_ftrace): Start from the end of
the current trace.
(btrace_stitch_trace, btrace_clear_history): New.
(btrace_fetch): Read delta trace.
(btrace_clear): Move clear history code to btrace_clear_history.
(parse_xml_btrace): Throw an error if parsing failed.
* target.h (struct target_ops)<to_read_btrace>: Change parameters
and return type to allow error reporting.
(target_read_btrace): Change parameters and return type to allow
error reporting.
* target.c (target_read_btrace): Update.
* remote.c (remote_read_btrace): Support delta reads. Pass
errors on.
gdbserver/
* target.h (target_ops)<read_btrace>: Change parameters and
return type to allow error reporting.
* server.c (handle_qxfer_btrace): Support delta reads. Pass
trace reading errors on.
* linux-low.c (linux_low_read_btrace): Pass trace reading
errors on.
commit eab3ee7a5b40718814257ad2bca3fbf9370d1478
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:29 2013 +0200
btrace, linux: fix memory leak when reading branch trace
When it takes more than one iteration to read the BTS trace, the trace from the
previous iteration is leaked. Fix it.
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* common/linux-btrace.c (linux_read_btrace): Free trace from
previous iteration.
commit 48d0e35def94a3ae33e4a32b0ea8ec845950b765
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:28 2013 +0200
record-btrace: extend unwinder
Extend the always failing unwinder to provide the PC based on the call structure
detected in the branch trace.
There are several open points:
An assertion in get_frame_id at frame.c:340 requires that a frame provides a
stack address. The record-btrace unwinder can't provide this since the trace
does not contain data. I incorrectly set stack_addr_p to 1 to avoid the
assertion.
When evaluating arguments for printing the stack back trace, there's an ugly
error displayed: "error reading variable: can't compute CFA for this frame".
The error is correct, we can't compute the CFA since we don't have the stack at
that time, but it is rather annoying at this place and makes the back trace
difficult to read.
Now that we set the PC to a different value and provide a fake unwinder, we have
the potential to affect almost every other command. How can this be tested
sufficiently? I added a few tests for the intended functionality, but nothing
so far to ensure that it does not break some other command when used in this
context.
Reviewed-by: Eli Zaretskii <eliz@gnu.org>
2013-04-24 Markus Metzger <markus.t.metzger@intel.com>
* frame.h (enum frame_type) <BTRACE_FRAME>: New.
* record-btrace.c: Include hashtab.h.
(btrace_get_bfun_name): New.
(btrace_call_history): Call btrace_get_bfun_name.
(struct btrace_frame_cache): New.
(bfcache): New.
(bfcache_hash, bfcache_eq, bfcache_new): New.
(btrace_get_frame_function): New.
(record_btrace_frame_unwind_stop_reason): Allow unwinding.
(record_btrace_frame_this_id): Compute own id.
(record_btrace_frame_prev_register): Provide PC, throw_error
for all other registers.
(record_btrace_frame_sniffer): Detect btrace frames.
(record_btrace_frame_dealloc_cache): New.
(record_btrace_frame_unwind): Add new functions.
(_initialize_record_btrace): Allocate cache.
* btrace.c (btrace_clear): Call reinit_frame_cache.
* NEWS: Announce it.
testsuite/
* gdb.btrace/record_goto.exp: Add backtrace test.
* gdb.btrace/tailcall.exp: Add backtrace test.
commit 90d3925401769cb3fba12948c83a3a6731a9506c
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:27 2013 +0200
record-btrace: add record goto target methods
Reviewed-by: Eli Zaretskii <eliz@gnu.org>
CC: Christian Himpel <christian.himpel@intel.com>
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* record-btrace.c (record_btrace_set_replay,
record_btrace_goto_begin, record_btrace_goto_end,
record_btrace_goto): New.
(init_record_btrace_ops): Initialize them.
* NEWS: Announce it.
testsuite/
* gdb.btrace/Makefile.in (EXECUTABLES): Add record_goto.
* gdb.btrace/record_goto.c: New.
* gdb.btrace/record_goto.exp: New.
* gdb.btrace/x86-record_goto.S: New.
commit e4c5a4b0dc183df7f37cf5b6a3303ea923827f9b
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:26 2013 +0200
record-btrace: provide target_find_new_threads method
The "info threads" command tries to read memory, which is not possible during
replay. This results in an error message and aborts the command without showing
the existing threads.
Provide a to_find_new_threads target method to skip the search while replaying.
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* record-btrace.c (record_btrace_find_new_threads): New.
(init_record_btrace_ops): Initialize to_find_new_threads.
commit 2a9c6b93bedceba02ac4a45610f9547fbe9cdaf2
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:25 2013 +0200
record-btrace: add to_wait and to_resume target methods.
Add simple to_wait and to_resume target methods that prevent stepping when the
current replay position is not at the end of the execution log.
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* record-btrace.c (record_btrace_resume): New.
(record_btrace_wait): New.
(init_record_btrace_ops): Initialize to_wait and to_resume.
commit c258c3a39b8c4c4271df479a8edde54cc9a73248
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:24 2013 +0200
record-btrace: provide xfer_partial target method
Provide the xfer_partial target method for the btrace record target.
Only allow memory accesses to readonly memory while we're replaying.
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* record-btrace.c (record_btrace_xfer_partial): New.
(init_record_btrace_ops): Initialize xfer_partial.
commit e128581391ab4d9f636aa580da9cfaaaf450fa55
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:23 2013 +0200
record-btrace, frame: supply target-specific unwinder
Supply a target-specific frame unwinder for the record-btrace target that does
not allow unwinding while replaying.
2013-02-11 Jan Kratochvil <jan.kratochvil@redhat.com>
Markus Metzger <markus.t.metzger@intel.com>
gdb/
* record-btrace.c: Include frame-unwind.h.
(record_btrace_frame_unwind_stop_reason,
record_btrace_frame_this_id, record_btrace_frame_prev_register,
record_btrace_frame_sniffer, record_btrace_frame_unwind):
New.
(init_record_btrace_ops): Install it.
commit 28156e32a30c691efb9ecf3835fdc12900d237f2
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:22 2013 +0200
frame, backtrace: allow targets to supply a frame unwinder
Allow targets to supply an own target-specific frame unwinder. If a
target-specific unwinder is supplied, it will be chosen before any other
unwinder.
gdb/
2013-02-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2-frame.c (dwarf2_frame_cfa): Move UNWIND_UNAVAILABLE check
earlier.
* frame-unwind.c: Include target.h.
(frame_unwind_try_unwinder): New function with code from ...
(frame_unwind_find_by_frame): ... here. New variable
unwinder_from_target, call also target_get_unwinder and
frame_unwind_try_unwinder for it.
* frame.c (get_frame_unwind_stop_reason): Unconditionally call
get_prev_frame_1.
* target.c (target_get_unwinder): New.
* target.h (struct target_ops): New field to_get_unwinder.
(target_get_unwinder): New declaration.
commit db8aae9a2a9d80e970ea21dd4ce1dba63398f2de
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:21 2013 +0200
record-btrace: supply register target methods
Supply target methods to allow reading the PC. Forbid anything else.
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* record-btrace.c (record_btrace_fetch_registers,
record_btrace_store_registers,
record_btrace_to_prepare_to_store): New.
(init_record_btrace_ops): Add the above.
commit 881d9d42d74ac80ecd60857aae19d90063228859
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:20 2013 +0200
target: add ops parameter to to_prepare_to_store method
To allow forwarding the prepare_to_store request to the target beneath,
add a target_ops * parameter.
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* target.h (target_ops) <to_prepare_to_store>: Add parameter.
(target_prepare_to_store): Remove macro. New function.
* target.c (update_current_target): Do not inherit/default
prepare_to_store.
(target_prepare_to_store): New.
(debug_to_prepare_to_store): Remove.
* remote.c (remote_prepare_to_store): Add parameter.
* remote-mips.c (mips_prepare_to_store): Add parameter.
* remote-m32r-sdi.c (m32r_prepare_to_store): Add parameter.
* ravenscar-thread.c (ravenscar_prepare_to_store): Add
parameter.
* monitor.c (monitor_prepare_to_store): Add parameter.
* inf-child.c (inf_child_prepare_to_store): Add parameter.
commit 85732ad482f0e1b8952a2c6fe7d586e90d4d8855
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:19 2013 +0200
btrace: add replay position to btrace thread info
Add a branch trace instruction iterator pointing to the current replay position
to the branch trace thread info struct.
Free the iterator when btrace is cleared.
Start at the replay position for the instruction and function-call histories.
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* btrace.h (replay) <replay>: New.
(btrace_is_replaying): New.
* btrace.c (btrace_clear): Free replay iterator.
(btrace_is_replaying): New.
* record-btrace.c (record_btrace_is_replaying): New.
(record_btrace_info): Print insn number if replaying.
(record_btrace_insn_history): Start at replay position.
(record_btrace_call_history): Start at replay position.
(init_record_btrace_ops): Init to_record_is_replaying.
commit ac9ce64a17b07ffd6bb751f6cc82bcd92e6656b4
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:18 2013 +0200
record-btrace: make ranges include begin and end
The "record function-call-history" and "record instruction-history" commands
accept a range "begin, end". End is not included in both cases. Include it.
Reviewed-by: Eli Zaretskii <eliz@gnu.org>
CC: Christian Himpel <christian.himpel@intel.com>
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* record-btrace.c (record_btrace_insn_history_range): Include
end.
(record_btrace_insn_history_from): Adjust range.
(record_btrace_call_history_range): Include
end.
(record_btrace_call_history_from): Adjust range.
testsuite/
* gdb.btrace/function_call_history.exp: Update tests.
* gdb.btrace/instruction_history.exp: Update tests.
doc/
* gdb.texinfo (Process Record and Replay): Update documentation.
commit b9c40c917278c60e9d30f9163fe2c50b248b6933
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:17 2013 +0200
record-btrace: optionally indent function call history
Add a new modifier /c to the "record function-call-history" command to
indent the function name based on its depth in the call stack.
Also reorder the optional fields to have the indentation at the very beginning.
Prefix the insn range (/i modifier) with "inst ".
Prefix the source line (/l modifier) with "at ".
Change the range syntax from "begin-end" to "begin,end" to allow copy&paste to
the "record instruction-history" and "list" commands.
Adjust the respective tests and add new tests for the /c modifier.
There is one known bug regarding indentation that results from the fact that we
have the current instruction already inside the branch trace. When the current
instruction is the first (and only) instruction in a function on the outermost
level for which we have not seen the call, the indentation starts at level 1
with 2 leading spaces.
Reviewed-by: Eli Zaretskii <eliz@gnu.org>
CC: Christian Himpel <christian.himpel@intel.com>
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* record.h (enum record_print_flag)
<record_print_indent_calls>: New.
* record.c (get_call_history_modifiers): Recognize /c modifier.
(_initialize_record): Document /c modifier.
* record-btrace.c (btrace_call_history): Add btinfo parameter.
Reorder fields. Optionally indent the function name. Update
all users.
* NEWS: Announce changes.
testsuite/
* gdb.btrace/function_call_history.exp: Fix expected field
order for "record function-call-history".
Add new tests for "record function-call-history /c".
* gdb.btrace/exception.cc: New.
* gdb.btrace/exception.exp: New.
* gdb.btrace/tailcall.exp: New.
* gdb.btrace/x86-tailcall.S: New.
* gdb.btrace/x86-tailcall.c: New.
* gdb.btrace/unknown_functions.c: New.
* gdb.btrace/unknown_functions.exp: New.
* gdb.btrace/Makefile.in (EXECUTABLES): Add new.
doc/
* gdb.texinfo (Process Record and Replay): Document new /c
modifier accepted by "record function-call-history".
commit 501a491e11c0f4d5a1c5b6a1e10fe63370551e18
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:16 2013 +0200
btrace: increase buffer size
Try to allocate as much buffer as we can for each thread with a maximum
of 4MB.
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* common/linux-btrace.c (linux_enable_btrace): Increase buffer.
commit a17088515495646079e92c00e68afaef419f9fbf
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:15 2013 +0200
record-btrace: start counting at one
The record instruction-history and record-function-call-history commands start
counting instructions at zero. This is somewhat unintuitive when we start
navigating in the recorded instruction history. Start at one, instead.
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* btrace.c (ftrace_new_function): Start counting at one.
testsuite/
* gdb.btrace/instruction_history.exp: Update.
* gdb.btrace/function_call_history.exp: Update.
commit cf7080cd4a623ed97c8357c2cffc8b7bffe58155
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:14 2013 +0200
record-btrace: fix insn range in function call history
With the "/i" modifier, we print the instruction number range in the
"record function-call-history" command as [begin, end).
It would be more intuitive if we printed the range as [begin, end].
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* record-btrace.c (btrace_call_history_insn_range): Print
insn range as [begin, end].
commit 8186e73eb36b5e8e14f1af0ad1a28cdc7be1084e
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:13 2013 +0200
btrace: change branch trace data structure
The branch trace is represented as 3 vectors:
- a block vector
- a instruction vector
- a function vector
Each vector (except for the first) is computed from the one above.
Change this into a graph where a node represents a sequence of instructions
belonging to the same function and where we have three types of edges to connect
the function segments:
- control flow
- same function (instance)
- call stack
This allows us to navigate in the branch trace. We will need this for "record
goto" and reverse execution.
This patch introduces the data structure and computes the control flow edges.
It also introduces iterator structs to simplify iterating over the branch trace
in control-flow order.
It also fixes PR gdb/15240 since now recursive calls are handled correctly.
Fix the test that got the number of expected fib instances and also the
function numbers wrong.
The current instruction had been part of the branch trace. This will look odd
once we start support for reverse execution. Remove it. We still keep it in
the trace itself to allow extending the branch trace more easily in the future.
CC: Christian Himpel <christian.himpel@intel.com>
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* btrace.h (struct btrace_func_link): New.
(enum btrace_function_flag): New.
(struct btrace_inst): Rename to ...
(struct btrace_insn): ...this. Update all users.
(struct btrace_func) <ibegin, iend>: Remove.
(struct btrace_func_link): New.
(struct btrace_func): Rename to ...
(struct btrace_function): ...this. Update all users.
(struct btrace_function) <segment, flow, up, insn, insn_offset,
number, level, flags>: New.
(struct btrace_insn_iterator): Rename to ...
(struct btrace_insn_history): ...this.
Update all users.
(struct btrace_insn_iterator, btrace_call_iterator): New.
(struct btrace_target_info) <btrace, itrace, ftrace>: Remove.
(struct btrace_target_info) <begin, end, level,
insn_history, call_history>: New.
(btrace_insn_get, btrace_insn_number, btrace_insn_begin,
btrace_insn_end, btrace_insn_prev, btrace_insn_next,
btrace_insn_cmp, btrace_find_insn_by_number, btrace_call_get,
btrace_call_number, btrace_call_begin, btrace_call_end,
btrace_call_prev, btrace_call_next, btrace_call_cmp,
btrace_find_function_by_number, btrace_set_insn_history,
btrace_set_call_history): New.
* btrace.c (btrace_init_insn_iterator,
btrace_init_func_iterator, compute_itrace): Remove.
(ftrace_print_function_name, ftrace_print_filename,
ftrace_skip_file): Change
parameter to const.
(ftrace_init_func): Remove.
(ftrace_debug): Use new btrace_function fields.
(ftrace_function_switched): Also consider gaining and
losing symbol information).
(ftrace_print_insn_addr, ftrace_new_call, ftrace_new_return,
ftrace_new_switch, ftrace_find_caller, ftrace_new_function,
ftrace_update_caller, ftrace_fixup_caller, ftrace_new_tailcall):
New.
(ftrace_new_function): Move. Remove debug print.
(ftrace_update_lines, ftrace_update_insns): New.
(ftrace_update_function): Check for call, ret, and jump.
(compute_ftrace): Renamed to ...
(btrace_compute_ftrace): ...this. Rewritten to compute call
stack.
(btrace_fetch, btrace_clear): Updated.
(btrace_insn_get, btrace_insn_number, btrace_insn_begin,
btrace_insn_end, btrace_insn_prev, btrace_insn_next,
btrace_insn_cmp, btrace_find_insn_by_number, btrace_call_get,
btrace_call_number, btrace_call_begin, btrace_call_end,
btrace_call_prev, btrace_call_next, btrace_call_cmp,
btrace_find_function_by_number, btrace_set_insn_history,
btrace_set_call_history): New.
* record-btrace.c (require_btrace): Use new btrace thread
info fields.
(record_btrace_info, btrace_insn_history,
record_btrace_insn_history, record_btrace_insn_history_range):
Use new btrace thread info fields and new iterator.
(btrace_func_history_src_line): Rename to ...
(btrace_call_history_src_line): ...this. Use new btrace
thread info fields.
(btrace_func_history): Rename to ...
(btrace_call_history): ...this. Use new btrace thread info
fields and new iterator.
(record_btrace_call_history, record_btrace_call_history_range):
Use new btrace thread info fields and new iterator.
testsuite/
* gdb.btrace/function_call_history.exp: Fix expected function
trace.
commit fceddef054ff1bcfb4fcb0f895d87c14762b84c7
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:12 2013 +0200
record: upcase record_print_flag enumeration constants
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* record.h (record_print_flag) <record_print_src_line,
record_print_insn_range>: Rename into ...
(record_print_flag) <record_print_src_line,
record_print_insn_range>: ... this. Update all users.
commit 3abce2ee26f75c81466e56ec94a4c2ec668ea280
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Jul 3 11:14:11 2013 +0200
gdbarch: add instruction predicate methods
Add new methods to gdbarch for analyzing the instruction at a given address.
Implement those methods for i386 and amd64 architectures.
2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
* amd64-tdep.c (amd64_classify_insn_at, amd64_insn_is_call,
amd64_insn_is_ret, amd64_insn_is_jump, amd64_jmp_p): New.
(amd64_init_abi): Add insn_is_call, insn_is_ret, and insn_is_jump
to gdbarch.
* i386-tdep.c (i386_insn_is_call, i386_insn_is_ret,
i386_insn_is_jump, i386_jmp_p): New.
(i386_gdbarch_init): Add insn_is_call, insn_is_ret, and
insn_is_jump to gdbarch.
* gdbarch.sh (insn_is_call, insn_is_ret, insn_is_jump): New.
* gdbarch.h: Regenerated.
* gdbarch.c: Regenerated.
* arch-utils.h (default_insn_is_call, default_insn_is_ret,
default_insn_is_jump): New.
* arch-utils.c (default_insn_is_call, default_insn_is_ret,
default_insn_is_jump): New.
-----------------------------------------------------------------------
hooks/post-receive
--
Repository for Project Archer.
^ permalink raw reply [flat|nested] 2+ messages in thread
* [SCM] jankratochvil/btrace-v4mail: reverse-20080717-branchpoint-15259-g1717170
@ 2013-09-24 14:05 jkratoch
0 siblings, 0 replies; 2+ messages in thread
From: jkratoch @ 2013-09-24 14:05 UTC (permalink / raw)
To: archer-commits
The branch, jankratochvil/btrace-v4mail has been deleted
was 17171708e1616f052da8053eb03a708cd17ae2d4
-----------------------------------------------------------------------
17171708e1616f052da8053eb03a708cd17ae2d4 record-btrace: skip tail calls in back trace
-----------------------------------------------------------------------
hooks/post-receive
--
Repository for Project Archer.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-09-24 14:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-21 13:42 [SCM] jankratochvil/btrace-v4mail: reverse-20080717-branchpoint-15259-g1717170 jkratoch
2013-09-24 14:05 jkratoch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).