From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gateway30.websitewelcome.com (gateway30.websitewelcome.com [192.185.151.58]) by sourceware.org (Postfix) with ESMTPS id 13CD3386F471 for ; Fri, 22 May 2020 19:57:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 13CD3386F471 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=tom@tromey.com Received: from cm11.websitewelcome.com (cm11.websitewelcome.com [100.42.49.5]) by gateway30.websitewelcome.com (Postfix) with ESMTP id BB0614713 for ; Fri, 22 May 2020 14:57:11 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id cDn5jMH8CSl8qcDn5jfXx5; Fri, 22 May 2020 14:57:11 -0500 X-Authority-Reason: nr=8 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=BQthVkj4KjkTlKYlSLuWiMzH5ItzKGuJmg95x+WFnwc=; b=B7m3r34ntyPqOv0neky6AUXTal YyP+0pRRMjY+zRlUMGETXyMrDkTkybe5qbBAcW4/MsLGMIjw5ZWUDJthIITndoBO9tWuxb1VDa8KU BHokSDc+xeGJCitiU4rQJ4irO; Received: from 174-16-104-48.hlrn.qwest.net ([174.16.104.48]:35882 helo=murgatroyd) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from ) id 1jcDn5-003ZgU-FC; Fri, 22 May 2020 13:57:11 -0600 From: Tom Tromey To: paul-naert via Gdb-patches Cc: paul-naert Subject: Re: [RFC][PATCH 0/7] Patching new code in a binary References: <20200514140849.31845-1-paul_naert@hotmail.fr> X-Attribution: Tom Date: Fri, 22 May 2020 13:57:10 -0600 In-Reply-To: <20200514140849.31845-1-paul_naert@hotmail.fr> (paul-naert via Gdb-patches's message of "Thu, 14 May 2020 10:08:42 -0400") Message-ID: <87zh9z3fqh.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 174.16.104.48 X-Source-L: No X-Exim-ID: 1jcDn5-003ZgU-FC X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 174-16-104-48.hlrn.qwest.net (murgatroyd) [174.16.104.48]:35882 X-Source-Auth: tom+tromey.com X-Email-Count: 11 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, JMQ_SPF_NEUTRAL, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NEUTRAL, TXREP autolearn=no 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: Fri, 22 May 2020 19:57:14 -0000 >>>>> ">" == paul-naert via Gdb-patches writes: >> I'm looking for input on a series of patches that I wrote to extend >> the compile command. At the moment, this commands lets the user type >> in C/C++ code that is compiled by GCC and then executed in the >> context of the program. This is fantastic. >> If there is interest in the commands, I will work on the >> documentation and test cases. Yes, please. I think this is very interesting work. >> - Red zone handling. This complicates the trampoline. I believe that >> this issue was fixed by the manipulation I did in the trampoline, but >> this seems to be absent from the GDB tracepoints. Is there something >> I missed or is this a bug of fast tracepoints? I don't know, sorry. >> - Since we save and restore all registers, some instrumentation code >> may not be able to properly modify variable values. The original idea in the compile approach was that the code could write into the structure-of-register-values, and then on return these values would be loaded back into the registers. So, in patch 7, this could be done after calling the patched function, but before executing the displaced instruction. >> If the community is interested in this functionnality, I have also >> worked on making it more usable by getting rid of the 5 byte >> limitation using instruction punning. This series of patches works, >> but is not compliant yet with the GDB standards. I didn't go through and mention the coding style stuff, but there's a fair amount of changes to be done there. Also ChangeLogs are required for a final patch. I think this is very promising, though. One related thing I'm interested in is extending this to compile breakpoint conditions. Tom