From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 38198 invoked by alias); 12 Feb 2020 16:43:38 -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 38186 invoked by uid 89); 12 Feb 2020 16:43:37 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-15.0 required=5.0 tests=AWL,BAYES_00,BODY_8BITS,ENV_AND_HDR_SPF_MATCH,GARBLED_BODY,RCVD_IN_DNSWL_NONE,SPF_PASS,USER_IN_DEF_SPF_WL autolearn=no version=3.3.1 spammy=disable-nls, disablenls, BuildBot, aims X-HELO: mail-ot1-f67.google.com Received: from mail-ot1-f67.google.com (HELO mail-ot1-f67.google.com) (209.85.210.67) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 12 Feb 2020 16:43:35 +0000 Received: by mail-ot1-f67.google.com with SMTP id b18so2585920otp.0 for ; Wed, 12 Feb 2020 08:43:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=eKzJQYmNh53Bu3gl2/VGocCvUTvkhfuqxN2WK0JYj+A=; b=MkMvdegRJfPuScpkfODLBerpTsC/fnjYe5h4pq3SmAmlhFI9roGAw1zR5B+qllZjIk CmNz5UrsMAzdifS6kkOUyoKuM5Kvwp3e/aPYq3KkLlpLroDrbbdVfb22ujLwfQIcz5x5 vlh2o55KYiK5LY4LsjOSMfdn69t4ktz3+LHvv5ILHm52zqEi+rOxMGu7PIPa7YQjS9Ii 8hRNgSVqRgjzxwSy5XlViVyM3z35fHZP71/MGUjBSurt1nOj/bWP1NeXUeZ4l6wLfCmT 9dmYG/HncDH2HrOlF2Bohf7AURpXMOazcvXGlYWmBQbkqr8bpv0146kE12QV4fpLrgOf vlvg== MIME-Version: 1.0 References: In-Reply-To: From: "Christian Biesinger via gdb-patches" Reply-To: Christian Biesinger Date: Wed, 12 Feb 2020 16:43:00 -0000 Message-ID: Subject: Re: [PATCH 00/58] Turn gdbserver's process_stratum_target into a class To: "Aktemur, Tankut Baris" Cc: gdb-patches Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2020-02/txt/msg00455.txt.bz2 On Wed, Feb 12, 2020 at 2:18 AM Aktemur, Tankut Baris wrote: > > On Tuesday, February 11, 2020 6:41 PM, Christian Biesinger wrote: > > On Tue, Feb 11, 2020 at 3:03 AM Tankut Baris Aktemur > > wrote: > > > > > > Hi All, > > > > > > This is a C++'ification series that aims to convert the target ops > > > vector in gdbserver into a class. Currently, the target ops is a > > > struct of function pointers. At the end of the series, it becomes a > > > class with methods, and the existing low target definitions become > > > subclasses. That is, we end up with the following class hierarchy: > > > > > > process_stratum_target > > > ^ > > > =E2=94=9C=E2=94=80=E2=94=80 linux-low > > > =E2=94=9C=E2=94=80=E2=94=80 lynx-low > > > =E2=94=9C=E2=94=80=E2=94=80 nto-low > > > =E2=94=94=E2=94=80=E2=94=80 win32-low > > > > > > process_stratum_target either defines the default behavior for the > > > target ops or leaves them as pure virtual for the subclasses to > > > override. > > > > > > PATCH 1's commit message gives more details about the approach in this > > > transformation. > > > > > > If and when this series is accepted, the next step is to C++'ify linux > > > low targets, giving a hierarchy that looks like below. (This second > > > phase is not included in this series.) > > > > > > process_stratum_target > > > ^ > > > =E2=94=9C=E2=94=80=E2=94=80 linux-low > > > =E2=94=82 ^ > > > =E2=94=82 =E2=94=9C=E2=94=80=E2=94=80 linux-arm-low > > > =E2=94=82 =E2=94=9C=E2=94=80=E2=94=80 linux-ppc-low > > > =E2=94=82 =E2=94=9C=E2=94=80=E2=94=80 linux-x86-low > > > =E2=94=82 =E2=94=94=E2=94=80=E2=94=80 ... > > > =E2=94=9C=E2=94=80=E2=94=80 lynx-low > > > =E2=94=9C=E2=94=80=E2=94=80 nto-low > > > =E2=94=94=E2=94=80=E2=94=80 win32-low > > > > > > My goal in this series was to make gdbserver buildable after each > > > patch. I could test this for linux-low, but not for other targets -- > > > in particular, for lynx-low, nto-low, and win32-low. I verified their > > > code manually to my best; however, I may have made typos or some > > > oversights that break build on these systems. Can builbot be used to > > > test? > > > > I'm not a patch approver (and I only skimmed most of the patches), but > > I really like this work! > > Thank you! > > > You can use buildbot to test win32 (the Fedora-x86_64-w64-mingw32 bot > > tests it by crosscompiling from linux to windows). Testing lynx and > > nto may be harder, you may have to track down a cross compiler and/or > > a qemu image... > > > > > > Christian > > As far as I understand, I need to contact Sergio to ask for access: > https://sourceware.org/gdb/wiki/BuildBot > > The builbot page at https://gdb-buildbot.osci.io does not contain much > instructions. If there are other pointers one needs to know, please let = me know! Yes, https://sourceware.org/gdb/wiki/BuildBot#TL.3BDR is the process (email gdb@ and cc sergio) https://sourceware.org/gdb/wiki/BuildBot#Installing_buildbot has the instructions for how to set it up. At the time, I had to use vpython and buildbot from their git repository, hopefully that is not necessary anymore. It occurs to me that buildbot has a maximum patch size. Hopefully, your patch series fits under that! Otherwise, you can install the mingw crosscompiler yourself and test the build locally; Debian has a g++-mingw-w64 package for that. I'm sure Fedora has a package too but I don't know what it's called. Then you can just build GDB with configure --build=3Dx86_64-pc-linux-gnu --host=3Dx86_64-w64-mingw32 --target=3Dx86_64-w64-mingw32 --without-python --disable-nls --without-nls --disable-source-highlight. Christian