From: Hans-Peter Nilsson <hans-peter.nilsson@axis.com>
To: gdb-patches@sourceware.org
Subject: Patch, sim: fix m68hc11 and iq2000 testsuites using dejagnu baseboard files
Date: Mon, 06 Apr 2015 23:39:00 -0000 [thread overview]
Message-ID: <201504062339.t36NdMHg006262@ignucius.se.axis.com> (raw)
(I'll send a heads-up to the dejagnu list but I won't CC them
on this message as that list is subscriber-only, says
http://www.gnu.org/software/dejagnu/.)
All of a sudden (thanks to Mike) m68hc11 and iq2000 sims both
have test-suites, with a very welcome hello-world test. But,
for people expecting that to work with the corresponding
supposedly-intended dejagnu baseboard, those tests fail linking.
For iq2000, iq2000-sim.exp has:
# Special linker script needed to run C programs.
set_board_info ldscript "-Tsim.ld"
but there's no sim.ld installed with today's binutils
which is all we require for running the sim testsuite.
(I see it's in libgloss.)
For m68hc11, there's a confusingly inconsistent comment and
setting:
# No linker script needed.
set_board_info ldscript "-Wl,--script,sim-valid.x"
I'm not sure where the .x suffix comes from; libgloss would
install a sim-valid.ld. You might wonder how that gcc-specific
"-Wl,"-syntax is supposed to work with a plain linker call. The
(IMHO) ugly truth is that default_link target.exp would strip a
"-Wl,"-prefix, but it doesn't take care to *also* replace ","
with " ", so I don't think that has ever worked with plain
linker calls; those that end up in default_link calls.
Locally eliminating ldscript probably seems ugly. There's
precedent; see sim/testsuite/sim/mips/basic.exp. An alternative
would be to automatically disabling it in the first call to
run_sim_test, but that seemed just too smart.
I'm going to install the following in a day or two, unless
someone has a better alternative (excluding "stop using the
broken {iq2000,m68hc11}-sim.exp" as I don't want the sim
testsuite to *require* different parameters to the other tools).
sim/testsuite/sim/m68hc11:
* allinsn.exp: Disable baseboard ldscript variable.
sim/testsuite/sim/iq2000:
* allinsn.exp: Disable baseboard ldscript variable.
diff --git a/sim/testsuite/sim/iq2000/allinsn.exp b/sim/testsuite/sim/iq2000/allinsn.exp
index 38eee9b..414b0f8 100644
--- a/sim/testsuite/sim/iq2000/allinsn.exp
+++ b/sim/testsuite/sim/iq2000/allinsn.exp
@@ -4,6 +4,14 @@ if [istarget iq2000-*] {
# all machines
set all_machs "iq2000"
+ # For people using the dejagnu iq2000-sim.exp baseboard, it
+ # (as of dejagnu post-1.5 2015-04-06 41070790) sets a ldscript
+ # variable requiring a script "sim.ld" which does not exist in a
+ # plain binutils installation of iq2000-elf; it's in libgloss. So,
+ # as gross as it is, we locally unset the linker script specified by
+ # the target board.
+ unset_currtarget_info ldscript
+
foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.s]] {
# If we're only testing specific files and this isn't one of them,
# skip it.
diff --git a/sim/testsuite/sim/m68hc11/allinsn.exp b/sim/testsuite/sim/m68hc11/allinsn.exp
index db0cbd5..88bbc34 100644
--- a/sim/testsuite/sim/m68hc11/allinsn.exp
+++ b/sim/testsuite/sim/m68hc11/allinsn.exp
@@ -4,6 +4,17 @@ if [istarget m68hc11-*] {
# all machines
set all_machs "m68hc11"
+ # For people using the dejagnu m68hc11-sim.exp baseboard, it
+ # (as of dejagnu post-1.5 2015-04-06 41070790) sets a ldscript
+ # variable requiring a script "sim-valid.x" which does not exist in a
+ # plain binutils installation of m68hc11-elf (there's a sim-valid.ld
+ # installed with libgloss), also, with a syntax which doesn't work
+ # for default_link (would require replacing "," with " " in addition
+ # to stripping the "-Wl,"-prefix). So, as gross as it is, we keep
+ # it simple and just unset the linker script specified by the target
+ # board.
+ unset_currtarget_info ldscript
+
foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.s]] {
# If we're only testing specific files and this isn't one of them,
# skip it.
brgds, H-P
next reply other threads:[~2015-04-06 23:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-06 23:39 Hans-Peter Nilsson [this message]
2015-04-07 2:58 ` Mike Frysinger
2015-04-07 3:59 ` Hans-Peter Nilsson
2015-04-12 8:21 ` Mike Frysinger
2015-04-13 0:16 ` Hans-Peter Nilsson
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=201504062339.t36NdMHg006262@ignucius.se.axis.com \
--to=hans-peter.nilsson@axis.com \
--cc=gdb-patches@sourceware.org \
/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