From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 58393 invoked by alias); 30 Jun 2016 14:09:43 -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 58375 invoked by uid 89); 30 Jun 2016 14:09:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=HERE X-HELO: mail-pf0-f195.google.com Received: from mail-pf0-f195.google.com (HELO mail-pf0-f195.google.com) (209.85.192.195) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 30 Jun 2016 14:09:32 +0000 Received: by mail-pf0-f195.google.com with SMTP id c74so7516103pfb.0 for ; Thu, 30 Jun 2016 07:09:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id; bh=Bi8PfLfMPsl78opr/LNzqqysOPT7WzKq5KP+5QuzSts=; b=mtGSjMoWKw+ipvUAvZZ674S0u8kSGSoHfBuW9ipY+sZqn+qlPKMa/oBvChV1tFRa4e bV8scrUNyewBfA6MClLvn/65fPVF9lEnYjbRtpZFKxgXvGEFdJkg/DAWTgnAeW46RhaY WEqzWv72aVQIj/5NS7sHGDZLHb5fsmO96A+lvS+CYITlSQOZAUTQIFoN4miVGWaWphzY K9Z3tJOgY0u7RyisxgspbZPXC4yY9utVhEz/VwonOTc16WDhdwlffOPRGCOdOhx5dOmN +A6dmrh0ysBadXuBKgOogJuPSsR1JJCQALQ/Wm0xc4FrNLSaZHVJaV4cmc501wx77k9e 8wKA== X-Gm-Message-State: ALyK8tIwnt4X3iWxu3U80exhveM8pE2qvAffxJnSgm17TlTp15sAvMAfVbszROI8dE+Bgw== X-Received: by 10.98.149.149 with SMTP id c21mr21941185pfk.73.1467295770312; Thu, 30 Jun 2016 07:09:30 -0700 (PDT) Received: from E107787-LIN.cambridge.arm.com (gcc1-power7.osuosl.org. [140.211.15.137]) by smtp.gmail.com with ESMTPSA id s3sm6263184pfb.87.2016.06.30.07.09.28 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 30 Jun 2016 07:09:29 -0700 (PDT) From: Yao Qi X-Google-Original-From: Yao Qi To: gdb-patches@sourceware.org Subject: [PATCH 0/9 V3] Use reinsert breakpoint for vCont;s Date: Thu, 30 Jun 2016 14:09:00 -0000 Message-Id: <1467295765-3457-1-git-send-email-yao.qi@linaro.org> X-IsSubscribed: yes X-SW-Source: 2016-06/txt/msg00539.txt.bz2 Here is the V3 of this patch series, V2 can be found https://sourceware.org/ml/gdb-patches/2016-06/msg00029.html some preparatory patches in V2 are already pushed in. Patches 1 - 5 and 9 are already approved in V2 review. This patch series is to address the review comments https://sourceware.org/ml/gdb-patches/2016-06/msg00305.html > Hmm, seeing that we need to handle installing the breakpoints in > both places, I wonder about making linux_resume just handle > setting up the last resume kind and queue signals, and then > end up calling proceed_all_lwps. If that works, I suspect it > would simplify things a good deal. I do something slightly differently in V3. In my "V2 Use reinsert breakpoint for vCont;s", I install reinsert breakpoints for needed lwps in two places, linux_resume and proceed_all_lwps, which isn't ideal. After the chat with Pedro, we don't need to stop all threads when inserting reinsert breakpoint, so we can move the breakpoint installation further down to linux_resume_one_thread and proceed_one_lwp. If linux_resume_one_thread can use proceed_one_lwp, we can only install reinsert breakpoints in one place, proceed_one_lwp. Patch 7 changes linux_resume_one_thread enqueues signal and calls proceed_one_lwp. Patch 6 is a refactor one to use existing api enqueue_pending_signal. With the changes in patch 7, patch 8 is simplified compared with V2. Regression tested on arm-linux and x86_64-linux. *** BLURB HERE *** Yao Qi (9): Pass breakpoint type in set_breakpoint_at Create sub classes of 'struct breakpoint' Refactor clone_all_breakpoints Make reinsert_breakpoint thread specific Switch current_thread to lwp's thread in install_software_single_step_breakpoints Use enqueue_pending_signal in linux_resume_one_thread Enqueue signal even when resuming threads Use reinsert_breakpoint for vCont;s Support vCont s and S actions with software single step gdb/gdbserver/ChangeLog | 73 +++++++++++ gdb/gdbserver/gdbthread.h | 3 + gdb/gdbserver/inferiors.c | 14 ++- gdb/gdbserver/inferiors.h | 2 +- gdb/gdbserver/linux-low.c | 124 +++++++++--------- gdb/gdbserver/mem-break.c | 313 +++++++++++++++++++++++++++++++++------------- gdb/gdbserver/mem-break.h | 45 +++---- gdb/gdbserver/server.c | 17 +-- 8 files changed, 410 insertions(+), 181 deletions(-) -- 1.9.1