From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 50506 invoked by alias); 30 Nov 2016 23:50:39 -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 50489 invoked by uid 89); 30 Nov 2016 23:50:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.8 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=H*MI:google, H*MI:sk:94eb2c0, H*M:google, H*M:sk:94eb2c0 X-HELO: mail-pg0-f74.google.com Received: from mail-pg0-f74.google.com (HELO mail-pg0-f74.google.com) (74.125.83.74) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 30 Nov 2016 23:50:28 +0000 Received: by mail-pg0-f74.google.com with SMTP id g186so18458161pgc.3 for ; Wed, 30 Nov 2016 15:50:28 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:message-id:date:subject:from:to:cc; bh=AIKOyDVoc+wA9L/+fkr4ADItVuM68VF05cNGaACGFsU=; b=HrFffnYxtHDu0PNdGI28L/Omh6sKbkzrJ85deoTf0mBMy4zNj98SvAB2z8Vai0qqz5 PaO6U6uPE28eHg72d7BJ5oiFQUlKQpsAjlDcti4UH5AJewxHbk+sw0i52Jb3O1bdkFax h9PtZ6s+BYzk3NiBuzylIxMTaO4yvBNo/HxlKB7yKqRok11WiNGMQZ+JLHcGuZi05/qy MrA1o8ow2v4ezVsegQO6zjipr+4gy6zCAnsz6g1x9g528C2QHQb90Lb0RscYIORl+cAx gkGwg4YHwNsJY4TbYGooGdQok4xT3IQYwbd7T/1oznSy464A6GgsSpgthwdGqH9gM43Z gRkA== X-Gm-Message-State: AKaTC01LnAd507cGG2elbBmNaCPV0M6MUEtbpy8TN5JQdJ2rsVSTwxVrsVbb1JXQ7S2Dqq2ebA== MIME-Version: 1.0 X-Received: by 10.98.73.23 with SMTP id w23mr6126731pfa.28.1480549827397; Wed, 30 Nov 2016 15:50:27 -0800 (PST) Message-ID: <94eb2c0b85f889179705428d5ea1@google.com> Date: Wed, 30 Nov 2016 23:50:00 -0000 Subject: Re: [PATCH v3 4/8] Add record_start function. From: Doug Evans To: Tim Wiederhake Cc: gdb-patches@sourceware.org, palves@redhat.com, markus.t.metzger@intel.com Content-Type: text/plain; charset=UTF-8; format=flowed; delsp=yes X-IsSubscribed: yes X-SW-Source: 2016-11/txt/msg01037.txt.bz2 Tim Wiederhake writes: > 2016-11-21 Tim Wiederhake > > gdb/ChangeLog > > * record.h (record_start): New export. > * record.c (record_start): New function. > > > --- > gdb/record.c | 28 ++++++++++++++++++++++++++++ > gdb/record.h | 5 +++++ > 2 files changed, 33 insertions(+) > > diff --git a/gdb/record.c b/gdb/record.c > index 34ebd1b..6df8ba1 100644 > --- a/gdb/record.c > +++ b/gdb/record.c > @@ -93,6 +93,34 @@ record_preopen (void) > > /* See record.h. */ > > +void > +record_start (const char *method, const char *format, int from_tty) > +{ > + if (method == NULL) > + { > + if (format == NULL) > + return execute_command ("record", from_tty); > + } > + else if (strcmp (method, "full") == 0) > + { > + if (format == NULL) > + return execute_command ("record full", from_tty); > + } > + else if (strcmp (method, "btrace") == 0) > + { > + if (format == NULL) > + return execute_command ("record btrace", from_tty); > + if (strcmp (format, "bts") == 0) > + return execute_command ("record btrace bts", from_tty); > + if (strcmp (format, "pt") == 0) > + return execute_command ("record btrace pt", from_tty); > + } > + > + error (_("Invalid argument.")); > +} > + > +/* See record.h. */ > + I'm guessing this is essentially implementing a library API on top of GDB's CLI. Yikes. Maybe things will be clearer as I read the rest of the patches. I'd mention in the function comment that this can throw gdb errors. > int > record_read_memory (struct gdbarch *gdbarch, > CORE_ADDR memaddr, gdb_byte *myaddr, > diff --git a/gdb/record.h b/gdb/record.h > index 84440c64..eb091ce 100644 > --- a/gdb/record.h > +++ b/gdb/record.h > @@ -91,4 +91,9 @@ extern struct target_ops *find_record_target (void); > it does anything. */ > extern void record_preopen (void); > > +/* Internal function that starts recording with the given METHOD and FORMAT. > + NULL means default method or format. */ > +extern void record_start (const char *method, const char *format, > + int from_tty); > + > #endif /* _RECORD_H_ */ > -- > 2.7.4 >