From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) by sourceware.org (Postfix) with ESMTPS id 6177D388A838 for ; Wed, 13 May 2020 09:51:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6177D388A838 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 1DC62160060 for ; Wed, 13 May 2020 11:51:43 +0200 (CEST) Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 49MVLk3gv7z9rxQ; Wed, 13 May 2020 11:51:42 +0200 (CEST) Subject: Re: [PATCH 3/4] [PR gdbserver/25893]: Use construct_inferior_arguments which handles special chars To: Simon Marchi , gdb-patches@sourceware.org References: <20200429111638.1327262-1-m.weghorn@posteo.de> <20200429111638.1327262-5-m.weghorn@posteo.de> <17f345c8-eb7f-a3bb-c133-98533c7fa1c5@simark.ca> <5547e258-2f59-61a8-30e4-807a1758008c@posteo.de> <46d849fa-2386-d381-d16a-5de4a77c5b26@simark.ca> <890b4e9a-430f-25bb-dab6-3498e5558b8d@simark.ca> From: Michael Weghorn Message-ID: <1c2424e9-c998-c56b-6774-79c5a0b9b8fd@posteo.de> Date: Wed, 13 May 2020 11:51:33 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <890b4e9a-430f-25bb-dab6-3498e5558b8d@simark.ca> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 May 2020 09:51:45 -0000 On 13/05/2020 03.59, Simon Marchi wrote: > On 2020-05-12 1:37 p.m., Simon Marchi wrote: >> On 2020-05-12 12:07 p.m., Michael Weghorn via Gdb-patches wrote: >>>> If you are game, you could make another preparatory patch (anywhere in the series >>>> before this one) that would make construct_inferior_arguments take a >>>> gdb::array_view parameter. That would allow you to call it more simply >>>> here: >>>> >>>> construct_inferior_arguments (program_args); >>> >>> >>> I tried this, but as far as I understand (but I might have missed >>> something), this does not work here, since the gdb::array_view >>> constructor does not accept a const container (or reference to one) as a >>> parameter, so e.g. >>> >>> const std::vector vec; >>> gdb::array_view view(vec); >>> >>> does not work/compile, and program_args is a const reference here. >>> (Using a non-const vector does, but I'd personally rather not remove the >>> const qualifier for the 'program_args' parameter of the >>> 'create_inferior' method.) >>> >>> Michael >> >> Hmm yeah not sure about that. We can deal with this after. >> >> Simon >> > > I gave this a try, it works to declare the parameter as > > gdb::array_view argv Thanks! I've added a patch to have 'construct_inferior_arguments' take a 'gdb::array_view' param in version 4 of the patch series: https://sourceware.org/pipermail/gdb-patches/2020-May/168437.html Michael