OSDN Git Service

Merge branch 'binutils' into tmp
[pf3gnuchains/pf3gnuchains4x.git] / binutils / testsuite / binutils-all / objdump.exp
index d5879aa..1e2afa6 100644 (file)
@@ -1,5 +1,5 @@
 #   Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-#   2003, 2004, 2007, 2008, 2009
+#   2003, 2004, 2007, 2008, 2009, 2011
 #   Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
@@ -38,7 +38,7 @@ set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -i"]
 set cpus_expected [list]
 lappend cpus_expected alpha arc arm cris
 lappend cpus_expected d10v d30v fr30 fr500 fr550 h8 hppa i386 i860 i960 ip2022
-lappend cpus_expected m16c m32c m32r m68hc11 m68hc12 m68k m88k MCore
+lappend cpus_expected m16c m32c m32r m68hc11 m68hc12 m68k m88k MCore MicroBlaze
 lappend cpus_expected mips mn10200 mn10300 ms1 msp ns32k pj powerpc pyramid
 lappend cpus_expected romp rs6000 s390 sh sparc
 lappend cpus_expected tahoe tic54x tic80 tms320c30 tms320c4x tms320c54x v850
@@ -202,6 +202,43 @@ if { ![is_elf_format] } then {
     }
 }
 
+# Test objdump -WL on a file that contains line information for multiple files and search directories.
+# Not supported on mcore, moxie and openrisc targets because they do not (yet) support the generation
+# of DWARF2 line debug information.
+
+if { ![is_elf_format]
+     || [istarget "ia64*-*-*"]
+     || [istarget "mcore-*-*"]
+     || [istarget "moxie-*-*"]
+     || [istarget "openrisc-*-*"]
+     || [istarget "or32-*-*"]
+} then {
+    unsupported "objump decode line"
+} else {
+    if { ![binutils_assemble $srcdir/$subdir/dw2-decodedline.S tmpdir/dw2-decodedline.o] } then {
+       fail "objdump decoded line"
+    }
+
+    if [is_remote host] {
+       set decodedline_testfile [remote_download host tmpdir/dw2-decodedline.o]
+    } else {
+       set decodedline_testfile tmpdir/dw2-decodedline.o
+    }
+
+    set got [remote_exec host "$OBJDUMP $OBJDUMPFLAGS -WL $decodedline_testfile" "" "/dev/null" "objdump.out"]
+
+    if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
+       fail "objdump -WL (reason: unexpected output)"
+       send_log $got
+       send_log "\n"
+    }
+
+    if { [regexp_diff objdump.out $srcdir/$subdir/objdump.WL] } then {
+       fail "objdump -WL"
+    } else {
+       pass "objdump -WL"
+    }
+}
 
 # Options which are not tested: -a -d -D -R -T -x -l --stabs
 # I don't see any generic way to test any of these other than -a.