* binutils-all/ar.exp (unique_symbol): New test.
authorAlan Modra <amodra@gmail.com>
Fri, 26 Mar 2010 01:42:36 +0000 (01:42 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 26 Mar 2010 01:42:36 +0000 (01:42 +0000)
binutils/testsuite/ChangeLog
binutils/testsuite/binutils-all/ar.exp

index 641bd368354e08879a557bda9981ca3a0e0efa8c..10056806f22ddf6f96f912d0a2a358f72c29829e 100644 (file)
@@ -1,3 +1,7 @@
+2010-03-26  Matt Rice  <ratmice@gmail.com>
+
+       * binutils-all/ar.exp (unique_symbol): New test.
+
 2010-02-18  Alan Modra  <amodra@gmail.com>
 
        * binutils-all/group-5.s, * binutils-all/group-5.d: New test.
        empty for testing an installed toolchain.
 
 2008-02-04  Bob Wilson  <bob.wilson@acm.org>
-       
+
        * binutils-all/objdump.exp (cpus_expected): Add xtensa.
-       
+
 2007-10-26  Alan Modra  <amodra@bigpond.net.au>
 
        * binutils-all/windres/windres.exp: Don't xfail.
        * binutils-all/readelf.ss-64: Likewise.
        * binutils-all/readelf.ss-mips: Likewise.
        * binutils-all/readelf.ss-tmips: Likewise.
-       
+
 2007-08-30  Nick Clifton  <nickc@redhat.com>
 
        * binutils-all/dumptest.s: New test file.
        * binutils-all/readelf.exp: Add test of readelf's -p switch.
 
 2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
-            Joseph Myers  <joseph@codesourcery.com>
+           Joseph Myers  <joseph@codesourcery.com>
 
        * binutils-all/ar.exp (long_filenames): Delete temporary files on
        the host.
        * lib/utils-lib.exp (run_dump_test): Support strip.
 
 2006-08-15  Thiemo Seufer  <ths@mips.com>
-            Nigel Stephens  <nigel@mips.com>
-            David Ung  <davidu@mips.com>
+           Nigel Stephens  <nigel@mips.com>
+           David Ung  <davidu@mips.com>
 
        * binutils-all/readelf.exp (readelf_test): Handle mips*-sde-elf*.
 
 
 2005-03-08  Ben Elliston  <bje@au.ibm.com>
 
-       * 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  <mkoegler@auto.tuwien.ac.at>
 
index 3ad868b1d6f7308569650569f55ea1feb139dfd8..ab1afdcb92808faa67ddc97a12d48b5fb8a6bf21 100644 (file)
@@ -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
+}