From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 116612 invoked by alias); 29 Jun 2016 13:55:28 -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 116595 invoked by uid 89); 29 Jun 2016 13:55:27 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 spammy=surprisingly, Hx-languages-length:2467, HX-Envelope-From:sk:antoine, distance X-HELO: usplmg20.ericsson.net Received: from usplmg20.ericsson.net (HELO usplmg20.ericsson.net) (198.24.6.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Wed, 29 Jun 2016 13:55:17 +0000 Received: from EUSAAHC002.ericsson.se (Unknown_Domain [147.117.188.78]) by usplmg20.ericsson.net (Symantec Mail Security) with SMTP id 34.72.09012.9F8C3775; Wed, 29 Jun 2016 15:11:21 +0200 (CEST) Received: from elxa4wqvvz1 (147.117.188.8) by smtps-am.internal.ericsson.com (147.117.188.78) with Microsoft SMTP Server (TLS) id 14.3.294.0; Wed, 29 Jun 2016 09:55:13 -0400 References: <1465476975-25062-1-git-send-email-antoine.tremblay@ericsson.com> User-agent: mu4e 0.9.17; emacs 24.4.1 From: Antoine Tremblay To: , Pedro Alves Subject: Re: [PATCH v2 00/17] Fast tracepoint support for ARMv7 In-Reply-To: <1465476975-25062-1-git-send-email-antoine.tremblay@ericsson.com> Date: Wed, 29 Jun 2016 13:55:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes X-SW-Source: 2016-06/txt/msg00512.txt.bz2 Antoine Tremblay writes: > Hi, > > This is a v2 of: > https://sourceware.org/ml/gdb-patches/2015-10/msg00195.html > > It needs to be applied on top of tracepoints support for ARM see: > https://sourceware.org/ml/gdb-patches/2016-01/msg00111.html > > This patch enables fast tracepoints for ARM on Linux. > > It has been reworked by Simon Marchi and Antoine Tremblay and the > following features have been added: > > * Relocation of many PC relative instructions. > > * JIT compilation of the condition expression. > > There are some limitations: > > * The tracepoint insertion will fail if the distance from the > instruction to the jump pad is big. > > * It is only possible to place fast tracepoints on 4-byte > instructions, which also limits the valid locations in Thumb mode. > > Known Issues: > > There is a possible issue while stepping out of the jump pad as discussed > here: https://sourceware.org/ml/gdb-patches/2016-01/msg00673.html > > But this issue is present in x86 with hardware single stepping too. So I > don't think it's related to this series and can be addressed separately. > I'm still mentioning it as it may be relevant while testing software > single stepping out of the jump pad. About this possible known issue, after more investigation it turns out this is because my test to try to test moving out of the jump pad is flawed. So there's no reason to believe that the software single step to move out of the jump pad has a problem based on that. The fact that I would stop a thread with a breakpoint inside the jumppad is problematic since even if I removed the breakpoint to simulate that gdb happened to stop there while the process was interrupted gdb still assumes with last_resume_kind that the user wants this thread stopped and thus it fails go through the proper code paths. I tried testing the moving out of jump pad logic by running a while loop with only one fast tracepoint collecting there and then interrupting it at random but surprisingly this has some problems. It seems the trace stops on it's own even with buffer size unlimited on x86, I'm not sure if the trace buffer can actually be unlimited so I tested also with circular-buffers on and this that I just can't interrupt the process... Would anyone have an idea on a way to test the move out of the jump pad logic ? Pedro maybe ? Did you have a way to test it when you wrote that code ? Thanks, Antoine