From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 76808 invoked by alias); 10 Apr 2015 17:09:59 -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 76796 invoked by uid 89); 10 Apr 2015 17:09:59 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS,T_FROM_12LTRDOM autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 10 Apr 2015 17:09:57 +0000 Received: from svr-orw-fem-06.mgc.mentorg.com ([147.34.97.120]) by relay1.mentorg.com with esmtp id 1YgcRG-0001Ib-Gk from Don_Breazeal@mentor.com for gdb-patches@sourceware.org; Fri, 10 Apr 2015 10:09:54 -0700 Received: from build4-lucid-cs (147.34.91.1) by SVR-ORW-FEM-06.mgc.mentorg.com (147.34.97.120) with Microsoft SMTP Server id 14.3.224.2; Fri, 10 Apr 2015 10:09:54 -0700 Received: by build4-lucid-cs (Postfix, from userid 1905) id C958B40F27; Fri, 10 Apr 2015 10:09:53 -0700 (PDT) From: Don Breazeal To: Subject: [PATCH v7 0/7] Remote fork events Date: Fri, 10 Apr 2015 17:09:00 -0000 Message-ID: <1428685786-18094-1-git-send-email-donb@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes X-SW-Source: 2015-04/txt/msg00392.txt.bz2 This is v7 of the patch series implementing remote follow-fork, last posted here: https://sourceware.org/ml/gdb-patches/2015-03/msg00503.html This patchset only implements fork and vfork events for extended remote, omitting exec events and 'target remote' for now. Changes from the previous version: * Patch 1: removed documentation portion, putting it in a separate documentation patch (patch 7). * Patch 3: addressed a number of review comments. The significant changes include: - temporarily pause all lwps when gdb (re)connects, in order to set the ptrace options. - rework the mechanism for setting ptrace options. - refactor remote_detach_1 per review comments. - removed a test change (will submit it as a separate patch). - moved documentation changes to doc patch #7. * Patch 5: changed a couple a spots to address how gdbserver checks whether fork events have been requested by gdb and whether they are enabled. Also moved documentation changes to doc patch #7. * Patch 6: significant changes include: - changed method of removing fork child threads from the thread list reported from the remote target, prior to follow_fork. - changed how gdb determines whether a process that is to be killed contains a fork parent thread - removed a test change that isn't needed for this patchset. - moved documentation changes to doc patch #7. * Patch 7: new patch that incorporates all doc changes for the patchset. The patch descriptions are mostly unchanged except for the new patch: 1/6: Preparatory patch that implements qSupported support for fork events and associated mechanisms. Previously approved minus doc portions here: https://sourceware.org/ml/gdb-patches/2015-03/msg00896.html 2/6: Implements functions to clone breakpoint lists in gdbserver. Previously approved pending a few 'nits', fixes are documented here: https://sourceware.org/ml/gdb-patches/2014-10/msg00883.html. 3/6: Implements follow fork for 'fork' but not 'vfork', for extended-remote targets only. 4/6: Adds the architecture-specific pieces of follow-fork that allows hardware watchpoints to be inherited by a forked child. Previously approved here: https://sourceware.org/ml/gdb-patches/2015-02/msg00262.html 5/6: Adds follow fork for 'vfork'. 6/6: Adds catchpoints for 'fork' and 'vfork', along with support for killing a process that has forked before follow_fork is completed. 7/7: Documentation for the patch series. TESTING: Testing was mostly done using x86_64 Ubuntu, with the exception of the architecture-specific patch, #4. There are a few failures that show up but don't signify any problem. - Intermediate patches show failures due to the lack of features implemented in subsequent patches, like missing hardware watchpoint or catchpoint support. - Some vfork tests fail due to the lack of exec event support. Thanks, --Don