diff options
-rw-r--r-- | ld/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-sh/sh.exp | 9 |
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 |