From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2189 invoked by alias); 13 Feb 2017 12:38:15 -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 1997 invoked by uid 89); 13 Feb 2017 12:38:14 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.6 required=5.0 tests=AWL,BAYES_20,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=timwiederhakeintelcom, tim.wiederhake@intel.com, Hx-languages-length:2144, bts X-HELO: mga04.intel.com Received: from mga04.intel.com (HELO mga04.intel.com) (192.55.52.120) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 13 Feb 2017 12:38:13 +0000 Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Feb 2017 04:38:10 -0800 X-ExtLoop1: 1 Received: from irvmail001.ir.intel.com ([163.33.26.43]) by fmsmga004.fm.intel.com with ESMTP; 13 Feb 2017 04:38:09 -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 v1DCc9XP010235; Mon, 13 Feb 2017 12:38:09 GMT Received: from ulvlx001.iul.intel.com (localhost [127.0.0.1]) by ulvlx001.iul.intel.com with ESMTP id v1DCc8Pv011600; Mon, 13 Feb 2017 13:38:08 +0100 Received: (from twiederh@localhost) by ulvlx001.iul.intel.com with œ id v1DCc83j011596; Mon, 13 Feb 2017 13:38:08 +0100 From: Tim Wiederhake To: gdb-patches@sourceware.org Cc: markus.t.metzger@intel.com, palves@redhat.com, xdje42@gmail.com Subject: [PATCH v6 4/9] Add record_start and record_stop functions. Date: Mon, 13 Feb 2017 12:38:00 -0000 Message-Id: <1486989450-11313-5-git-send-email-tim.wiederhake@intel.com> In-Reply-To: <1486989450-11313-1-git-send-email-tim.wiederhake@intel.com> References: <1486989450-11313-1-git-send-email-tim.wiederhake@intel.com> X-IsSubscribed: yes X-SW-Source: 2017-02/txt/msg00331.txt.bz2 2017-02-13 Tim Wiederhake gdb/ChangeLog * record.h (record_start, record_stop): New export. * record.c (record_start, record_stop): New function. --- gdb/record.c | 42 ++++++++++++++++++++++++++++++++++++++++++ gdb/record.h | 8 ++++++++ 2 files changed, 50 insertions(+) diff --git a/gdb/record.c b/gdb/record.c index 15271b2..eff8fe1 100644 --- a/gdb/record.c +++ b/gdb/record.c @@ -93,6 +93,48 @@ record_preopen (void) /* See record.h. */ +void +record_start (const char *method, const char *format, int from_tty) +{ + if (method == NULL) + { + if (format == NULL) + execute_command_to_string ("record", from_tty); + else + error (_("Invalid format.")); + } + else if (strcmp (method, "full") == 0) + { + if (format == NULL) + execute_command_to_string ("record full", from_tty); + else + error (_("Invalid format.")); + } + else if (strcmp (method, "btrace") == 0) + { + if (format == NULL) + execute_command_to_string ("record btrace", from_tty); + else if (strcmp (format, "bts") == 0) + execute_command_to_string ("record btrace bts", from_tty); + else if (strcmp (format, "pt") == 0) + execute_command_to_string ("record btrace pt", from_tty); + else + error (_("Invalid format.")); + } + else + error (_("Invalid method.")); +} + +/* See record.h. */ + +void +record_stop (int from_tty) +{ + execute_command_to_string ("record stop", from_tty); +} + +/* See record.h. */ + int record_read_memory (struct gdbarch *gdbarch, CORE_ADDR memaddr, gdb_byte *myaddr, diff --git a/gdb/record.h b/gdb/record.h index e1d4aae..cff4506 100644 --- a/gdb/record.h +++ b/gdb/record.h @@ -91,4 +91,12 @@ extern struct target_ops *find_record_target (void); it does anything. */ extern void record_preopen (void); +/* Start recording with the given METHOD and FORMAT. NULL means default method + or format. Throw on failure or invalid method / format. */ +extern void record_start (const char *method, const char *format, + int from_tty); + +/* Stop recording. Throw on failure. */ +extern void record_stop (int from_tty); + #endif /* _RECORD_H_ */ -- 2.7.4