From patchwork Mon Nov 27 03:48:43 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 24546 Received: (qmail 128635 invoked by alias); 27 Nov 2017 03:48:50 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 128615 invoked by uid 89); 27 Nov 2017 03:48:49 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.7 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KB_WAM_FROM_NAME_SINGLEWORD, SPF_HELO_PASS, SPF_PASS, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=closest X-HELO: simark.ca Received: from simark.ca (HELO simark.ca) (158.69.221.121) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 27 Nov 2017 03:48:46 +0000 Received: from [10.0.0.11] (192-222-251-162.qc.cable.ebox.net [192.222.251.162]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 759F51E17E; Sun, 26 Nov 2017 22:48:44 -0500 (EST) Subject: Re: Update find command help and search memory docs To: Eli Zaretskii , Dominik Czarnota Cc: gdb-patches@sourceware.org References: <83a7z96iln.fsf@gnu.org> <83609w7677.fsf@gnu.org> From: Simon Marchi Message-ID: <587d3209-79b0-a14c-a5d0-fdf1e8336ee8@simark.ca> Date: Sun, 26 Nov 2017 22:48:43 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <83609w7677.fsf@gnu.org> On 2017-11-26 10:26 PM, Eli Zaretskii wrote: >> From: Dominik Czarnota >> Date: Sun, 26 Nov 2017 21:40:30 +0100 >> Cc: gdb-patches@sourceware.org >> >> Changed space after dot into two and fixed a typo `tralinig` -> `trailing`. >> >> >> >> gdb/ChangeLog: >> >> PR gdb/21945 >> * findcmd.c (_initialize_mem_search), gdb/doc/gdb.texinfo: Update >> find command description. >> * doc/gdb.texinfo: Update search memory description and example. > > OK. > I tried to build the doc and got this: /home/simark/src/binutils-gdb/gdb/doc/gdb.texinfo:11924: misplaced { /home/simark/src/binutils-gdb/gdb/doc/gdb.texinfo:11924: misplaced } /home/simark/src/binutils-gdb/gdb/doc/gdb.texinfo:11975: misplaced { /home/simark/src/binutils-gdb/gdb/doc/gdb.texinfo:11975: misplaced } It is necessary to escape the { and } with a @. Also, the doc changes should be mentioned in the ChangeLog in the doc directory (the closest to the changed files in the tree). Also, when changing something in the texinfo documents, we try to mention the section, like this: * gdb.texinfo (Search Memory): Update description and example about how to search a string without NULL terminator. Thanks for the patch, I fixed those small issues and pushed this: From ee9a09e959a5b7c152cc72028d4f6c879bc901c9 Mon Sep 17 00:00:00 2001 From: Dominik Czarnota Date: Sun, 26 Nov 2017 22:42:18 -0500 Subject: [PATCH] Update find command help and search memory docs This patch updates the `find` command help and docs description to show how to search for not null terminated strings when current language's strings includes it. gdb/ChangeLog: PR gdb/21945 * findcmd.c (_initialize_mem_search): Update find command help text. gdb/doc/ChangeLog: PR gdb/21945 * gdb.texinfo (Search Memory): Update description and example about how to search a string without NULL terminator. --- gdb/ChangeLog | 6 ++++++ gdb/doc/ChangeLog | 6 ++++++ gdb/doc/gdb.texinfo | 8 +++++++- gdb/findcmd.c | 4 +++- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b3032ed7d8..6134efc09c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2017-11-26 Dominik Czarnota + + PR gdb/21945 + * findcmd.c (_initialize_mem_search): Update find command help + text. + 2017-11-26 Simon Marchi * python/python.c (do_start_initialization): Change progname diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 988b7b8d87..2a1eb76d15 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,9 @@ +2017-11-26 Dominik Czarnota + + PR gdb/21945 + * gdb.texinfo (Search Memory): Update description and example + about how to search a string without NULL terminator. + 2017-11-24 Joel Brobecker * gdb.texinfo (GDB/MI Ada Exception Information): Document diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 00451d243d..675f6e7bc8 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -11920,6 +11920,8 @@ giant words (eight bytes) All values are interpreted in the current language. This means, for example, that if the current source language is C/C@t{++} then searching for the string ``hello'' includes the trailing '\0'. +The null terminator can be removed from searching by using casts, +e.g.: @samp{@{char[5]@}"hello"}. If the value size is not specified, it is taken from the value's type in the current language. @@ -11969,7 +11971,11 @@ you get during debugging: (gdb) find &hello[0], +sizeof(hello), 'h', 'e', 'l', 'l', 'o' 0x8049567 0x804956d -2 patterns found +2 patterns found. +(gdb) find &hello[0], +sizeof(hello), @{char[5]@}"hello" +0x8049567 +0x804956d +2 patterns found. (gdb) find /b1 &hello[0], +sizeof(hello), 'h', 0x65, 'l' 0x8049567 1 pattern found diff --git a/gdb/findcmd.c b/gdb/findcmd.c index b43fefc06d..d437b56d92 100644 --- a/gdb/findcmd.c +++ b/gdb/findcmd.c @@ -293,7 +293,9 @@ and if not specified the size is taken from the type of the expression\n\ in the current language.\n\ Note that this means for example that in the case of C-like languages\n\ a search for an untyped 0x42 will search for \"(int) 0x42\"\n\ -which is typically four bytes.\n\ +which is typically four bytes, and a search for a string \"hello\" will\n\ +include the trailing '\\0'. The null terminator can be removed from\n\ +searching by using casts, e.g.: {char[5]}\"hello\".\n\ \n\ The address of the last match is stored as the value of \"$_\".\n\ Convenience variable \"$numfound\" is set to the number of matches."),