From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 51541 invoked by alias); 14 Sep 2015 10:33:49 -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 51518 invoked by uid 89); 14 Sep 2015 10:33:48 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-pa0-f44.google.com Received: from mail-pa0-f44.google.com (HELO mail-pa0-f44.google.com) (209.85.220.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 14 Sep 2015 10:33:47 +0000 Received: by padhy16 with SMTP id hy16so140834144pad.1 for ; Mon, 14 Sep 2015 03:33:45 -0700 (PDT) X-Received: by 10.66.119.237 with SMTP id kx13mr33017308pab.99.1442226825130; Mon, 14 Sep 2015 03:33:45 -0700 (PDT) Received: from E107787-LIN (power-aix.osuosl.org. [140.211.15.154]) by smtp.gmail.com with ESMTPSA id ey17sm15434834pac.26.2015.09.14.03.33.42 (version=TLS1_2 cipher=AES128-SHA256 bits=128/128); Mon, 14 Sep 2015 03:33:44 -0700 (PDT) From: Yao Qi To: Antoine Tremblay Cc: Subject: Re: [PATCH 0/7] Support tracepoints and software breakpoints on ARM aarch32-linux in GDBServer. References: <1441973603-15247-1-git-send-email-antoine.tremblay@ericsson.com> Date: Mon, 14 Sep 2015 10:33:00 -0000 In-Reply-To: <1441973603-15247-1-git-send-email-antoine.tremblay@ericsson.com> (Antoine Tremblay's message of "Fri, 11 Sep 2015 08:13:16 -0400") Message-ID: <867fnt5lz4.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2015-09/txt/msg00272.txt.bz2 Antoine Tremblay writes: Hi Antoine, Thanks for the work! > This patch series adds support for tracepoints and software breakpoints o= n ARM > aarch32 on linux. Term "aarch32" is only used on armv8, means 32-bit execution state. What your patches do is to add software single step and tracepoint point for ARM (ARMv7 and pre-ARMv7). Don't need to say "aarch32". Your patch series include too much things, and we need to split them, > > Some background : > > Some specific issues for ARM aarch32 make it difficult for GDBServer to e= nable > these features namely : it has no hardware single step support and the > breakpoint data and size depends on the current instruction set used, thu= mb, > thumb2 or arm. > > So GDBServer needs to know how to set a breakpoint of different size base= d on > the current instruction and registers and it needs to be able to do softw= are > single stepping. The first part can be teaching GDBserver to choose the right breakpiont instruction (of different size and encoding) based on the address. Then, the second part can be teaching GDBserver to do software single stepp= ing. > > This patchset teaches this to GDBServer and enables support for tracepoin= ts and > software breakpoints. Support tracepoint on ARM (with software single step in GDBserver side) can be the third part. > > The patchset : > > This patchset applies over : > https://sourceware.org/ml/gdb-patches/2015-09/msg00004.html > to avoid an immediate conflict... I'll push it in, if there are no regressions on x86 and aarch64. > > This patchset was tested on Ubuntu 14.04 on ARMv7 and x86 no regressions = found. How do you test them on ARMv7? I assume you tested your patches against gdbserver, but did you test them against compile options -marm and -mthumb respectively? I do it in this way, $ make check RUNTESTFLAGS=3D'--target_board=3DYOUR_BOARD\{-marm,-mthumb\}' YOUR_BOARD can be unix, native-gdbserver or whatever you are using. Sometime, I also pass -march=3Darmv4t to exercise thumb-1 instructions, but I don't know whether your gcc has such multi-lib or not. --=20 Yao (=E9=BD=90=E5=B0=A7)