From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1690 invoked by alias); 12 Dec 2013 09:15:53 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 1655 invoked by uid 89); 12 Dec 2013 09:15:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.3 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mga03.intel.com Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 12 Dec 2013 09:15:51 +0000 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by azsmga101.ch.intel.com with ESMTP; 12 Dec 2013 01:15:49 -0800 X-ExtLoop1: 1 Received: from irvmail001.ir.intel.com ([163.33.26.43]) by fmsmga001.fm.intel.com with ESMTP; 12 Dec 2013 01:15:48 -0800 Received: from ulvlx001.iul.intel.com (ulvlx001.iul.intel.com [172.28.207.17]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id rBC9FlGR022959; Thu, 12 Dec 2013 09:15:47 GMT Received: from ulvlx001.iul.intel.com (localhost [127.0.0.1]) by ulvlx001.iul.intel.com with ESMTP id rBC9FlFI009131; Thu, 12 Dec 2013 10:15:47 +0100 Received: (from mmetzger@localhost) by ulvlx001.iul.intel.com with œ id rBC9FlSu009127; Thu, 12 Dec 2013 10:15:47 +0100 From: Markus Metzger To: jan.kratochvil@redhat.com Cc: gdb-patches@sourceware.org Subject: [patch v8 00/24] record-btrace: reverse Date: Thu, 12 Dec 2013 09:15:00 -0000 Message-Id: <1386839747-8860-1-git-send-email-markus.t.metzger@intel.com> X-IsSubscribed: yes X-SW-Source: 2013-12/txt/msg00468.txt.bz2 This is a small update of v7 addressing review comments from Jan and Pedro. Jan agreed to implement "record goto" by directly navigating to the desired instruction in the execution history. In particular, we do not use to_wait and to_resume. This is similar to the implementation for s/w recording. Markus Metzger (24): btrace, linux: fix memory leak when reading branch trace btrace: uppercase btrace_read_type gdbarch: add instruction predicate methods frame: add frame_is_tailcall function frame: artificial frame id's btrace: change branch trace data structure record-btrace: fix insn range in function call history record-btrace: start counting at one btrace: increase buffer size record-btrace: optionally indent function call history record-btrace: make ranges include begin and end btrace: add replay position to btrace thread info target: add ops parameter to to_prepare_to_store method record-btrace: supply register target methods frame, backtrace: allow targets to supply a frame unwinder record-btrace, frame: supply target-specific unwinder record-btrace: provide xfer_partial target method record-btrace: add to_wait and to_resume target methods. record-btrace: provide target_find_new_threads method record-btrace: add record goto target methods record-btrace: extend unwinder btrace, gdbserver: read branch trace incrementally record-btrace: show trace from enable location record-btrace: add (reverse-)stepping support gdb/NEWS | 18 + gdb/amd64-linux-nat.c | 6 +- gdb/amd64-tdep.c | 67 + gdb/arch-utils.c | 15 + gdb/arch-utils.h | 4 + gdb/btrace.c | 1615 ++++++++++++++++---- gdb/btrace.h | 269 +++- gdb/common/btrace-common.h | 29 +- gdb/common/linux-btrace.c | 125 +- gdb/common/linux-btrace.h | 15 +- gdb/doc/gdb.texinfo | 32 +- gdb/dwarf2-frame-tailcall.c | 4 +- gdb/dwarf2-frame.c | 14 +- gdb/frame-unwind.c | 86 +- gdb/frame.c | 68 +- gdb/frame.h | 18 +- gdb/gdbarch.c | 75 + gdb/gdbarch.h | 18 + gdb/gdbarch.sh | 9 + gdb/gdbserver/linux-low.c | 36 +- gdb/gdbserver/server.c | 15 +- gdb/gdbserver/target.h | 9 +- gdb/i386-linux-nat.c | 6 +- gdb/i386-tdep.c | 59 + gdb/inf-child.c | 2 +- gdb/infcmd.c | 6 +- gdb/monitor.c | 2 +- gdb/ravenscar-thread.c | 7 +- gdb/record-btrace.c | 1473 +++++++++++++++--- gdb/record-full.c | 3 +- gdb/record.c | 4 + gdb/record.h | 7 + gdb/remote-m32r-sdi.c | 2 +- gdb/remote-mips.c | 5 +- gdb/remote.c | 32 +- gdb/stack.c | 2 +- gdb/target.c | 65 +- gdb/target.h | 35 +- gdb/testsuite/gdb.btrace/Makefile.in | 3 +- gdb/testsuite/gdb.btrace/delta.exp | 76 + gdb/testsuite/gdb.btrace/exception.cc | 56 + gdb/testsuite/gdb.btrace/exception.exp | 67 + gdb/testsuite/gdb.btrace/finish.exp | 70 + gdb/testsuite/gdb.btrace/function_call_history.exp | 329 ++-- gdb/testsuite/gdb.btrace/instruction_history.exp | 77 +- gdb/testsuite/gdb.btrace/multi-thread-step.c | 53 + gdb/testsuite/gdb.btrace/multi-thread-step.exp | 99 ++ gdb/testsuite/gdb.btrace/next.exp | 89 ++ gdb/testsuite/gdb.btrace/nexti.exp | 89 ++ gdb/testsuite/gdb.btrace/record_goto.c | 51 + gdb/testsuite/gdb.btrace/record_goto.exp | 177 +++ gdb/testsuite/gdb.btrace/rn-dl-bind.c | 37 + gdb/testsuite/gdb.btrace/rn-dl-bind.exp | 48 + gdb/testsuite/gdb.btrace/step.exp | 113 ++ gdb/testsuite/gdb.btrace/stepi.exp | 114 ++ gdb/testsuite/gdb.btrace/tailcall.exp | 103 ++ gdb/testsuite/gdb.btrace/unknown_functions.c | 45 + gdb/testsuite/gdb.btrace/unknown_functions.exp | 60 + gdb/testsuite/gdb.btrace/x86-record_goto.S | 355 +++++ gdb/testsuite/gdb.btrace/x86-tailcall.S | 279 ++++ gdb/testsuite/gdb.btrace/x86-tailcall.c | 39 + 61 files changed, 5807 insertions(+), 879 deletions(-) create mode 100644 gdb/testsuite/gdb.btrace/delta.exp create mode 100644 gdb/testsuite/gdb.btrace/exception.cc create mode 100755 gdb/testsuite/gdb.btrace/exception.exp create mode 100644 gdb/testsuite/gdb.btrace/finish.exp create mode 100644 gdb/testsuite/gdb.btrace/multi-thread-step.c create mode 100644 gdb/testsuite/gdb.btrace/multi-thread-step.exp create mode 100644 gdb/testsuite/gdb.btrace/next.exp create mode 100644 gdb/testsuite/gdb.btrace/nexti.exp create mode 100644 gdb/testsuite/gdb.btrace/record_goto.c create mode 100644 gdb/testsuite/gdb.btrace/record_goto.exp create mode 100644 gdb/testsuite/gdb.btrace/rn-dl-bind.c create mode 100644 gdb/testsuite/gdb.btrace/rn-dl-bind.exp create mode 100644 gdb/testsuite/gdb.btrace/step.exp create mode 100644 gdb/testsuite/gdb.btrace/stepi.exp create mode 100644 gdb/testsuite/gdb.btrace/tailcall.exp create mode 100644 gdb/testsuite/gdb.btrace/unknown_functions.c create mode 100644 gdb/testsuite/gdb.btrace/unknown_functions.exp create mode 100644 gdb/testsuite/gdb.btrace/x86-record_goto.S create mode 100644 gdb/testsuite/gdb.btrace/x86-tailcall.S create mode 100644 gdb/testsuite/gdb.btrace/x86-tailcall.c -- 1.8.3.1