Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
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


             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