From patchwork Thu Apr 11 09:35:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 32259 Received: (qmail 10846 invoked by alias); 11 Apr 2019 09:35:37 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 10835 invoked by uid 89); 11 Apr 2019 09:35:37 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, SPF_PASS autolearn=ham version=3.3.1 spammy=submission, 1, 28, realize X-HELO: mx1.suse.de Received: from mx2.suse.de (HELO mx1.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 11 Apr 2019 09:35:35 +0000 Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 26518AE24; Thu, 11 Apr 2019 09:35:33 +0000 (UTC) Subject: Re: [PATCH, testsuite] Add cc-with-dwz.exp add cc-with-dwz-m.exp To: Pedro Alves , gdb-patches@sourceware.org References: <20190410094021.GA20379@delia> From: Tom de Vries Message-ID: <7f934a85-e7c0-a8e5-7107-485a72bc891d@suse.de> Date: Thu, 11 Apr 2019 11:35:32 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 MIME-Version: 1.0 In-Reply-To: X-IsSubscribed: yes On 10-04-19 14:11, Pedro Alves wrote: > On 4/10/19 10:40 AM, Tom de Vries wrote: >> Hi, >> >> While we can use CC_WITH_TWEAKS_FLAGS like this: >> ... >> $ cd $objdir/gdb >> $ make check \ >> RUNTESTFLAGS='--target_board=cc-with-tweaks' \ >> CC_WITH_TWEAKS_FLAGS='-z' >> ... >> this doesn't work: >> ... >> $ cd $objdir >> $ make check-gdb \ >> RUNTESTFLAGS='--target_board=cc-with-tweaks' \ >> CC_WITH_TWEAKS_FLAGS='-z' >> ... > Hi Pedro, thanks for the review. > Took me a bit to understand the difference here. I think > spelling it out in English helps. So, in the first case, > you're cd-ing to the gdb subdir and using "make check". > While in the second case, you're cd-ing to the top build dir, > and using "make check-gdb". > Done. >> >> Add cc-with-dwz.exp add cc-with-dwz-m.exp, that can be used like this: >> ... >> $ cd $objdir >> $ make check-gdb \ >> RUNTESTFLAGS='--target_board=cc-with-dwz' >> ... > > Sorry for being dense, but I was completely confused by this > description for a bit. No problem, my bad, it's one of those things were I spent some time investigating what's going whilst not having a clue, and after I find out what's wrong it seems so obvious I fail to mention it in the submission... > I didn't really understand what the > conclusion (new board) files had to do with the premise > ("while this works, this does not"). And why does check-gdb > vs check make a difference? I suspect that it's because CC_WITH_TWEAKS_FLAGS > is not passed down from the top level? Indeed. > If so, or even if it's > something else, could you clarify both the proposed git commit > log, and the "does not work" comment added to the existing > .exp file (add a "because CC_WITH_TWEAKS_FLAGS is not passed > down from the top level Makefile" or something like that), please? > Done. > Would passing down CC_WITH_TWEAKS_FLAGS from the top level be > a bad idea? I know toplevel stuff in GNU repository has special status, being copied from there to there, so I tend to avoid touching that. > I do wonder why not just do the "cd $objdir/gdb" version instead. I tend to stick to the toplevel build dir, my experience is that the further down in the tree I type make, the more likely I run into trouble (this issue of course being an example of the opposite). > Hope we don't grow into combinatorial explosion. :-D I've not run cc-with-tweaks with several options at once, I did not realize that that was possible, but I agree that it wouldn't make too much sense to make board files for the combinations. I think though that exposing this basic functionality with an easy interface is not bad (FWIW, I'd be happy to add similar board files for the other cc-with-tweaks.sh options). Also, I had to be informed about this option to run gdb with dwz, and hopefully these new files advertise it a little bit better: ... $ find gdb/ | grep dwz gdb/testsuite/boards/cc-with-dwz.exp gdb/testsuite/boards/cc-with-dwz-m.exp gdb/testsuite/gdb.dwarf2/dwz.exp gdb/testsuite/gdb.dwarf2/dwzbuildid.exp $ ... [ Also, fixed several typos here and there. ] Updated patch OK for trunk? Thanks, - Tom [gdb/testsuite] Add cc-with-dwz.exp and cc-with-dwz-m.exp We can use CC_WITH_TWEAKS_FLAGS when cd-ing into the gdb build subdir and invoking make check: ... $ cd $objdir/gdb $ make check \ RUNTESTFLAGS='--target_board=cc-with-tweaks' \ CC_WITH_TWEAKS_FLAGS='-z' ... But when cd-ing into the top-level build dir and invoking make check-gdb instead: ... $ cd $objdir $ make check-gdb \ RUNTESTFLAGS='--target_board=cc-with-tweaks' \ CC_WITH_TWEAKS_FLAGS='-z' ... using CC_WITH_TWEAKS_FLAGS has no effect, because CC_WITH_TWEAKS_FLAGS is not passed down from the top level Makefile. Add cc-with-dwz.exp and cc-with-dwz-m.exp, that don't require CC_WITH_TWEAKS_FLAGS to be set in the make invocation, allowing us to run these test configurations from the toplevel build dir: ... $ cd $objdir $ make check-gdb \ RUNTESTFLAGS='--target_board=cc-with-dwz' ... Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2019-04-10 Tom de Vries * boards/cc-with-dwz-m.exp: New file. * boards/cc-with-dwz.exp: New file. * boards/cc-with-tweaks.exp: Note that check-gdb doesn't work. --- gdb/testsuite/boards/cc-with-dwz-m.exp | 28 ++++++++++++++++++++++++++++ gdb/testsuite/boards/cc-with-dwz.exp | 28 ++++++++++++++++++++++++++++ gdb/testsuite/boards/cc-with-tweaks.exp | 4 ++++ 3 files changed, 60 insertions(+) diff --git a/gdb/testsuite/boards/cc-with-dwz-m.exp b/gdb/testsuite/boards/cc-with-dwz-m.exp new file mode 100644 index 0000000000..dd15c36f44 --- /dev/null +++ b/gdb/testsuite/boards/cc-with-dwz-m.exp @@ -0,0 +1,28 @@ +# Copyright 2019 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This file is a dejagnu "board file" and is used to run the testsuite +# with contrib/cc-with-tweaks.sh -m. +# +# NOTE: We assume dwz is in $PATH. +# +# Example usage: +# bash$ cd $objdir +# bash$ make check-gdb \ +# RUNTESTFLAGS='--target_board=cc-with-dwz-m' +# + +set CC_WITH_TWEAKS_FLAGS "-m" +load_board_description "cc-with-tweaks" diff --git a/gdb/testsuite/boards/cc-with-dwz.exp b/gdb/testsuite/boards/cc-with-dwz.exp new file mode 100644 index 0000000000..7329da32b2 --- /dev/null +++ b/gdb/testsuite/boards/cc-with-dwz.exp @@ -0,0 +1,28 @@ +# Copyright 2019 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This file is a dejagnu "board file" and is used to run the testsuite +# with contrib/cc-with-tweaks.sh -z. +# +# NOTE: We assume dwz is in $PATH. +# +# Example usage: +# bash$ cd $objdir +# bash$ make check-gdb \ +# RUNTESTFLAGS='--target_board=cc-with-dwz' +# + +set CC_WITH_TWEAKS_FLAGS "-z" +load_board_description "cc-with-tweaks" diff --git a/gdb/testsuite/boards/cc-with-tweaks.exp b/gdb/testsuite/boards/cc-with-tweaks.exp index 59a53a87f9..11ec6a2850 100644 --- a/gdb/testsuite/boards/cc-with-tweaks.exp +++ b/gdb/testsuite/boards/cc-with-tweaks.exp @@ -19,10 +19,14 @@ # NOTE: If using dwz, We assume it is in $PATH. # # Example usage: +# bash$ cd $objdir/gdb # bash$ make check \ # RUNTESTFLAGS='--target_board=cc-with-tweaks' \ # CC_WITH_TWEAKS_FLAGS='-z' # +# Note: this does not work from $objdir with make check-gdb because +# CC_WITH_TWEAKS_FLAGS is not passed down from the top level Makefile. +# # The default value of CC_WITH_TWEAKS_FLAGS is "". if ![info exists CC_WITH_TWEAKS_FLAGS] {