From a45fc99392bdce4c67b43b1a0a05c77e7112afab Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 26 Mar 2010 01:42:36 +0000 Subject: [PATCH] * binutils-all/ar.exp (unique_symbol): New test. --- binutils/testsuite/ChangeLog | 18 ++++++++------ binutils/testsuite/binutils-all/ar.exp | 44 +++++++++++++++++++++++++++++++++- 2 files changed, 54 insertions(+), 8 deletions(-) diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index 641bd36..1005680 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2010-03-26 Matt Rice + + * binutils-all/ar.exp (unique_symbol): New test. + 2010-02-18 Alan Modra * binutils-all/group-5.s, * binutils-all/group-5.d: New test. @@ -275,9 +279,9 @@ empty for testing an installed toolchain. 2008-02-04 Bob Wilson - + * binutils-all/objdump.exp (cpus_expected): Add xtensa. - + 2007-10-26 Alan Modra * binutils-all/windres/windres.exp: Don't xfail. @@ -288,14 +292,14 @@ * binutils-all/readelf.ss-64: Likewise. * binutils-all/readelf.ss-mips: Likewise. * binutils-all/readelf.ss-tmips: Likewise. - + 2007-08-30 Nick Clifton * binutils-all/dumptest.s: New test file. * binutils-all/readelf.exp: Add test of readelf's -p switch. 2007-08-28 Mark Shinwell - Joseph Myers + Joseph Myers * binutils-all/ar.exp (long_filenames): Delete temporary files on the host. @@ -447,8 +451,8 @@ * lib/utils-lib.exp (run_dump_test): Support strip. 2006-08-15 Thiemo Seufer - Nigel Stephens - David Ung + Nigel Stephens + David Ung * binutils-all/readelf.exp (readelf_test): Handle mips*-sde-elf*. @@ -600,7 +604,7 @@ 2005-03-08 Ben Elliston - * config/default.exp: Remove send_user call for stray output. + * config/default.exp: Remove send_user call for stray output. 2005-01-04 Martin Koegler diff --git a/binutils/testsuite/binutils-all/ar.exp b/binutils/testsuite/binutils-all/ar.exp index 3ad868b..ab1afdc 100644 --- a/binutils/testsuite/binutils-all/ar.exp +++ b/binutils/testsuite/binutils-all/ar.exp @@ -1,4 +1,4 @@ -# Copyright 1995, 1997, 2002, 2004, 2007, 2008, 2009 +# Copyright 1995, 1997, 2002, 2004, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -399,6 +399,45 @@ proc deterministic_archive { } { pass $testname } +proc unique_symbol { } { + global AR + global AS + global NM + global srcdir + global subdir + + set testname "ar unique symbol in archive" + + if ![binutils_assemble $srcdir/$subdir/unique.s tmpdir/unique.o] { + unresolved $testname + } + + if [is_remote host] { + set archive artest.a + set objfile [remote_download host tmpdir/unique.o] + remote_file host delete $archive + } else { + set archive tmpdir/artest.a + set objfile tmpdir/unique.o + } + + remote_file build delete tmpdir/artest.a + + set got [binutils_run $AR "-s -r -c $archive ${objfile}"] + if ![string match "" $got] { + fail $testname + return + } + + set got [binutils_run $NM "--print-armap $archive"] + if ![string match "*foo in *unique.o*" $got] { + fail $testname + return + } + + pass $testname +} + # Run the tests. long_filenames @@ -407,3 +446,6 @@ thin_archive thin_archive_with_nested argument_parsing deterministic_archive +if [is_elf_format] { + unique_symbol +} -- 2.7.4