From f024e1550e072fdf8932f6c83e94e00626914279 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sun, 2 Jan 2011 16:04:32 +0000 Subject: Add a testcase for PR ld/12001. 2011-01-02 H.J. Lu PR ld/12001 * ld-misc/defsym.exp: New. * ld-misc/defsym1.d: Likewise. * ld-misc/dummy.s: Likewise. * ld-misc/foo.s: Likewise. * ld-misc/start.s: Likewise. --- ld/testsuite/ChangeLog | 9 +++++++++ ld/testsuite/ld-misc/defsym.exp | 37 +++++++++++++++++++++++++++++++++++++ ld/testsuite/ld-misc/defsym1.d | 9 +++++++++ ld/testsuite/ld-misc/dummy.s | 1 + ld/testsuite/ld-misc/foo.s | 6 ++++++ ld/testsuite/ld-misc/start.s | 10 ++++++++++ 6 files changed, 72 insertions(+) create mode 100644 ld/testsuite/ld-misc/defsym.exp create mode 100644 ld/testsuite/ld-misc/defsym1.d create mode 100644 ld/testsuite/ld-misc/dummy.s create mode 100644 ld/testsuite/ld-misc/foo.s create mode 100644 ld/testsuite/ld-misc/start.s (limited to 'ld') diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index db99369..27571ba 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2011-01-02 H.J. Lu + + PR ld/12001 + * ld-misc/defsym.exp: New. + * ld-misc/defsym1.d: Likewise. + * ld-misc/dummy.s: Likewise. + * ld-misc/foo.s: Likewise. + * ld-misc/start.s: Likewise. + For older changes see ChangeLog-2010 Local Variables: diff --git a/ld/testsuite/ld-misc/defsym.exp b/ld/testsuite/ld-misc/defsym.exp new file mode 100644 index 0000000..f554c2c --- /dev/null +++ b/ld/testsuite/ld-misc/defsym.exp @@ -0,0 +1,37 @@ +# Test handling of --defsym +# Copyright 2011 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. +# + +if ![ld_assemble $as $srcdir/$subdir/start.s tmpdir/start.o] { + unresolved "Build start.o" + return +} + +if ![ld_assemble $as $srcdir/$subdir/foo.s tmpdir/foo.o] { + unresolved "Build foo.o" + return +} + +if { ![ar_simple_create $ar "" tmpdir/libfoo.a tmpdir/foo.o] } { + unresolved "Build libfoo.a" + return +} + +run_dump_test "defsym1" diff --git a/ld/testsuite/ld-misc/defsym1.d b/ld/testsuite/ld-misc/defsym1.d new file mode 100644 index 0000000..9c7644a --- /dev/null +++ b/ld/testsuite/ld-misc/defsym1.d @@ -0,0 +1,9 @@ +#ld: --defsym foo=1 tmpdir/start.o tmpdir/libfoo.a +#nm: -B +#source: dummy.s + +# Check that --defsym works on archive. +#failif +#... +0.* T bar +#pass diff --git a/ld/testsuite/ld-misc/dummy.s b/ld/testsuite/ld-misc/dummy.s new file mode 100644 index 0000000..403f980 --- /dev/null +++ b/ld/testsuite/ld-misc/dummy.s @@ -0,0 +1 @@ +# Dummy diff --git a/ld/testsuite/ld-misc/foo.s b/ld/testsuite/ld-misc/foo.s new file mode 100644 index 0000000..b448f2f --- /dev/null +++ b/ld/testsuite/ld-misc/foo.s @@ -0,0 +1,6 @@ + .global foo + .global bar + .text +bar: +foo: + .byte 0 diff --git a/ld/testsuite/ld-misc/start.s b/ld/testsuite/ld-misc/start.s new file mode 100644 index 0000000..846236e --- /dev/null +++ b/ld/testsuite/ld-misc/start.s @@ -0,0 +1,10 @@ + .text + .global start /* Used by SH targets. */ +start: + .global _start +_start: + .global __start +__start: + .global main /* Used by HPPA targets. */ +main: + .long foo -- cgit v1.1