From patchwork Wed Dec 17 07:27:46 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Evans X-Patchwork-Id: 4290 Received: (qmail 27594 invoked by alias); 17 Dec 2014 07:28:43 -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 27577 invoked by uid 89); 17 Dec 2014 07:28:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL, BAYES_00, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-pd0-f175.google.com Received: from mail-pd0-f175.google.com (HELO mail-pd0-f175.google.com) (209.85.192.175) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Wed, 17 Dec 2014 07:28:40 +0000 Received: by mail-pd0-f175.google.com with SMTP id g10so13582858pdj.6 for ; Tue, 16 Dec 2014 23:28:38 -0800 (PST) X-Received: by 10.68.69.80 with SMTP id c16mr67283845pbu.125.1418801318505; Tue, 16 Dec 2014 23:28:38 -0800 (PST) Received: from seba.sebabeach.org.gmail.com (173-13-178-53-sfba.hfc.comcastbusiness.net. [173.13.178.53]) by mx.google.com with ESMTPSA id ur2sm2947705pbc.51.2014.12.16.23.28.36 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Dec 2014 23:28:37 -0800 (PST) From: Doug Evans To: Pedro Alves Cc: Yao Qi , "gdb-patches\@sourceware.org" Subject: Re: [PATCH] testsuite/boards/stabs.exp References: <87ioheviwk.fsf@codesourcery.com> <548EC1FB.3030306@redhat.com> Date: Tue, 16 Dec 2014 23:27:46 -0800 In-Reply-To: <548EC1FB.3030306@redhat.com> (Pedro Alves's message of "Mon, 15 Dec 2014 11:11:55 +0000") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 X-IsSubscribed: yes Pedro Alves writes: > On 12/14/2014 07:05 AM, Doug Evans wrote: >> On Sat, Dec 13, 2014 at 10:34 PM, Yao Qi wrote: >>> Doug Evans writes: > >> b) The testsuite gets the -g* variant to use from the debug_flags board config. >> If you specify CFLAGS_FOR_TARGET then that value *and* the >> debug_flags board config are passed to gcc. >> Plus, -g -gstabs != -gstabs -g. >> [I didn't dig into why, easy enough if it becomes important.] >> The high order bit is that the right way to specify the flag >> to control the debug format is with the debug_flags board config. >> >> The difference can be seen by trying both. >> A simple example to play with is gdb.cp/bool.exp. >> >> check-gdb --target_board=stabs bool.exp >> -> 2 fails >> FAIL: gdb.cp/bool.exp: print return_true() >> FAIL: gdb.cp/bool.exp: print return_false() >> >> check-gdb CFLAGS_FOR_TARGET=-gstabs bool.exp >> -> 2 passes > > No objections to a board file if it makes things easy, but > did you consider allowing passing a variable from the command line, > to override debug_flags, so we could do things like: > > $ make check DEBUG_FLAGS="-gstabs" bool.exp > > $ make check DEBUG_FLAGS="-gstabs" RUNTESTFLAGS="--host_board=foo --target_board=bar" bool.exp Hi. Here is what I committed. I've augmented the comments to provide more assistance. 2014-12-16 Doug Evans * boards/stabs.exp: New file. diff --git a/gdb/testsuite/boards/stabs.exp b/gdb/testsuite/boards/stabs.exp new file mode 100644 index 0000000..d04989a --- /dev/null +++ b/gdb/testsuite/boards/stabs.exp @@ -0,0 +1,45 @@ +# Copyright 2014 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 stabs support. Stabs is used less and less these days, ideally +# it will eventually disappear (hey, one can dream). Until then, this +# board file is a simple way to run the testsuite with stabs. +# +# Example usage: +# bash$ make check RUNTESTFLAGS='--target_board=stabs' +# +# Another way: +# make check RUNTESTFLAGS="--target_board=unix/gdb:debug_flags=-gstabs+" +# While this way doesn't require a board file, this file exists because +# it's easier for some to find. +# +# Note: make check RUNTESTFLAGS=CFLAGS_FOR_TARGET=-gstabs+ +# "works" but kinda accidentally. The right way to set the flag for +# specifying debug information is with the debug_flags board config parameter. + +# This is copied from baseboards/unix.exp. +# At the moment this only supports things that unix.exp supports. +load_generic_config "unix" +process_multilib_options "" +set_board_info compiler "[find_gcc]" + +# Use -gstabs+ instead of -gstabs for better c++ support. +set_board_info debug_flags "-gstabs+" + +# This is needed otherwise dejagnu tries to rsh to host "stabs". Blech. +# Double blech: set_board_info only sets the value if not already set. +unset_board_info isremote +set_board_info isremote 0