From: Doug Evans <xdje42@gmail.com>
To: Pedro Alves <palves@redhat.com>
Cc: Yao Qi <yao@codesourcery.com>,
"gdb-patches\@sourceware.org" <gdb-patches@sourceware.org>
Subject: Re: [PATCH] testsuite/boards/stabs.exp
Date: Wed, 17 Dec 2014 07:28:00 -0000 [thread overview]
Message-ID: <m3wq5qd9cd.fsf@sspiff.org> (raw)
In-Reply-To: <548EC1FB.3030306@redhat.com> (Pedro Alves's message of "Mon, 15 Dec 2014 11:11:55 +0000")
Pedro Alves <palves@redhat.com> writes:
> On 12/14/2014 07:05 AM, Doug Evans wrote:
>> On Sat, Dec 13, 2014 at 10:34 PM, Yao Qi <yao@codesourcery.com> wrote:
>>> Doug Evans <xdje42@gmail.com> 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 <xdje42@gmail.com>
* 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 <http://www.gnu.org/licenses/>.
+
+# 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
next prev parent reply other threads:[~2014-12-17 7:28 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-13 23:46 Doug Evans
2014-12-14 6:42 ` Yao Qi
2014-12-14 7:05 ` Doug Evans
2014-12-14 13:24 ` Joel Brobecker
2014-12-15 3:23 ` Yao Qi
2014-12-15 11:12 ` Pedro Alves
2014-12-17 7:28 ` Doug Evans [this message]
2014-12-14 13:20 ` Joel Brobecker
2014-12-14 17:23 ` Doug Evans
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3wq5qd9cd.fsf@sspiff.org \
--to=xdje42@gmail.com \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.com \
--cc=yao@codesourcery.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox