aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/testsuite/ChangeLog5
-rw-r--r--ld/testsuite/ld-sh/sh.exp9
2 files changed, 13 insertions, 1 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index e590148..7dd9075 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2001-05-28 kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * ld-sh/sh.exp: For sh-*-linux-gnu target add a start address for
+ the text section.
+
2001-05-25 Alan Modra <amodra@one.net.au>
* ld-elfvers/vers.exp: Replace linuxoldld with linux*oldld and
diff --git a/ld/testsuite/ld-sh/sh.exp b/ld/testsuite/ld-sh/sh.exp
index 41ca809..437f7ce 100644
--- a/ld/testsuite/ld-sh/sh.exp
+++ b/ld/testsuite/ld-sh/sh.exp
@@ -56,7 +56,14 @@ if ![ld_assemble $as "-relax $srcdir/$subdir/sh1.s" tmpdir/sh1.o] {
set testsrec "SH relaxing to S-records"
-if ![ld_simple_link $ld tmpdir/sh1.s1 "-relax --oformat srec tmpdir/sh1.o"] {
+if [istarget sh*-linux-gnu] {
+ # This target needs the explicit entry address.
+ catch "exec $objdump -x tmpdir/sh1 | grep start\\ address | sed s/start\\ address//" entry_addr
+ set srec_relax_arg "-Ttext $entry_addr -relax --oformat srec tmpdir/sh1.o"
+} else {
+ set srec_relax_arg "-relax --oformat srec tmpdir/sh1.o"
+}
+if ![ld_simple_link $ld tmpdir/sh1.s1 $srec_relax_arg ] {
fail $testsrec
} else {
# The file name is embedded in the S-records, so create both