From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 67081 invoked by alias); 20 May 2016 15:12:55 -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 67068 invoked by uid 89); 20 May 2016 15:12:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=aarch64-linux, aarch64linux, claims, HERE X-HELO: mail-pa0-f67.google.com Received: from mail-pa0-f67.google.com (HELO mail-pa0-f67.google.com) (209.85.220.67) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Fri, 20 May 2016 15:12:53 +0000 Received: by mail-pa0-f67.google.com with SMTP id yl2so11194197pac.1 for ; Fri, 20 May 2016 08:12:52 -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=fmo/bpoS5VTvomOvRjsB9mmSAJ6LoAL1yvlsu7HzEI8=; b=Zvdr/LThbkKZl2Ic9rGP/r1/eqoHMen1H0IYjnrIiCGp1byFx8e7UJ/xKloB9tIB5a 64jKGclIez6r4gK27/fsbfqvrXPsa8ary1ByOm31XKQG+kgFfGfyyn3lQtzyU1cW8uoB H7MsfQMLXdYto0ApRBLxRNZzGWOSMw+sZBKLRypSjXoV8gbQB2zWpUKK90o/fDkjre4/ HnWpCFmbomBz63Q0EiMQcMg7XFbAoXaU31tgz/EhM/fBtYyE90I/pcCGQiGjJWsvxtSB me/0BFeabsaeaxYQ41lKw0ebhiB90Ff5Q01Eu9FgA6S64G/9l0vRygWXBvBi4DjTpJRL m9/A== X-Gm-Message-State: AOPr4FUuk9HOS6X/3p4wp1p1XzF5YaJc3o0OQXxtuJSAsj8SmoCBAW1ygce4oal9xKh0aQ== X-Received: by 10.66.171.41 with SMTP id ar9mr5543530pac.125.1463757171089; Fri, 20 May 2016 08:12:51 -0700 (PDT) Received: from E107787-LIN.cambridge.arm.com (gcc113.osuosl.org. [140.211.9.71]) by smtp.gmail.com with ESMTPSA id p80sm27985272pfj.58.2016.05.20.08.12.49 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 20 May 2016 08:12:50 -0700 (PDT) From: Yao Qi X-Google-Original-From: Yao Qi To: gdb-patches@sourceware.org Subject: [PATCH 0/8] Use reinsert breakpoint for vCont;s Date: Fri, 20 May 2016 15:12:00 -0000 Message-Id: <1463757161-25850-1-git-send-email-yao.qi@linaro.org> X-IsSubscribed: yes X-SW-Source: 2016-05/txt/msg00358.txt.bz2 Nowadays, reinsert breakpoint is used in GDBserver to step over a breakpoint. I want to use it to handle vCont;s too. The idea is that when GDBserver receives resume_step request from GDB, use the software single step logic, insert reinsert_breakpoint on the next pcs, and resume the thread. This means we have multiple reinsert_breakpoints for different threads for either step-over or vCont;s. Patch #6 makes reinsert breakpoints thread specific, patch #7 does the major thing, and patch #8 claims supporting vCont;s with software single step. Patch #1 and #2 fixes the existing bugs. Patch #3, #4, and #5 refactor the code. The whole series are tested on arm-linux, aarch64-linux and x86_64-linux. *** BLURB HERE *** Yao Qi (8): Switch to current thread before finish_step_over Delete reinsert breakpoints from forked child Pass breakpoint type in set_breakpoint_at Create sub classes of 'struct breakpoint' Refactor clone_all_breakpoints Make reinsert_breakpoint thread specific Use reinsert_breakpoint for vCont;s [GDBserver] Support vCont s and S actions with software single step gdb/gdbserver/linux-low.c | 180 ++++++++++++++++++++++++++-- gdb/gdbserver/mem-break.c | 293 +++++++++++++++++++++++++++++++++------------- gdb/gdbserver/mem-break.h | 35 +++--- gdb/gdbserver/server.c | 17 +-- 4 files changed, 412 insertions(+), 113 deletions(-) -- 1.9.1