From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 69917 invoked by alias); 28 Nov 2017 15:42:26 -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 69602 invoked by uid 89); 28 Nov 2017 15:42:23 -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,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy= X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 28 Nov 2017 15:42:21 +0000 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 78E3980476 for ; Tue, 28 Nov 2017 15:42:20 +0000 (UTC) Received: from localhost (unused-10-15-17-193.yyz.redhat.com [10.15.17.193]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4E82960BE5; Tue, 28 Nov 2017 15:42:13 +0000 (UTC) From: Sergio Durigan Junior To: Sergio Lopez Cc: gdb-patches@sourceware.org Subject: Re: [PATCH 1/4] Implement 'set honor-dontdump-flag' command References: <20171128132148.31802-1-slp@redhat.com> <20171128132148.31802-2-slp@redhat.com> Date: Tue, 28 Nov 2017 15:42:00 -0000 In-Reply-To: <20171128132148.31802-2-slp@redhat.com> (Sergio Lopez's message of "Tue, 28 Nov 2017 14:21:45 +0100") Message-ID: <87induo1ey.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes X-SW-Source: 2017-11/txt/msg00730.txt.bz2 On Tuesday, November 28 2017, Sergio Lopez wrote: > Commit df8411da087dc05481926f4c4a82deabc5bc3859 implemented support for > checking /proc/PID/coredump_filter, and also changed gcore behavior to > unconditionally honor the VM_DONTDUMP flag, preventing sections marked > as such for being dumped into the core file. > > This patch adds support for the 'set honor-dontdump-flag' command for > instructing gdb to ignore the VM_DONTDUMP flag. Combined with 'set > use-coredump-filter', this allows the user to restore the old behavior, > dumping all sections (except the ones marked as IO) unconditionally. Thanks for the patch. A few comments below. > ChangeLog This should say "gdb/ChangeLog:". > 2017-11-28 Sergio Lopez > > * linux-tdep.c (honor_dontdump_flag): New variable. > (dump_mapping_p): Use honor_dontdump_flag variable. > (_initialize_linux_tdep): New command 'set honor-dontdump-flag'. Not sure if it was your MUA, but ChangeLog lines should be indented using TABs. > --- > gdb/ChangeLog | 6 ++++++ > gdb/linux-tdep.c | 19 ++++++++++++++++++- > 2 files changed, 24 insertions(+), 1 deletion(-) > > diff --git a/gdb/ChangeLog b/gdb/ChangeLog > index ebb969998c..ce68fee776 100644 > --- a/gdb/ChangeLog > +++ b/gdb/ChangeLog > @@ -1,3 +1,9 @@ > +2017-11-28 Sergio Lopez > + > + * linux-tdep.c (honor_dontdump_flag): New variable. > + (dump_mapping_p): Use honor_dontdump_flag variable. > + (_initialize_linux_tdep): New command 'set honor-dontdump-flag'. Here they're fine. We don't usually include diffs to ChangeLogs in the commit because they can cause conflicts when applying the patch, but it's up to you. > + > 2017-11-27 Tom Tromey > > * Makefile.in (REMOTE_OBS): Remove. > diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c > index 24237b8d39..5f4a1cdad1 100644 > --- a/gdb/linux-tdep.c > +++ b/gdb/linux-tdep.c > @@ -93,6 +93,11 @@ struct smaps_vmflags > > static int use_coredump_filter = 1; > > +/* Whether to honor the VM_DONTDUMP flag in /proc/PID/smaps when > + generating a corefile. */ > + > +static int honor_dontdump_flag = 1; No empty line between command and definition of variable. > + > /* This enum represents the signals' numbers on a generic architecture > running the Linux kernel. The definition of "generic" comes from > the file , from the Linux kernel > @@ -655,7 +660,7 @@ dump_mapping_p (filter_flags filterflags, const struct smaps_vmflags *v, > return 0; > > /* Check if we should exclude this mapping. */ > - if (v->exclude_coredump) > + if (honor_dontdump_flag && v->exclude_coredump) > return 0; > > /* Update our notion of whether this mapping is shared or > @@ -2517,4 +2522,16 @@ of /proc/PID/coredump_filter when generating the corefile. For more information > about this file, refer to the manpage of core(5)."), > NULL, show_use_coredump_filter, > &setlist, &showlist); > + > + add_setshow_boolean_cmd ("honor-dontdump-flag", class_files, > + &honor_dontdump_flag, _("\ > +Set whether gcore should honor the VM_DONTDUMP flag."), > + _("\ > +Show whether gcore should honor the VM_DONTDUMP flag."), > + _("\ > +Use this command to set whether gcore should honor the VM_DONTDUMP\n\ > +flag from /proc/PID/smaps when generating the corefile. For more information\n\ > +about this file, refer to the manpage of proc(5) and core(5)."), > + NULL, show_use_coredump_filter, You've already spotted the mistake of using 'show_use_coredump_filter' here. > + &setlist, &showlist); I'm not sure "honor-dontdump-flag" is a good name for this setting. There's no indication that it relates to coredumps, and I think it should. A name like "honor-coredump-dontdump-flag" is a bit repetitive, but IMHO is better than just "honor-dontdump-flag". WDYT? To be fair, my first thought was to suggest adding a new "set coredump" super command, which would encompass "set coredump use-coredump-filter" and "set coredump honor-dontdump-flag", but I wouldn't like to introduce this change so close to a release. Otherwise, the patch looks OK to me, but I'm not a global maintainer. Thanks, -- Sergio GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36 Please send encrypted e-mail if possible http://sergiodj.net/