diff options
Diffstat (limited to 'binutils-2.21/ld/testsuite/ld-mep')
-rw-r--r-- | binutils-2.21/ld/testsuite/ld-mep/mep.exp | 38 | ||||
-rw-r--r-- | binutils-2.21/ld/testsuite/ld-mep/mep1.ld | 8 | ||||
-rw-r--r-- | binutils-2.21/ld/testsuite/ld-mep/mep1.s | 13 |
3 files changed, 59 insertions, 0 deletions
diff --git a/binutils-2.21/ld/testsuite/ld-mep/mep.exp b/binutils-2.21/ld/testsuite/ld-mep/mep.exp new file mode 100644 index 0000000..3c54f8f --- /dev/null +++ b/binutils-2.21/ld/testsuite/ld-mep/mep.exp @@ -0,0 +1,38 @@ +# Expect script for ld-mep tests +# Copyright 2002, 2007 Free Software Foundation, Inc. +# +# This file is part of the GNU Binutils. +# +# 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, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, +# MA 02110-1301, USA. +# +# Written by DJ Delorie (dj@redhat.com) +# + +# Test MeP linking for special cases. + +if ![istarget mep*-*-*] { + return +} + +set testbsrweak "MeP bsr to undefined weak function" + +if ![ld_assemble $as "$srcdir/$subdir/mep1.s" tmpdir/mep1.o] { + unresolved $testbsrweak +} else { if ![ld_simple_link $ld tmpdir/mep1 "-T$srcdir/$subdir/mep1.ld tmpdir/mep1.o"] { + fail $testbsrweak +} else { + pass $testbsrweak +} } diff --git a/binutils-2.21/ld/testsuite/ld-mep/mep1.ld b/binutils-2.21/ld/testsuite/ld-mep/mep1.ld new file mode 100644 index 0000000..d0a4104 --- /dev/null +++ b/binutils-2.21/ld/testsuite/ld-mep/mep1.ld @@ -0,0 +1,8 @@ +SECTIONS +{ + /* This is beyond the normal range of a PCREL24 (bsr) relocation. */ + . = 0x100000; + .text1 : { *(.text1) } + . = 0x900000; + .text2 : { *(.text2) } +} diff --git a/binutils-2.21/ld/testsuite/ld-mep/mep1.s b/binutils-2.21/ld/testsuite/ld-mep/mep1.s new file mode 100644 index 0000000..ab5414f --- /dev/null +++ b/binutils-2.21/ld/testsuite/ld-mep/mep1.s @@ -0,0 +1,13 @@ + .weak bar + + # This will be in low memory. + .section .text1,"ax" + bsr bar + jmp bar + + # This will be in high memory. + .section .text2,"ax" + # This needs special handling + bsr bar + # This shouldn't + jmp bar |