summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/binutils/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.25/binutils/testsuite')
-rw-r--r--binutils-2.25/binutils/testsuite/ChangeLog258
-rw-r--r--binutils-2.25/binutils/testsuite/ChangeLog-0411997
-rw-r--r--binutils-2.25/binutils/testsuite/ChangeLog-93031057
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/add-empty-section.d9
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/add-section.d11
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/alias-2.def2
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/alias.def2
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/ar.exp575
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/arm/objdump.exp89
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/arm/simple.s35
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/arm/thumb2-cond.s8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/bfin/objdump.exp53
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/bfin/unknown-mode.s8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/bintest.s12
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/compress.exp176
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/copy-1.d13
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/copy-1.s6
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/copy-2.d18
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/copy-3.d17
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/copy-4.d9
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/copytest.s7
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/dlltool.exp282
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/dumptest.s2
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/dw2-1.S198
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/dw2-1.W103
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/dw2-2.S195
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/dw2-compressed.S218
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/dw2-decodedline.S16
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/dw2-empty.S1
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/elfedit-1.d16
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/elfedit-2.d15
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/elfedit-3.d15
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/elfedit-4.d17
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/elfedit.exp35
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/empty-file0
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/empty.s1
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/exclude-1.s16
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/exclude-1a.d9
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/exclude-1b.d9
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/fastcall.def2
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/group-2.s8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/group-3.s8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/group-4.s6
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/group-5.d19
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/group-5.s12
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/group-6.d9
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/group-6.s4
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/group.s8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/hppa/addendbug.s23
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/hppa/freg.s23
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/hppa/objdump.exp96
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1.s147
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1a.d160
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1b.d18
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1c.d18
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/i386/i386.exp38
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/libdw2-compressed.out5
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/libdw2.out13
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/link-order.s13
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-1.d19
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-1.s36
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-2.d7
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-2.s2
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/m68k/fnop.s1
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/m68k/movem.s2
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/m68k/objdump.exp79
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/mips/mips.exp26
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-micromips.d30
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-micromips.s33
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-mips16.d30
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-mips16.s34
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/needed-by-reloc.s7
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/nm-1.s15
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/nm-elf-1.s16
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/nm.exp209
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/note-1.d13
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/objcopy.exp1006
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/objdump.W103
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/objdump.WL15
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/objdump.exp249
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/objdump.s9
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/readelf.exp361
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/readelf.h20
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/readelf.n5
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/readelf.r4
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/readelf.r-644
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/readelf.s21
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/readelf.s-6423
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/readelf.ss18
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/readelf.ss-6413
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/readelf.ss-mips15
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/readelf.ss-tmips15
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/readelf.wa27
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/size.exp82
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/strip-1.d11
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/strip-10.d8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/strip-2.d18
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/strip-3.d11
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/strip-4.d11
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/strip-5.d18
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/strip-6.d11
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/strip-7.d18
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/strip-8.d11
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/strip-9.d18
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/testprog.c31
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/testranges-ia64.d15
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/testranges-ia64.s57
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/testranges.d15
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/testranges.s61
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/unique.s4
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/unknown.s4
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/vax/entrymask.s11
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/vax/objdump.exp64
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/version.def17
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/version.s1
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/MSG00001.binbin0 -> 112 bytes
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/README33
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/bmp1.bmpbin0 -> 122 bytes
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/bmpalign.rc9
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/bmpalign.rsd38
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/capstyle.rc5
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/capstyle.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/checkbox.rc5
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/checkbox.rsd12
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/combobox.rc8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/combobox.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/deflang.rc4
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/deflang.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/dialog0.rc4
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/dialog0.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/dialog1.rc5
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/dialog1.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/dialogid.rc9
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/dialogid.rsd18
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/dialogsignature.rc5
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/dialogsignature.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/dlgfont.rc29
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/dlgfont.rsd39
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/edittext.rc4
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/edittext.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/escapea.rc7
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/escapea.rsd7
-rwxr-xr-xbinutils-2.25/binutils/testsuite/binutils-all/windres/escapex-2.rc5
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/escapex-2.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/escapex.rc4
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/escapex.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/html.rc6
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/html.rsd45
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/html1.hm11
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/html2.hm11
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/lang.rc15
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/lang.rsd10
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/listbox.rc4
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/listbox.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/messagetable.rc5
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/messagetable.rsd15
-rwxr-xr-xbinutils-2.25/binutils/testsuite/binutils-all/windres/msupdate40
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/nocaption.rc4
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/nocaption.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/printstyle.rc6
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/printstyle.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/quoteclass.rc8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/scrollbar.rc4
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/scrollbar.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/strtab1.rc8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/strtab1.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/strtab2.rc8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/strtab2.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/strtab3.rc14
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/strtab3.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/strtab4.rc10
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/strtab4.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/sublang.rc5
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/sublang.rsd8
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/version.rc32
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/version.rsd51
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/version_cat.rc32
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/version_cat.rsd55
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/version_mlang.rc43
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/version_mlang.rsd87
-rwxr-xr-xbinutils-2.25/binutils/testsuite/binutils-all/windres/version_small.rc32
-rwxr-xr-xbinutils-2.25/binutils/testsuite/binutils-all/windres/version_small.rsd51
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/windres/windres.exp141
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1.s142
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1a.d157
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1b.d18
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1c.d18
-rw-r--r--binutils-2.25/binutils/testsuite/binutils-all/x86-64/x86-64.exp34
-rw-r--r--binutils-2.25/binutils/testsuite/config/default.exp135
-rw-r--r--binutils-2.25/binutils/testsuite/config/hppa.sed4
-rw-r--r--binutils-2.25/binutils/testsuite/lib/binutils-common.exp342
-rw-r--r--binutils-2.25/binutils/testsuite/lib/utils-lib.exp558
192 files changed, 10659 insertions, 0 deletions
diff --git a/binutils-2.25/binutils/testsuite/ChangeLog b/binutils-2.25/binutils/testsuite/ChangeLog
new file mode 100644
index 00000000..6c98a137
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/ChangeLog
@@ -0,0 +1,258 @@
+2013-09-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/x86-64/compressed-1a.d: Updated for 64-bit addresses.
+
+2013-09-12 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/x86-64/compressed-1a.d: Update expected output to
+ allow for 64-bit addresses.
+
+2013-08-22 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/nm.exp: --size-sort test: Add more ELF-like
+ targets.
+ * binutils-all/nm-1.s: Use .byte instead of .long.
+ Provide a terminating symbol.
+
+2013-08-21 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * binutils-all/nm.exp: Revert last change. Instead use nm-elf-1.s
+ for mmix-knuth-mmixware.
+
+2013-08-20 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * binutils-all/nm.exp: Xfail test for nm --size-sort for
+ mmix-knuth-mmixware.
+
+2013-08-19 Tristan Gingold <gingold@adacore.com>
+
+ * binutils-all/nm.exp: Add a test for nm --size-sort
+ * binutils-all/nm-elf-1.s: New file.
+ * binutils-all/nm-1.s: New file.
+
+2013-05-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/i386/compressed-1b.d: Updated for text/data/bss
+ section alignment change.
+ * binutils-all/i386/compressed-1c.d: Likewise.
+ * binutils-all/x86-64/compressed-1b.d: Likewise.
+ * binutils-all/x86-64/compressed-1c.d: Likewise.
+
+2013-05-28 Cary Coutant <ccoutant@google.com>
+
+ * binutils-all/dw2-1.W: Adjust expected output.
+ * binutils-all/objdump.W: Likewise.
+ * binutils-all/i386/compressed-1a.d: Likewise.
+ * binutils-all/x86-64/compressed-1a.d: Likewise.
+
+2013-05-02 Nick Clifton <nickc@redhat.com>
+
+ * readelf.exp: Expect -wi test to fail for the MSP430.
+
+2013-05-01 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * lib/binutils-common.exp (is_elf_format): Also exclude
+ *-*-linux*ecoff*.
+
+2013-02-26 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/15191
+ * binutils-all/readelf.n: Updare expected output from readelf.
+
+2013-02-14 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * binutils-all/mips/mixed-mips16.s: Add missing stack adjustment.
+ * binutils-all/mips/mixed-mips16.d: Update accordingly.
+
+2013-02-13 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * binutils-all/mips/mixed-micromips.d: New test.
+ * binutils-all/mips/mixed-mips16.d: New test.
+ * binutils-all/mips/mixed-micromips.s: New test source.
+ * binutils-all/mips/mixed-mips16.s: New test source.
+ * binutils-all/mips/mips.exp: New file.
+
+2012-12-17 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/windres/README: Add copyright notice.
+
+2012-11-27 Roland McGrath <mcgrathr@google.com>
+
+ * lib/binutils-common.exp (is_zlib_supported): New function.
+ * lib/utils-lib.exp (run_dump_test): If as options include
+ --compress-debug-sections and zlib is not available, report
+ the test as unsupported.
+ * binutils-all/compress.exp: Bail out if zlib is not available.
+ * binutils-all/objdump.exp (objdump compressed debug):
+ Mark unsupported if zlib is not available.
+ * binutils-all/readelf.exp (readelf_compressed_wa_test): Likewise.
+
+2012-11-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/14567
+ * binutils-all/ar.exp (bfdtest1): Removed.
+ (long_filenames): Take bfdtests.
+ (thin_archive): Likewise.
+ (thin_archive_with_nested): Likewise.
+ (bfdtests): New.
+ Pass $bfdtests to long_filenames, thin_archive and
+ thin_archive_with_nested.
+
+2012-10-29 Alan Modra <amodra@gmail.com>
+
+ * binutils-all/copy-3.d: Exclude all cygwin and mingw targets,
+ and rs6000.
+
+2012-10-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/ar.exp (bfdtest1): Remove findfile.
+
+2012-10-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/dw2-1.W: Updated.
+
+2012-10-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/compress.exp: Add an objdump test.
+ * binutils-all/dw2-1.W: New file.
+
+2012-08-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/ar.exp (long_filenames): Remove extra verbose
+ before binutils_run.
+ (thin_archive): Likewise.
+ (thin_archive_with_nested): Likewise. Also run bfdtest1 on
+ $archive2.
+
+2012-08-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/14481
+ * ar.exp (bfdtest1): New.
+ (long_filenames): Run bfdtest1.
+ (thin_archive): Likewise.
+ (thin_archive_with_nested): Likewise.
+
+2012-08-13 Ian Bolton <ian.bolton@arm.com>
+ Laurent Desnogues <laurent.desnogues@arm.com>
+ Jim MacArthur <jim.macarthur@arm.com>
+ Marcus Shawcroft <marcus.shawcroft@arm.com>
+ Nigel Stephens <nigel.stephens@arm.com>
+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Richard Earnshaw <rearnsha@arm.com>
+ Sofiane Naci <sofiane.naci@arm.com>
+ Tejas Belagod <tejas.belagod@arm.com>
+ Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * objdump.exp: Add AArch64.
+
+2012-08-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/14420
+ * binutils-all/i386/compressed-1a.d: Updated.
+ * binutils-all/objdump.W: Likewise.
+ * binutils-all/readelf.wa: Likewise.
+ * binutils-all/x86-64/compressed-1a.d: Likewise.
+
+2012-07-28 Kai Tietz <ktietz@redhat.com>
+
+ * binutils-all/windres/version_small.rc: New test.
+ * binutils-all/windres/version_small.rsd: Likewise.
+
+2012-07-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/14319
+ * binutils-all/compress.exp: Test compress empty debug sections.
+
+ * binutils-all/dw2-empty.S: New file.
+
+2012-06-07 Thomas Schwinge <thomas@codesourcery.com>
+
+ * binutils-all/i386/i386.exp: Don't skip for x86_64-*-linux*.
+
+2012-05-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/hppa/objdump.exp: Expect addend as signed.
+
+2012-05-17 Alan Modra <amodra@gmail.com>
+
+ * binutils-all/objdump.W: Update.
+ * binutils-all/readelf.wa: Update.
+ * binutils-all/i386/compressed-1a.d: Update.
+ * binutils-all/x86-64/compressed-1a.d: Update.
+
+2012-05-16 Meador Inge <meadori@codesourcery.com>
+
+ * binutils-all/arm/objdump.exp:
+ STMFD/LDMIA sp!, {reg} don't disassemble to PUSH/POP {reg} any longer.
+
+2012-04-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/13947
+ * binutils-all/i386/compressed-1b.d: Remove empty REL section.
+ * binutils-all/i386/compressed-1c.d: Likewise.
+
+ * binutils-all/x86-64/compressed-1b.d: Remove empty RELA
+ section.
+ * binutils-all/x86-64/compressed-1c.d: Likewise.
+
+2012-04-03 Roland McGrath <mcgrathr@google.com>
+
+ * lib/binutils-common.exp (is_elf_format): Consider *-*-nacl* to
+ be ELF too.
+
+ * binutils-all/elfedit-4.d: Add "#as: --64" option.
+
+ * binutils-all/i386/i386.exp: Accept nacl targets too.
+ * binutils-all/x86-64/x86-64.exp: Likewise.
+
+2012-03-13 Hans-Peter Nilsson <hp@axis.com>
+
+ PR binutils/3807
+ * binutils-all/objcopy.exp (localize-hidden-1): Correct xfailed
+ mips-targets.
+
+2012-02-25 Walter Lee <walt@tilera.com>
+
+ * binutils-all/objdump.exp (cpus_expected): Add tilegx.
+
+2012-02-14 Alan Modra <amodra@gmail.com>
+
+ * binutils-all/dlltool.exp: Add setup_xfail.
+
+ * binutils-all/dw2-decodedline.S: Always have whitespace before
+ directives.
+ * binutils-all/version.s: Likewise.
+ * binutils-all/objdump.exp (dw2-decodedline): Don't run for
+ hppa64*-*-hpux*, i370-*-*, i960-*-*.
+
+2012-02-11 Kai Tietz <ktietz@redhat.com>
+
+ * binutils-all/version.def: New file.
+ * binutils-all/dlltool.exp: Add version-dll test.
+
+2012-02-02 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/readelf.n: Add #pass to cope with targets that add
+ their own notes.
+
+2012-02-01 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/13482
+ * binutils-all/version.s: New test source file.
+ * binutils-all/readelf.n: New file: expected readelf output.
+ * binutils-all/readelf.exp: Add test of .note section contents.
+
+For older changes see ChangeLog-0411
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/binutils-2.25/binutils/testsuite/ChangeLog-0411 b/binutils-2.25/binutils/testsuite/ChangeLog-0411
new file mode 100644
index 00000000..5c9cc241
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/ChangeLog-0411
@@ -0,0 +1,997 @@
+2011-11-25 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/objdump.exp (cpus): Add MicroBlaze.
+ (objdump -WL): Skip this test on MCore, Moxie and OpenRisc
+ targets.
+
+ * binutils-all/objcopy.exp (localize-hidden-1): Expect this test
+ to fail on MIPS based targets.
+
+2011-10-25 Kai Tietz <ktietz@redhat.com>
+
+ * binutils-all/windres/strtab4.rc: New test.
+ * binutils-all/windres/strtab4.rsd: Likewise.
+
+2011-10-11 Chris <player1@onet.eu>
+
+ PR binutils/13051
+ * binutils-all\windres\version.rsd: Regenerate.
+ * binutils-all\windres\version_cat.rsd: Regenerate.
+ * binutils-all\windres\version_mlang.rc: Add new test.
+ * binutils-all\windres\version_mlang.rsd: Likewise.
+
+2011-10-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/objdump.exp: Don't run dw2-decodedline.S on ia64.
+
+2011-10-04 Carlos O'Donell <carlos@codesourcery.com>
+
+ * binutils-all/dw2-decodedline.S: New file.
+ * binutils-all/objdump.WL: New file.
+ * binutils-all/objdump.exp: Update copyright year.
+ New test case for -WL.
+
+2011-09-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * binutils-all/elfedit-4.d: Give test a unique name.
+
+2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/13180
+ * binutils-all/group-6.d: New.
+ * binutils-all/group-6.s: Likewise.
+
+ * binutils-all/objcopy.exp: Run group-6 for ELF targrts.
+
+2011-07-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/elfedit.exp: Run elfedit-4.
+
+ * binutils-all/elfedit-4.d: New.
+
+2011-06-30 Bernd Schmidt <bernds@codesourcery.com>
+
+ * binutils-all/objcopy.exp (strip_test, strip_executable):
+ On ELF targets, test that OS/ABI is preserved.
+ (copy_setup): Do test on tic6x-*-uclinux.
+
+2011-06-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/elfedit-1.d: Updated for x32.
+
+2011-05-18 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/12753
+ * lib/utils-lib.exp (run_dump_test): Allow nm as a program.
+ * binutils-all/nm.exp: Test running "nm -g" on an object file
+ containing a unique symbol.
+
+2011-05-13 Alan Modra <amodra@gmail.com>
+
+ * binutils-all/objcopy.exp objcopy_text): Remove xfails for sh-rtems
+ and tic4x.
+
+2011-05-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/12720
+ * binutils-all/ar.exp (delete_an_element): New.
+ (move_an_element): Likewise.
+ Run delete_an_element and move_an_element.
+
+2011-04-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/x86-64/compressed-1a.d: Adjust for change in output
+ format.
+
+2011-04-29 Hans-Peter Nilsson <hp@axis.com>
+
+ * binutils-all/i386/compressed-1a.d: Adjust for change in output
+ format.
+
+2011-04-28 Tom Tromey <tromey@redhat.com>
+
+ * binutils-all/objdump.W: Correct output.
+
+011-04-11 Kai Tietz
+
+ * binutils-all/windres/windres.exp: Add '// cpparg <option>' command
+ to rc file interpretation to specify addition pre-processor commands
+ as script option.
+ * binutils-all/windres/strtab3.rc: New.
+ * binutils-all/windres/strtab3.rsd: New.
+ * binutils-all/windres/README: Add note about cpparg script option.
+ argument
+
+2011-04-11 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/arm/simple.s: Fix assembly problems for COFF based
+ ARM toolchaisn by removing .type and .size directives.
+
+2011-04-07 Paul Carroll<pcarroll@codesourcery.com>
+
+ * binutils-all/arm/simple.s: Demo issue with objdump with
+ multiple input files
+ * binutils-all/arm/objdump.exp: added new ARM test case code
+
+2011-04-06 Joseph Myers <joseph@codesourcery.com>
+
+ * binutils-all/objcopy.exp (*arm*-*-coff): Change to arm*-*-coff.
+ (xscale-*-coff, thumb*-*-coff, thumb*-*-pe): Don't handle.
+
+2011-03-31 Bernd Schmidt <bernds@codesourcery.com>
+
+ * lib/binutils-common.exp (is_elf_format): Accept tic6x*-*-uclinux*.
+
+2011-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * lib/binutils-common.exp (regexp_diff): Use "==" instead of "eq".
+
+2010-12-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * binutils-all/copy-2.d: Change "hppa" to "hppa*" in not-target list.
+ * binutils-all/copy-3.d: Add hppa*-*-hpux* to not-target list.
+ * binutils-all/objcopy.exp (reverse-bytes): xfail on 32-bit hpux.
+
+2010-12-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * binutils-all/readelf.exp: Handle MIPS FreeBSD targets.
+
+2010-12-09 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * lib/binutils-common.exp (regexp_diff): Implement inverse
+ matching, requested by `!'.
+
+2010-11-20 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lib/binutils-common.exp (regexp_diff): New procedure.
+ * lib/utils-lib.exp (regexp_diff): Delete.
+
+2010-11-20 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lib/binutils-common.exp: New file.
+ * lib/utils-lib.exp (load_common_lib): New function. Load
+ binutils-common.exp.
+ (is_elf_format): Delete.
+
+2010-11-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/compress.exp: Replace binutils_assemble with
+ binutils_assemble_flags for --nocompress-debug-sections.
+
+2010-11-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/compress.exp: Pass --nocompress-debug-sections to
+ assembler for uncompressed debug sections.
+
+ * binutils-all/testranges.d: Also expect .zdebug in section name.
+
+2010-11-08 Thomas Schwinge <thomas@schwinge.name>
+
+ * lib/utils-lib.exp (is_elf_format): Consider for *-*-gnu*, too.
+ * binutils-all/elfedit-2.d (target): Likewise.
+ * binutils-all/elfedit-3.d (target): Likewise.
+ * binutils-all/i386/i386.exp: Likewise.
+ * binutils-all/objcopy.exp: Likewise.
+ * binutils-all/strip-3.d (target): Likewise.
+
+2010-11-08 Alan Modra <amodra@gmail.com>
+
+ * binutils-all/objdump.W: Adjust expected result for debug section
+ rename.
+
+2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/libdw2.out: Also accept MIPS_DWARF.
+
+2010-10-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/compress.exp: New.
+ * binutils-all/dw2-1.S: Likewise.
+ * binutils-all/dw2-2.S: Likewise.
+ * binutils-all/libdw2-compressed.out: Likewise.
+ * binutils-all/libdw2.out: Likewise.
+
+2010-10-22 Mark Mitchell <mark@codesourcery.com>
+
+ * binutils-all/group-5.d: Expect ".group" for the name of group
+ sections.
+ * binutils-all/strip-2.d: Likewise.
+
+2010-10-12 Andreas Schwab <schwab@linux-m68k.org>
+
+ * binutils-all/m68k/objdump.exp: Add fnop test.
+ * binutils-all/m68k/fnop.s: New file.
+
+2010-09-29 Alan Modra <amodra@gmail.com>
+
+ * lib/utils-lib.exp (is_elf_format): Merge with gas and ld versions.
+
+2010-09-23 Alan Modra <amodra@gmail.com>
+
+ * binutils-all/ar.exp: Don't run unique_symbol on msp or hpux.
+ * binutils-all/copy-2.d: Update not-target list.
+ * binutils-all/note-1.d: Don't run on h8300.
+ * binutils-all/objcopy.exp: Don't run strip-10 on msp or hpux.
+ (objcopy_test): Remove h8300-rtems from xfails.
+
+2010-09-16 Alan Modra <amodra@gmail.com>
+
+ * binutils-all/i386/i386.exp: Don't run on linuxaout.
+
+2010-09-10 Ben Gardiner <bengardiner@nanometrics.ca>
+
+ * binutils-all/objcopy.exp: Add test of new --interleave-width
+ option.
+
+2010-09-03 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * binutils-all/objdump.W: Update DW_OP_reg5 expected output.
+
+2010-08-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/elfedit-3.d: New.
+
+ * binutils-all/elfedit.exp: Run elfedit-3.
+
+2010-07-19 Andreas Schwab <schwab@redhat.com>
+
+ * binutils-all/readelf.s: Ignore "Key to Flags" contents.
+ * binutils-all/readelf.s-64: Likewise.
+ * binutils-all/i386/compressed-1b.d: Likewise.
+ * binutils-all/i386/compressed-1c.d: Likewise.
+ * binutils-all/x86-64/compressed-1b.d: Likewise.
+ * binutils-all/x86-64/compressed-1c.d: Likewise.
+
+2010-07-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/i386/compressed-1a.d: Fix a typo.
+ * binutils-all/i386/compressed-1b.d: Likewise.
+ * binutils-all/i386/compressed-1c.d: Likewise.
+ * binutils-all/x86-64/compressed-1a.d: Likewise.
+ * binutils-all/x86-64/compressed-1b.d: Likewise.
+ * binutils-all/x86-64/compressed-1c.d: Likewise.
+
+2010-07-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/default.exp (binutils_assemble): Use
+ default_binutils_assemble_flags.
+ (binutils_assemble_flags): New.
+
+ * lib/utils-lib.exp (default_binutils_assemble): Renamed to ...
+ (default_binutils_assemble_flags): This. Add asflags and
+ pass it to target_assemble.
+ (run_dump_test): Support assembler flags.
+
+ * binutils-all/i386/compressed-1.s: New.
+ * binutils-all/i386/compressed-1a.d: Likewise.
+ * binutils-all/i386/compressed-1b.d: Likewise.
+ * binutils-all/i386/compressed-1c.d: Likewise.
+ * binutils-all/i386/i386.exp: Likewise.
+ * binutils-all/x86-64/compressed-1.s: Likewise.
+ * binutils-all/x86-64/compressed-1a.d: Likewise.
+ * binutils-all/x86-64/compressed-1b.d: Likewise.
+ * binutils-all/x86-64/compressed-1c.d: Likewise.
+ * binutils-all/x86-64/x86-64.exp: Likewise.
+
+2010-07-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/10531
+ PR gas/11789
+ * binutils-all/objdump.W: Remove bogus line debug info.
+
+2010-05-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/11600
+ * binutils-all/objcopy.exp: Run exclude-1a and exclude-1b for
+ ELF targets.
+
+ * binutils-all/exclude-1.s: New.
+ * binutils-all/exclude-1a.d: Likewise.
+ * binutils-all/exclude-1b.d: Likewise.
+
+2010-04-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/dlltool.exp: Add a missing `"'.
+
+2010-04-27 Kai Tietz <kai.tietz@onevision.com>
+
+ * binutils-all/dlltool.exp: Allow test for
+ arm-wince-pe target.
+
+2010-03-30 Kai TIetz <kai.tietz@onevision.com>
+
+ * binutils-all/objcopy.exp: Mark simple copy executable
+ as failing for all *-*-mingw32* targets.
+
+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.
+ * binutils-all/objcopy.exp: Run it.
+
+2010-02-01 Nathan Sidwell <nathan@codesourcery.com>
+
+ * binutils-all/note-1.d: New.
+ * binutils-all/objcopy.exp: Add it.
+
+2010-01-30 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * binutils-all/windres/html.rc: Don't xfail x86_64-*-mingw*.
+ * binutils-all/windres/lang.rc: Likewise.
+ * binutils-all/windres/messagetable.rc: Likewise.
+ * binutils-all/windres/strtab1.rc: Likewise.
+ * binutils-all/windres/strtab2.rc: Likewise.
+ * binutils-all/windres/version.rc: Likewise.
+ * binutils-all/windres/version_cat.rc: Likewise.
+
+2010-01-19 Ian Lance Taylor <iant@google.com>
+
+ * lib/utils-lib.exp (run_dump_test): Permit option values to use
+ $srcdir to refer to the source directory.
+ * binutils-all/add-section.d: New test.
+ * binutils-all/add-empty-section.d: New test.
+ * binutils-all/empty-file: New test input file.
+ * binutils-all/objcopy.exp: Run new tests.
+
+2010-01-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/elfedit-2.d: New.
+
+ * binutils-all/elfedit.exp: Run elfedit-2.
+
+2010-01-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/11131
+ * binutils-all/elfedit-1.d: New.
+ * binutils-all/elfedit.exp: Likewise.
+
+ * config/default.exp (ELFEDIT): New. Set if it doesn't exist.
+ (ELFEDITFLAGS): Likewise.
+
+ * lib/utils-lib.exp (run_dump_test): Support elfedit.
+
+2009-10-28 Kai Tietz <kai.tietz@onevision.com>
+
+ * binutils-all/dlltool.exp: Add tests for --no-leading-underscore
+ and --leading-underscore option for dlltool.
+
+2009-10-23 Kai Tietz <kai.tietz@onevision.com>
+
+ * binutils-all/dlltool.exp: Add new test.
+ * binutils-all/alias-2.def: New file.
+
+2009-10-18 Vincent Rivière <vincent.riviere@freesbee.fr>
+
+ * binutils-all/copy-2.d: Exclude more aout targets.
+ * binutils-all/copy-3.d: Likewise.
+
+2009-09-23 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/readelf.s: Tolerate some whitespace differences.
+ * binutils-all/readelf.s-64: Likewise.
+ * binutils-all/readelf.ss: Likewise.
+ * binutils-all/readelf.ss-64: Likewise.
+ * binutils-all/readelf.ss-mips: Likewise.
+ * binutils-all/readelf.ss-tmips: Likewise.
+ * binutils-all/strip-10.d: Likewise.
+
+2009-09-08 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/objdump.exp (cpus_expected): Add ms1.
+
+2009-09-07 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * binutils-all/testranges.s (.debug_info): Pad the only CU.
+
+2009-09-07 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * binutils-all/testranges.s: Replace all .long by .4byte.
+
+2009-09-04 DJ Delorie <dj@redhat.com>
+
+ * binutils-all/objdump.exp: Add m16c and m32c to the list of
+ expected cpus.
+
+2009-09-02 Jie Zhang <jie.zhang@analog.com>
+
+ * binutils-all/bfin/unknown-mode.s: New test.
+ * binutils-all/bfin/objdump.exp: New test.
+
+2009-08-17 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/strip-10.d: Accept "<OS specific>: 10" for the type
+ of the UNIQUE symbol.
+
+2009-08-07 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * binutils-all/testranges.s: Use %progbits. Use ";#" for comments.
+
+2009-08-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/10492
+ * binutils-all/objcopy.exp: Run strip-10.
+
+ * binutils-all/strip-10.d: New.
+ * binutils-all/unique.s: Likewise.
+
+2009-07-31 Daniel Gutson <dgutson@codesourcery.com>
+ Daniel Jacobowitz <dan@codesourcery.com>
+
+ * binutils-all/arm/thumb2-cond.s: Use instructions instead of
+ .short.
+
+2009-07-29 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/testranges.s: Replace .value with .short.
+
+2009-07-16 Dave Korn <dave.korn.cygwin@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/objcopy.exp: Run testranges and testranges-ia64
+ for ELF targets only.
+
+2009-07-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/objcopy.exp; Run testranges-ia64.
+
+ * binutils-all/testranges.d: Don't run for ia64.
+
+ * binutils-all/testranges-ia64.d: New.
+ * binutils-all/testranges-ia64.s: Likewise.
+
+2009-07-14 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * binutils-all/objcopy.exp (testranges): New test.
+ * binutils-all/testranges.d, binutils-all/testranges.s: New files.
+
+2009-06-25 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * binutils-all/objcopy.exp: Move XFAIL from objcopy_test to
+ copy_executable.
+
+2009-06-25 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * binutils-all/objcopy.exp: Always treat objcopy_test as XFAIL on
+ cygwin.
+
+2009-04-16 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/localize-hidden-1.s: Use "==" instead of ".set".
+ * binutils-all/localize-hidden-2.s: Likewise.
+
+2009-04-02 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * inutils-all/objcopy.exp (strip_executable): Delete remote dest
+ file before downloading.
+ (strip_executable_with_saving_a_symbol): Likewise.
+ (keep_debug_symbols_and_test_copy): Likewise.
+
+2009-03-11 Joseph Myers <joseph@codesourcery.com>
+
+ * binutils-all/objdump.W, binutils-all/objdump.s: Don't match
+ literal "tmpdir/" in expected output.
+
+2009-03-11 Chris Demetriou <cgd@google.com>
+
+ * binutils-all/ar.exp (deterministic_archive): New test.
+
+2009-03-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/9933
+ * binutils-all/copy-4.d: New.
+
+ * binutils-all/objcopy.exp: Run copy-4.
+
+2009-03-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/hppa.sed: Fix spelling.
+
+2009-03-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * binutils-all/localize-hidden-1.s: Change .equ to .set.
+ * binutils-all/localize-hidden-2.s: Likewise.
+
+2009-01-29 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/objdump.W: Do not assume that high and low PC
+ addresses will have been computed.
+
+2008-10-06 Tom Tromey <tromey@redhat.com>
+
+ * binutils-all/objdump.W: Update.
+
+2008-10-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/group.s: Updated.
+ * binutils-all/group-2.s: Likewise.
+ * binutils-all/group-3.s: Likewise.
+ * binutils-all/group-4.s: Likewise.
+ * binutils-all/strip-7.d: Likewise.
+ * binutils-all/strip-9.d: Likewise.
+
+2008-10-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/group-4.s: New.
+ * binutils-all/strip-8.d: Likewise.
+ * binutils-all/strip-9.d: Likewise.
+
+ * binutils-all/objcopy.exp: Test objcopy on group-4.s. Run
+ strip-8 and strip-9.
+
+2008-10-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/group-3.s: New.
+ * binutils-all/strip-6.d: Likewise.
+ * binutils-all/strip-7.d: Likewise.
+
+ * binutils-all/objcopy.exp: Test objcopy on group-3.s. Run
+ strip-6 and strip-7.
+
+2008-10-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/group-2.s: New.
+ * binutils-all/strip-4.d: Likewise.
+ * binutils-all/strip-5.d: Likewise.
+
+ * binutils-all/objcopy.exp: Test objcopy on group-2.s. Run
+ strip-4 and strip-5.
+
+2008-07-26 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/objdump.exp: Run compressed debug test only for ELF.
+
+2008-07-11 Hans-Peter Nilsson <hp@axis.com>
+
+ * binutils-all/objdump.W: Generalize to adjust for targets with
+ non-byte-size instructions.
+
+2008-07-09 Craig Silverstein <csilvers@google.com>
+
+ * binutils-all/objdump.exp: Add test for objdump -s on a file
+ with a compressed debug section. Add test for objdump -W on a
+ file that contains a compressed debug section.
+ * binutils-all/readelf.exp: Call readelf_compressed_wa_test.
+ (readelf_compressed_wa_test): New function.
+ * binutils-all/dw2-compressed.S: New file.
+ * binutils-all/objdump.W: New file.
+ * binutils-all/objdump.s: New file.
+ * binutils-all/readelf.wa: New file.
+
+2008-07-08 Kai Tietz <kai.tietz@onevision.com>
+
+ * binutils-all/objcopy.exp (copy_setup): Check if host-triplet
+ is target-triplet for execution tests.
+ (copy_executable): Likewise.
+ (strip_executable): Likewise.
+ (strip_executable_with_saving_a_symbol): Likewise.
+
+2008-05-29 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * binutils-all/objcopy.exp: Call KEEP_DEBUG_SYMBOLS_AND_TEST_COPY.
+ (keep_debug_symbols_and_test_copy): New function.
+ (test5, test6): New variables.
+
+2008-03-27 Cary Coutant <ccoutant@google.com>
+
+ * binutils-all/ar.exp: Add thin archive tests.
+
+2008-02-26 Joseph Myers <joseph@codesourcery.com>
+
+ * config/default.exp (gcc_gas_flag, dlltool_gas_flag): Define to
+ 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.
+
+2007-10-16 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/readelf.ss: Accept COMMON in readelf's output.
+ * 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>
+
+ * binutils-all/ar.exp (long_filenames): Delete temporary files on
+ the host.
+ * binutils-all/arm/objdump.exp: Only check "which $OBJDUMP" if
+ host is local.
+ * binutils-all/objcopy.exp: Use ${srecfile} to get the name of the
+ srec file to be passed to binutils_run.
+ (objcopy_test_readelf): Use remote_exec.
+ * binutils-all/readelf.exp (readelf_find_size): Use remote_exec.
+ (readelf_test): Likewise.
+ (readelf_wi_test): Likewise.
+ * lib/utils-lib.exp (run_dump_test): Only check "which $binary" if
+ host is local. Use remote_exec. Use $tempfile not
+ tmpdir/bintest.o.
+
+2007-08-09 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/copy-2.d (not-target): Match *-*-*aout.
+ * binutils-all/copy-3.d (not-target): Likewise.
+ * binutils-all/objcopy.exp (objcopy_test): Remove extraneous
+ setup_xfail.
+ * windres/windres.exp: Return unsupported rather than fail if
+ windows.h not found.
+
+2007-07-05 Nick Clifton <nickc@redhat.com>
+
+ * lib/utils-lib.exp: Update copyright notice to refer to GPLv3.
+ * config/default.exp, binutils-all/ar.exp,
+ binutils-all/dlltool.exp, binutils-all/nm.exp,
+ binutils-all/objcopy.exp, binutils-all/arm/objdump.exp,
+ binutils-all/hppa/objdump.exp, binutils-all/m68k/objdump.exp,
+ binutils-all/vax/objdump.exp, binutils-all/windres/windres.exp,
+ binutils-all/windres/msupdate: Likewise.
+
+2007-06-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/strip-3.d: Also strip .xtensa.info section.
+
+2007-05-24 Kai Tietz <Kai.Tietz@onevision.com>
+
+ * binutils-all/windres/version_cat.rc: New.
+ * binutils-all/windres/version_cat.rsd: New.
+
+2007-05-23 Kai Tietz <Kai.Tietz@onevision.com>
+
+ * binutils-all/windres/html.rc: New.
+ * binutils-all/windres/html.rsd: New.
+ * binutils-all/windres/html1.hm: New.
+ * binutils-all/windres/html2.hm: New.
+ * binutils-all/windres/messagetable.rc: New.
+ * binutils-all/windres/messagetable.rsd: New.
+ * binutils-all/windres/MSG00001.bin: New.
+ * binutils-all/windres/strtab2.rc: New.
+ * binutils-all/windres/strtab2.rsd: New.
+ * binutils-all/windres/version.rc: New.
+ * binutils-all/windres/version.rsd: New.
+ * binutils-all/windres/dialog.rsd: Fix expected results.
+
+2007-05-17 Joseph Myers <joseph@codesourcery.com>
+
+ * binutils-all/strip-3.d: Strip .pdr section.
+
+2007-05-15 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/objcopy.exp: Only run needed-by-reloc test for ELF.
+
+2007-05-11 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/needed-by-reloc.s: Use .long rather than .4byte.
+
+2007-05-08 Mark Shinwell <shinwell@codesourcery.com>
+
+ * binutils-all/strip-3.d: Strip .ARM.attributes and .reginfo
+ sections.
+
+2007-05-02 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/objcopy.exp (copy_setup): Don't perror, use send_log.
+ (copy_executable): Return early if test2 is blank.
+ Return unsupported rather than unresolved if we can't run
+ executables. Do test1 if we can compile.
+
+2007-04-24 Nathan Froyd <froydnj@codesourcery.com>
+ Phil Edwards <phil@codesourcery.com>
+
+ * binutils-all/objcopy.exp: Add test for stripping a symbol
+ used in a relocation.
+ * binutils-all/needed-by-reloc.s: New file.
+
+2007-04-20 Nathan Froyd <froydnj@codesourcery.com>
+ Phil Edwards <phil@codesourcery.com>
+ Thomas de Lellis <tdel@windriver.com>
+
+ * binutils-all/objcopy.exp: Add test for --reverse-bytes.
+
+2007-04-21 Richard Earnshaw <rearnsha@arm.com>
+
+ * binutils-all/readelf.exp (regexp_diff): Delete.
+
+2007-04-20 Richard Earnshaw <rearnsha@arm.com>
+
+ * binutils-all/arm/thumb2-cond.s: Allow for tab expansion by the pty.
+ Rename the second test.
+
+2007-04-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/4348
+ * binutils-all/empty.s: New file.
+ * binutils-all/strip-3.d: Likewise.
+
+ * binutils-all/objcopy.exp: Run strip-3 for ELF target.
+
+2007-02-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * binutils-all/objcopy.exp: Skip for uclinux targets.
+
+2007-02-14 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/readelf.exp (readelf_wi_test): Fix unexpected
+ output failure message.
+
+2007-01-08 Kai Tietz <kai.tietz@onevision.com>
+
+ * copy-3.d: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*
+ * dlltool.exp: Dito
+ * lang.rc: Dito
+ * strtab1.rc: Dito
+ * windres.exp: Dito
+
+2006-09-20 Kai Tietz <Kai.Tietz@onevision.com>
+
+ * binutils-all/copy-3.d: Add support for target x86_64-pc-mingw64.
+ * binutils-all/dlltool.exp: Likewise.
+ * binutils-all/objcopy.exp: Likewise.
+ * binutils-all/windres/windres.exp: Likewise.
+ * binutils-all/windres/lang.rc: xfail it as long as there is no windows.h.
+ * binutils-all/windres/strtab1.rc: Likewise.
+ * lib/utils-lib.exp: Adjust executable prefix detection (as .exe).
+
+2006-09-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/3181
+ * binutils-all/objcopy.exp: Run strip-1 and strip-2 for ELF
+ targets.
+
+ * binutils-all/strip-1.d: New file.
+ * binutils-all/strip-2.d: Likewise.
+
+ * 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>
+
+ * binutils-all/readelf.exp (readelf_test): Handle mips*-sde-elf*.
+
+2006-06-24 Richard Sandiford <richard@codesourcery.com>
+
+ * binutils-all/localize-hidden-1.d: Use objdump --syms instead
+ of readelf.
+
+2006-06-23 Richard Sandiford <richard@codesourcery.com>
+
+ * binutils-all/localize-hidden-1.s,
+ * binutils-all/localize-hidden-1.d,
+ * binutils-all/localize-hidden-2.s,
+ * binutils-all/localize-hidden-2.d: New tests.
+ * binutils-all/objcopy.exp: Run them.
+
+2006-06-06 Paul Brook <paul@codesourcery.com>
+
+ * binutils-all/arm/objdump.exp: New file.
+ * binutils-all/arm/thumb2-cond.s: New test.
+
+2006-05-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/copy-3.d: Fix a typo.
+
+2006-05-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/copy-3.d: New.
+
+ * objcopy.exp: Run copy-3.
+
+2006-05-02 Dave Korn <dave.korn@artimi.com>
+
+ * binutils-all/copy-1.d (name): Correct spelling of 'setting'.
+ * binutils-all/copy-1.d (name): Likewise.
+
+2006-05-02 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/copy-2.d: Change the name of the section whose
+ flags are changed to "foo" so that the test will work with PE
+ based targets. Skip this test for AOUT based targeted.
+ * binutils-all/copytest.s: New file.
+
+2006-05-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/objcopy.exp: Run "copy-1" for ELF only.
+
+2006-05-01 Ben Elliston <bje@au.ibm.com>
+
+ * binutils-all/objcopy.exp (objcopy_test_readelf): Remove stray ;
+
+2006-04-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/2593
+ * binutils-all/copy-1.d: New file.
+ * binutils-all/copy-1.s: Likewise.
+ * binutils-all/copy-2.d: Likewise.
+
+ * binutils-all/objcopy.exp: Add run_dump_test "copy-1" and
+ run_dump_test "copy-2".
+
+ * lib/utils-lib.exp (run_dump_test): New.
+ (slurp_options): Likewise.
+ (regexp_diff): Likewise.
+ (file_contents): Likewise.
+ (verbose_eval): Likewise.
+
+2006-04-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/2467
+ * binutils-all/objcopy.exp (strip_test): Also test "strip -g"
+ on archive.
+
+2006-04-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * lib/utils-lib.exp (default_binutils_run): Check exit status.
+
+2005-12-24 Ben Elliston <bje@gnu.org>
+
+ * config/default.exp: Do not load the unneeded util-defs.exp.
+
+2005-11-15 Jan Beulich <jbeulich@novell.com>
+
+ * config/default.exp (link_or_copy): New. Use it for setting
+ up assembler and linker for the compiler to use.
+
+2005-10-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/251
+ * binutils-all/group.s: New file.
+
+ * binutils-all/objcopy.exp (objcopy_test_readelf): New
+ procedure.
+ Use it to test ELF group.
+
+2005-10-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/1487
+ * binutils-all/objcopy.exp (objcopy_test): New procedure.
+ Use it to test simple copy, ia64 link order and ELF unknown
+ section type.
+
+ * binutils-all/unknown.s: New file.
+
+2005-10-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/1321
+ * binutils-all/link-order.s: New.
+
+ * binutils-all/objcopy.exp: Check ia64 link order.
+
+2005-10-11 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * binutils-all/windres/escapex-2.rc: New file.
+ * binutils-all/windres/escapex-2.rsd: Generate.
+
+2005-08-26 Christian Groessler <chris@groessler.org>
+
+ * binutils-all/objcopy.exp: Don't setup_xfail "z8*-*".
+
+2005-08-18 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/objcopy.exp: Remove a29k support.
+ * binutils-all/objdump.exp: Likewise, alliant and convex too.
+
+2005-05-07 Nick Clifton <nickc@redhat.com>
+
+ * Update the address and phone number of the FSF organization in
+ the GPL notices in the following files:
+ binutils-all/ar.exp, binutils-all/dlltool.exp,
+ binutils-all/nm.exp, binutils-all/objcopy.exp,
+ binutils-all/objdump.exp, binutils-all/readelf.exp,
+ binutils-all/size.exp, binutils-all/hppa/objdump.exp,
+ binutils-all/m68k/objdump.exp, binutils-all/vax/objdump.exp,
+ binutils-all/windres/msupdate, binutils-all/windres/windres.exp,
+ config/default.exp, lib/utils-lib.exp
+
+2005-04-04 Jan-Benedict Glaw <jbglaw@lug-owl.>
+
+ * binutils-all/vax/objdump.exp: Condense the two tests into one
+ and add a "-M entry:" for the second label.
+
+2005-03-29 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * binutils-all/vax: New directory.
+ * binutils-all/vax/objdump.exp: New script. Test the -Mentry:
+ switch added to the VAX disassembler.
+ * binutils-all/vax/entrymask.s: New assembler source file.
+
+2005-03-08 Ben Elliston <bje@au.ibm.com>
+
+ * config/default.exp: Remove send_user call for stray output.
+
+2005-01-04 Martin Koegler <mkoegler@auto.tuwien.ac.at>
+
+ * binutils-all/testprog.c: Add prototype for printf() and make
+ type of "string" array be "char" in order to avoid compile time
+ warnings.
+
+2004-12-31 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/readelf.ss: Allow for both .rel and .rela sections.
+
+2004-11-04 Hans-Peter Nilsson <hp@axis.com>
+
+ * binutils-all/objdump.exp (cpus_expected): Append cris.
+
+2004-10-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/dlltool.exp: Set XFAIL if $target_xfail is yes.
+
+2004-10-23 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
+
+ * binutils-all/alias.def: New file.
+ * binutils-all/dlltool.exp: Two new -p tests.
+ * config/default.exp (dlltool_gas_flag): New variable.
+ Copy gas and lds executables into tmpdir/gas directory rather than
+ making symlinks which might not be supported by the host OS.
+ Attempt to handle the case where the host OS does not use the .exe
+ extension but the target OS does.
+ * lib/utils-lib.exp (exe_ext): New procedure.
+
+2004-07-12 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/dlltool.exp: Check that the -p switch is not
+ rejected.
+
+2004-07-09 Andreas Schwab <schwab@suse.de>
+
+ * binutils-all/m68k/movem.s: New file.
+
+ * binutils-all/m68k/objdump.exp: New file.
+
+2004-05-15 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/readelf.ss: Allow for ARM mapping symbols.
+
+2004-05-12 Ben Elliston <bje@au.ibm.com>
+
+ * binutils-all/ar.exp: Remove stray semicolons.
+ * binutils-all/dlltool.exp: Likewise.
+ * binutils-all/objcopy.exp: Likewise.
+ * binutils-all/readelf.exp: Likewise.
+ * binutils-all/windres/windres.exp: Likewise.
+ * lib/utils-lib.exp: Likewise.
+
+2004-04-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * binutils-all/readelf.ss-mips: Allow named section symbols.
+
+2004-03-30 Jakub Jelinek <jakub@redhat.com>
+
+ * binutils-all/objcopy.exp: Accept main as a data symbol as well.
+
+2004-02-27 Andreas Schwab <schwab@suse.de>
+
+ * binutils-all/ar.exp (argument_parsing): New test.
+
+2004-02-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * binutils-all/objcopy.exp: Reorder arguments for POSIXLY_CORRECT
+ systems.
+
+For older changes see ChangeLog-9303
+
+Copyright (C) 2004-2011 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/binutils-2.25/binutils/testsuite/ChangeLog-9303 b/binutils-2.25/binutils/testsuite/ChangeLog-9303
new file mode 100644
index 00000000..54061d31
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/ChangeLog-9303
@@ -0,0 +1,1057 @@
+2003-12-03 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/objdump.exp (cpus_expected): Add "msp".
+
+2003-10-06 Dave Brolley <brolley@redhat.com>
+
+ * binutils-all/objdump.exp (cpu_expected): Add fr550.
+
+2003-09-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/readelf.exp: Use is_elf_format.
+
+ * binutils-all/readelf.h: Support IA64/ILP32.
+ * binutils-all/readelf.s: Likewise.
+ * binutils-all/readelf.ss: Likewise.
+
+ * lib/utils-lib.exp (proc is_elf_format): Copy from ld
+ testsuite. Add ia64-*-hpux*.
+
+2003-06-29 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * binutils-all/objcopy.exp: Initialise $test_prog to
+ testprog.exe on mingw targeted systems too.
+
+2003-06-28 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * binutils-all/windres/checkbox.rc: New file.
+ * binutils-all/windres/checkbox.rsd: New file.
+ * binutils-all/windres/combobox.rc: New file.
+ * binutils-all/windres/combobox.rsd: New file.
+ * binutils-all/windres/edittext.rc: New file.
+ * binutils-all/windres/edittext.rsd: New file.
+ * binutils-all/windres/listbox.rc: New file.
+ * binutils-all/windres/listbox.rsd: New file.
+ * binutils-all/windres/scrollbar.rc: New file.
+ * binutils-all/windres/scrollbar.rsd: New file.
+
+2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * binutils-all/readelf.ss-tmips: Adjust symbol indices.
+
+2003-06-19 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/objcopy.exp: Replace occurances of testprog with
+ $test_prog. Initialise this variable to testprog.exe on Cygwin
+ targeted systems.
+
+2003-04-26 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/readelf.exp (prune_read_warnings): Rename to
+ prune_readelf_wi_warnings.
+ (readelf_wi_test): New proc: Test 'readelf -wi' by grepping
+ through its output.
+ Replace invocation of "readelf_test -wi" with "readelf_wi_test"
+ * binutils-all/readelf.wi: Delete.
+
+2003-04-23 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/readelf.exp (proc prune_readelf_warnings): New
+ function.
+ (proc readelf_test): Prune warning messages.
+ (readelf_test -wi): Add more expected failures.
+ * binutils-all/readelf.wi: Severly reduce expected output.
+ * binutils-all/testprog.c (string): Explicitly use unsigned
+ chars.
+ (stdio.h, string.h): Remove inclusion.
+
+2003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * binutils-all/readelf.wi: Update.
+
+2003-04-22 Dimitrie O. Paun <dpaun@rogers.com>
+
+ * binutils-all/windres/windres.exp: Add test for the new -J
+ option. Remove use of -I as it now generates a warning message.
+
+2003-04-03 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/windres/dialogid.rc: Replace "Static" with
+ "classname" so that compilation will match behaviour of the
+ Windows resource compiler.
+
+2003-03-31 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/windres/dialogid.rc: New test source file.
+ * binutils-all/windres/dialogid.rsd: New test expected results.
+
+2002-11-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
+
+ * binutils-all/dlltool.exp: New file for testing dlltool.
+ * binutils-all/fastcall.def: New file for testing fastcall
+ exports.
+ * config/default.exp: Set DLLTOOL variable.
+
+2002-08-27 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/objcopy.exp: Revert last change.
+
+2002-08-26 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/objcopy.exp (strip_test): Adjust for "no symbols" on
+ stdout.
+ (strip_executable): Likewise.
+
+2002-08-13 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/objdump.exp (cpus_expected): Add fr500, ip2022,
+ tic80, tms320c30.
+ * binutils-all/objcopy.exp (simple copy): Revise xfails.
+
+2002-05-29 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/objcopy.exp (strip_test_with_saving_a_symbol):
+ Revert 2001-11-15. Instead allow `D main'.
+
+2002-04-16 Eric Kohl <ekohl@rz-online.de>
+
+ * binutils-all/windres/dialog0.rc: New test case: Check default
+ attributes for dialogs
+ * binutils-all/windres/dialog0.rsd: New file: Expected output.
+ * binutils-all/windres/dialog1.rc: New test case: Check
+ DISCARDABLE flag is propogated.
+ * binutils-all/windres/dialog1.rsd: New file: Expected output.
+
+2002-04-15 Eric Kohl <ekohl@rz-online.de>
+
+ * binutils-all/windres/dlgfont.rc: New test case: Checks FONT
+ statement in DIALOG and DIALOGEX resources.
+ * binutils-all/windres/dlgfont.rsd: Expected output.
+
+2002-04-11 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * binutils-all/ar.exp (long_filenames): Use 'file delete' instead
+ of 'exec rm -f'.
+
+2002-04-10 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * binutils-all/ar.exp (long_filenames): Delete the abc... files
+ upon successfully completion of the test.
+
+ * binutils-all/windres/capstyle.rsd: Regenerate using MSVC.
+ * binutils-all/windres/deflang.rsd: Regenerate using MSVC.
+ * binutils-all/windres/dialogsignature.rsd: Regenerate using MSVC.
+ * binutils-all/windres/escapea.rsd: Regenerate using MSVC.
+ * binutils-all/windres/escapex.rsd: Regenerate using MSVC.
+ * binutils-all/windres/nocaption.rsd: Regenerate using MSVC.
+ * binutils-all/windres/printstyle.rsd: Regenerate using MSVC.
+ * binutils-all/windres/sublang.rsd: Regenerate using MSVC.
+
+2002-04-09 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * binutils-all/windres/capstyle.rc: New test case: Set default
+ style for captions.
+ * binutils-all/windres/capstyle.rsd: Expected output.
+
+ * binutils-all/windres/deflang.rc: New test case: Check default
+ language.
+ * binutils-all/windres/deflang.rsd: Expected output.
+
+ * binutils-all/windres/dialogsignature.rc: New test case for
+ decoding the dialog signature.
+ * binutils-all/windres/dialogsignature.rsd: Expected output.
+
+ * binutils-all/windres/escapea.rc: New test case for encoding \a
+ escape sequence.
+ * binutils-all/windres/escapea.rsd: Expected output.
+
+ * binutils-all/windres/escapex.rc: New test case for hex constants
+ in strings.
+ * binutils-all/windres/escapex.rsd: Expected output
+
+ * binutils-all/windres/nocaption.rc: New test case dialogs without
+ captions.
+ * binutils-all/windres/nocaption.rsd: Expected output
+
+ * binutils-all/windres/quoteclass.rc: New test case for quoted
+ CLASS definitions in DIALOG resources.
+
+ * binutils-all/windres/sublang.rc: New test case: Check assignment
+ of sub-language.
+ * binutils-all/windres/sublang.rsd: Expected output.
+
+2002-02-18 Timothy Daly <remote_bob@yahoo.com>
+
+ * binutils-all/readelf.r: Change expected output to match new,
+ narrowed-to-80-chars format.
+ * binutils-all/readelf.r-64: Change expected output to match new,
+ narrowed-to-80-chars format.
+
+2002-02-18 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * binutils-all/objcopy.exp
+ (strip_executable_with_saving_a_symbol): Prune symbol Main in nm
+ output for mmix-knuth-mmixware.
+
+2002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * binutils-all/readelf.ss-mips: Do not expect an explicit
+ ordering of the sections.
+
+2002-02-10 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * binutils-all/objdump.exp: Add 'xscale' to the list of expected
+ CPUs.
+
+2002-01-14 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * binutils-all/objcopy.exp: Expect xscale-coff to fail simple
+ objcopy test for the same reason as arm-coff.
+
+2001-11-29 H.J. Lu <hjl@gnu.org>
+
+ * binutils-all/objcopy.exp (strip_test): Add strip on archive.
+
+2001-11-15 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/objcopy.exp: (strip_test_with_saving_a_symbol):
+ Allow '? main', to suit powerpc64.
+
+2001-11-14 Geoffrey Keating <geoffk@redhat.com>
+
+ * binutils-all/readelf.exp: powerpc-*-eabi* is an ELF target.
+
+2001-10-03 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * binutils-all/readelf.exp: Exclude mips*-*-elf* from 'readelf -wi'
+ test.
+
+Tue Sep 4 20:25:41 2001 Jeffrey A Law (law@cygnus.com)
+
+ * binutils/all/readelf.exp: Expect readelf -wi to
+ fail for the H8 series.
+
+2001-08-27 Alan Modra <amodra@bigpond.net.au>
+
+ * binutils-all/readelf.s-64: Adjust offsets for powerpc64. Don't
+ use constructs like [45][08] when all combinations are not valid.
+ Instead use (48|50) to explicitly state which values are correct.
+
+2001-08-21 H.J. Lu <hjl@gnu.org>
+
+ * binutils-all/readelf.r: Updated for the readelf change.
+
+ * binutils-all/readelf.r-64: New for the readelf change.
+
+2001-07-27 H.J. Lu <hjl@gnu.org>
+
+ * binutils-all/windres/windres.exp: Don't set xfail for
+ bmpalign (compare) on none-ix86/pe targets.
+
+2001-07-24 H.J. Lu <hjl@gnu.org>
+
+ * binutils-all/windres/windres.exp: Set xfail on none-ix86/pe
+ targets.
+
+2001-07-18 DJ Delorie <dj@redhat.com>
+
+ * config/default.exp (WINDRES): Add.
+ * binutils-all/windres/windres.exp: New.
+ * binutils-all/windres/README: New.
+ * binutils-all/windres/bmp1.bmp: New.
+ * binutils-all/windres/bmpalign.rc: New.
+ * binutils-all/windres/bmpalign.rsd: New.
+ * binutils-all/windres/lang.rc: New.
+ * binutils-all/windres/lang.rsd: New.
+ * binutils-all/windres/msupdate: New.
+ * binutils-all/windres/strtab1.rc: New.
+ * binutils-all/windres/strtab1.rsd: New.
+
+2001-07-05 Ben Elliston <bje@redhat.com>
+
+ * lib/utils-lib.exp (target_assemble): Remove duplicate copy.
+ (default_target_assemble): Likewise.
+
+2001-06-18 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * binutils-all/readelf.exp: Typo.
+
+2001-06-19 Andreas Jaeger <aj@suse.de>
+
+ * binutils-all/readelf.r: Don't check for specific info value to
+ pass testsuite on ia64 and alpha.
+
+2001-06-07 H.J. Lu <hjl@gnu.org>
+
+ * binutils-all/readelf.ss-mips: Support stabs.
+ * binutils-all/readelf.ss-tmips: Likewise.
+
+2001-05-25 H.J. Lu <hjl@gnu.org>
+
+ * binutils-all/readelf.exp (readelf_test): Set target_machine
+ to tmips for traditional mips.
+
+ * binutils-all/readelf.s: Support traditional mips.
+
+ * binutils-all/readelf.ss-tmips: New for traditional mips.
+
+2001-05-25 Alan Modra <amodra@one.net.au>
+
+ * binutils-all/readelf.exp: Replace linuxoldld with linux*oldld
+ and linuxaout with linux*aout.
+ * binutils-all/objcopy.exp: Remove xfail for linuxaout.
+
+2001-05-24 H.J. Lu <hjl@gnu.org>
+
+ * binutils-all/objdump.exp (cpus_expected): Add s390.
+
+2001-03-30 H.J. Lu <hjl@gnu.org>
+
+ * binutils-all/readelf.exp: Run on more ELF targets.
+
+2001-02-11 H.J. Lu <hjl@gnu.org>
+
+ * config/default.exp: Set up gcc_gas_flag.
+
+ * binutils-all/objcopy.exp (copy_setup): Process gcc_gas_flag
+ for Linux only.
+
+ * binutils-all/testprog.c: Include <string.h> and don't use
+ exit ().
+
+2001-01-16 Matthew Green <mrg@redhat.com>
+
+ * binutils-all/readelf.s-64: Match readelf -S output.
+
+2000-12-09 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/objdump.exp (cpus_expected): Add tic54x and
+ tms320c54x.
+
+2000-11-28 Hans-Peter Nilsson <hp@axis.com>
+
+ * binutils-all/readelf.s: Adjust to readelf.c formatting changes.
+
+2000-11-02 Chris Demetriou <cgd@sibyte.com>
+
+ * binutils-all/readelf.exp (regexp_diff): Add code
+ from gas testsuite to treat "#..." at beginning of line
+ as an indicator to skip extra non-matching lines at that
+ location.
+ (readelf_test): Add support for using a machine-specific
+ regexp comparison file.
+ (readelf -S test, readelf -s test): Remove v850*-*-* and
+ mips*-*-* from list of expected failures.
+ * binutils-all/readelf.s: Accomodate changes due to
+ additional sections (and therefore section numbering
+ differences) on v850*-*-* and mips*-*-* targets.
+ * binutils-all/readelf.ss: Likewise.
+ * binutils-all/readelf.ss-mips: New file, which matches
+ expected output of readelf -s test for mips*-*-*.
+
+2000-10-25 Hans-Peter Nilsson <hp@axis.com>
+
+ * binutils-all/readelf.exp (-wi test): Add cris-*-* to xfails.
+
+2000-10-19 Chris Demetriou <cgd@sibyte.com>
+
+ * binutils-all/readelf.exp (readelf_test): Work properly
+ when multiple targets expect failtures.
+ (readelf -S test, readelf -s test): Expect mips*-*-*
+ to fail.
+
+2000-07-10 Alan Modra <alan@linuxcare.com.au>
+
+ * lib/utils-lib.exp (default_binutils_assemble): Don't do the hppa
+ sed fudges for hppa-linux.
+
+2000-07-01 Frank Ch. Eigler <fche@redhat.com>
+
+ * binutils-all/objdump.exp (cpus_expected, cpus_regex): Reorganize
+ syntax to display more tcl nature.
+
+2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
+
+ * binutils-all/objdump.exp (cpus_expected): Recognize m68hc11 and
+ m68hc12.
+
+2000-06-18 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/readelf.wi: Do not assume the compilation tag to be
+ unit 1.
+
+ * binutils-all/objcopy.exp: Expect all arm variants to fail the
+ copying executable test.
+
+2000-06-14 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * binutils-all/readelf.exp (regexp_diff): Do not break when a
+ mismatching line is found.
+ (readelf_find_size): New.
+ (readelf_size): New global variable.
+ (readelf_test): Add newline to send_log of command.
+ If $srcdir/$subdir/$regexp_file-$readelf_size exists, use it
+ instead of $srcdir/$subdir/$regexp_file.
+ (*-*elf test): Fix typo in message.
+ * binutils-all/readelf.s-64: New.
+ * binutils-all/readelf.ss-64: New.
+
+2000-05-02 Alan Modra <alan@linuxcare.com.au>
+
+ * binutils-all/objcopy.exp (simple copy): Clear xfail for hppa-linux.
+
+ * binutils-all/hppa/objdump.exp: Disable test for elf.
+
+2000-03-13 Nick Clifton <nickc@cygnus.com>
+
+ * binutils-all/readelf.s: Adjust to match new format of readelf
+ output.
+ * binutils-all/readelf.ss: Adjust to match new format of readelf
+ output.
+
+1999-11-01 Nick Clifton <nickc@cygnus.com>
+
+ * binutils-all/objcopy.exp: Expect simple objcopy test to fail
+ for COFF based ARM and Thumb ports.
+
+Tue Sep 14 00:28:17 1999 Jeffrey A Law (law@cygnus.com)
+
+ * binutils-all/hppa/objdump.exp: Do not run for PA64.
+
+1999-09-04 Steve Chamberlain <sac@pobox.com>
+
+ * binutils-all/objdump.exp: Add pj to cpus_expected.
+
+Sat Aug 28 00:24:27 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+
+ * binutils-all/hppa/freg.s: New file.
+ * binutils-all/hppa/objdump.exp: Add freg.s test.
+
+1999-08-09 Ian Lance Taylor <ian@zembu.com>
+
+ * binutils-all/objcopy.exp: Add setup_xfail for simple copy test
+ for i*86-*-msdos*.
+
+1999-07-21 H.J. Lu <hjl@gnu.org>
+
+ * binutils-all/testprog.c: Include <stdio.h>.
+
+1999-06-29 Nick Clifton <nickc@cygnus.com>
+
+ * binutils-all/objdump.exp: Add fr30 and MCore to expected cpus
+ list.
+
+ * binutils-all/readelf.r: Do not assume a fixed number of spaces
+ in the output.
+
+1999-06-10 Nick Clifton <nickc@cygnus.com>
+
+ * binutils-all/readelf.wi: Update to match latest output.
+ * binutils-all/readelf.h: Update to match latest output.
+
+Wed Jun 9 11:59:22 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
+
+ * binutils-all/objdump.exp: Tighten regexp to match `objdump -i'
+ output to avoid massive exponential behaviour.
+
+1999-05-28 Ian Lance Taylor <ian@zembu.com>
+
+ * binutils-all/readelf.h: Update for changes of 1999-04-08.
+
+1999-03-12 Nick Clifton <nickc@cygnus.com>
+
+ * binutils-all/readelf.wi: Remove FR30 specific components.
+ * binutils-all/readelf.s: Remove RELA specific components.
+
+1999-02-16 Nick Clifton <nickc@cygnus.com>
+
+ * binutils-all/readelf.s: Do not assume section alignment is 4.
+ * binutils-all/readelf.r: Do not assume rela's are being used.
+ * binutils-all/readelf.exp: disable tests for non ELF based
+ targets.
+
+1999-02-02 Nick Clifton <nickc@cygnus.com>
+
+ * binutils-all/readelf.wi: Amend to match new readelf output.
+ * binutils-all/readelf.r: Do not assume that RELAs will be used.
+
+1999-01-29 Nick Clifton <nickc@cygnus.com>
+
+ * config/default.exp: Add definitions of READELF and READELFFLAGS.
+
+ * binutils-all/readelf.exp: New file: Readelf tests
+ * binutils-all/readelf.h: New file: Expected results for 'readelf -h'
+ * binutils-all/readelf.s: New file: Expected results for 'readelf -S'
+ * binutils-all/readelf.ss: New file: Expected results for 'readelf -s'
+ * binutils-all/readelf.r: New file: Expected results for 'readelf -r'
+ * binutils-all/readelf.wi: New file: Expected results for 'readelf -wi'
+
+Wed Dec 9 19:11:39 1998 Jeffrey A Law (law@cygnus.com)
+
+ * binutils-all/objcopy.exp (copy_executable): Expect comparison
+ failure for mips*-*-elf.
+
+Fri Oct 16 22:57:12 1998 Felix Lee <flee@cygnus.com>
+
+ * binutils-all/objcopy.exp: fix "no symbols" message.
+
+Tue Jul 28 15:14:04 1998 Jeffrey A Law (law@cygnus.com)
+
+ * binutils-all/objcopy.exp: Keep "main" and "_main" for strip with
+ saving symbol tests. Look for either "main" or "_main" in the output
+ file. Fix test for "no symbols" in the output file.
+
+1998-07-22 Vladimir N. Makarov <vmakarov@cygnus.com>
+
+ * binutils-all/objcopy.exp: Polish output about fail for objcopy
+ (simple copy), strip with/without saving a symbol for object file
+ and executable.
+
+Wed Jul 1 16:27:40 1998 Nick Clifton <nickc@cygnus.com>
+
+ * binutils-all/objcopy.exp: ARM simple objcopy now passes.
+
+Wed Jun 24 09:20:21 1998 Nick Clifton <nickc@cygnus.com>
+
+ * binutils-all/objdump.exp: Look for '.data' rather than 'data'
+ when parsing output of objdump -h.
+ * binutils-all/size.exp: Look for '.data' rather than 'data' when
+ parsing output of size -A.
+
+1998-07-20 Vladimir N. Makarov <vmakarov@cygnus.com>
+
+ * binutils-all/objcopy.exp: Two new tests - strip object file with
+ saving a symbol and strip executable file with saving a symbol.
+
+Fri May 29 14:50:24 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: Don't xfail the simple objcopy test
+ when cross compiling.
+
+Thu Nov 6 14:32:37 1997 Bob Manson <manson@charmed.cygnus.com>
+
+ * lib/utils-lib.exp: Temporary definition of target_assemble and
+ default_target_assemble so that testing can work with older
+ dejagnu versions.
+
+Wed Sep 24 12:09:15 1997 Bob Manson <manson@charmed.cygnus.com>
+
+ * binutils-all/objcopy.exp(strip_executable): Make a new copy of
+ the executable being tested.
+
+Mon Sep 15 21:25:20 1997 Bob Manson <manson@charmed.cygnus.com>
+
+ * binutils-all/objcopy.exp: Compile the executables to be tested
+ on the target with a status wrapper (as necessary).
+
+ * binutils-all/ar.exp: If testing on a remote host, don't bother
+ looking on the local host for the program being tested. Use the
+ correct filenames on the remote host.
+
+ * binutils-all/nm.exp: Ditto.
+
+ * binutils-all/size.exp: Ditto.
+
+ * binutils-all/objdump.exp: Ditto.
+ (cpus_expected): Add the target CPU to the regexp of CPUs to be
+ expected, if it's not already there.
+
+Thu Aug 28 09:57:27 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * binutils-all/objdump.exp (cpus_expected): Add arc.
+
+Tue Aug 5 00:03:20 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * config/default.exp: Look for nm-new and strip-new.
+
+Tue Jun 3 17:12:54 1997 Bob Manson <manson@charmed.cygnus.com>
+
+ * config/default.exp: Remove expect_before statement.
+
+ * binutils-all/objcopy.exp: Don't use global exec_output variable;
+ the output is returned from remote_load instead.
+
+Mon May 12 22:14:20 1997 Bob Manson <manson@charmed.cygnus.com>
+
+ * binutils-all/objcopy.exp(strip_test): Tests that
+ fail to compile are untested, not unresolved.
+ (copy_setup): Ditto.
+
+ * lib/utils-lib.exp(default_binutils_assemble): Call
+ target_assemble instead of target_compile.
+
+Wed Apr 30 20:37:51 1997 Bob Manson <manson@charmed.cygnus.com>
+
+ Changes to support multilib and remote hosted testing, along with
+ general cleanups and simplifications.
+
+ * lib/utils-lib.exp(binutil_version): Use remote_exec.
+ (default_binutils_run): Ditto.
+ (default_binutils_assemble): Remove first argument; call
+ target_compile to actually do the assembly.
+ (default_binutils_compile,default_binutils_remove,prune_warnings):
+ Delete.
+
+ * config/default.exp: Remove AS and ASFLAGS.
+ (binutils_compile,binutils_remove): Delete.
+ (binutils_assemble): Remove first argument.
+
+ * binutils-all/ar.exp: See if we're running the tests on
+ a remote host, and download/upload files as appropriate.
+ Replace calls to binutils_remove with remote_file. Replace
+ calls to binutils_compile with target_compile. Remove initial
+ argument to binutils_assemble. Use remote_load to execute
+ programs on the target.
+ * binutils-all/nm.exp: Ditto.
+ * binutils-all/objcopy.exp: Ditto.
+ * binutils-all/objdump.exp: Ditto.
+ * binutils-all/size.exp: Ditto.
+
+Mon Apr 14 12:36:41 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/ar.exp (long_filenames): Check for a file system
+ with a 14 character file name length limit.
+
+Tue Apr 1 09:52:15 1997 Jeffrey A Law (law@cygnus.com)
+
+ * binutils-all/objdump.exp: Handle d10v.
+
+Fri Feb 7 16:45:34 1997 Bob Manson <manson@charmed.cygnus.com>
+
+ * binutils-all/ar.exp: Use prune_warnings instead of
+ prune_system_crud.
+ * binutils-all/objcopy.exp: Ditto.
+
+Wed Jan 29 00:16:43 1997 Bob Manson <manson@charmed.cygnus.com>
+
+ * binutils-all/nm.exp: Use / between $srcdir and $subdir.
+ * binutils-all/objcopy.exp: Ditto.
+ * binutils-all/objdump.exp: Ditto.
+ * binutils-all/size.exp: Ditto.
+ * binutils-all/hppa/objdump.exp: Ditto.
+
+
+Wed Oct 16 22:57:59 1996 Jeffrey A Law (law@cygnus.com)
+
+ * binutils-all/objdump.exp: Add mn10200 and mn10300 to expected
+ cpus list.
+
+Tue Oct 1 15:06:55 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * lib/utils-lib.exp (binutil_version): Fix for current version
+ printing.
+
+Sun Aug 4 22:25:40 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: Fix end of line matching in srec tests
+ to work with TCL 7.5.
+
+Sat Jun 29 12:51:30 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: Simple copy test works for i960 b.out
+ targets.
+
+Mon Jun 24 14:33:04 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: On OSF/1, the simple copy test will
+ succeed with gas, and fail with /bin/as, so mark it as an expected
+ failure only if it fails.
+
+Tue Mar 26 16:55:08 1996 Jeffrey A Law (law@cygnus.com)
+
+ * binutils-all/objcopy.exp: No longer expect adjust-section-vma
+ test to fail for hppa*-*-proelf*.
+
+Mon Mar 11 08:25:14 1996 Jeffrey A Law (law@cygnus.com)
+
+ * binutils-all/objdump.exp: Look for "$CODE$", not just "CODE".
+
+Wed Jan 31 11:55:13 1996 Jeffrey A Law (law@cygnus.com)
+
+ * binutils-all/objcopy.exp: Expect adjust-section-vma tests to
+ fail for hppa*-*-proelf* targets.
+
+Thu Jan 25 13:53:04 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objdump.exp: Update for objdump -h format change.
+ * binutils-all/objcopy.exp: Likewise.
+
+Mon Jan 15 18:14:14 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: Use the lma, not the vma, when testing
+ address adjustments.
+
+Fri Dec 15 16:31:55 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objdump.exp: Update objdump -i test for current
+ objdump output.
+
+Mon Nov 27 15:15:09 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: Correct fail calls to always use the
+ same string as the pass call.
+
+Wed Nov 22 13:18:58 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * lib/utils-lib.exp (prune_system_crud): Discard -g -O warnings
+ from native compilers on OSF/1 and SunOS.
+
+Fri Nov 17 10:36:09 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * lib/utils-lib.exp (default_binutils_compiler: Change error
+ message to say compilation rather than assembly.
+
+Wed Nov 15 18:34:42 1995 Ken Raeburn <raeburn@cygnus.com>
+
+ * binutils-all/objcopy.exp: Simple copy test does appear to work
+ on i*86-svr4.
+
+Wed Nov 15 12:19:28 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: If assembly fails, call unresolved.
+ Test running objcopy and strip on a final executable.
+ * binutils-all/testprog.c: New file.
+ * config/default.exp (STRIP, STRIPFLAGS): Define.
+ (binutils_compile): New procedure.
+ * lib/utils-lib.exp (default_binutils_compile): New procedure.
+
+Fri Nov 3 13:22:33 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * lib/utils-lib.exp (default_binutils_run): Don't use verbose
+ -log, reverting part of Oct 2 change.
+
+Wed Nov 1 15:09:57 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
+
+ * binutils-all/objcopy.exp: Add setup_xfails for
+ m68*-motorola-sysv* and m88*-motorola-sysv*.
+
+Wed Oct 4 14:38:31 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/nm.exp: Add setup_xfails for XCOFF.
+
+Mon Oct 2 12:41:48 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/ar.exp: New file.
+ * binutils-all/bintest.s: Make text_symbol and data_symbol global.
+ Add new static symbols static_text_symbol and static_data_symbol.
+ * binutils-all/nm.exp: Adjust accordingly.
+ * config/default.exp (AR): Set if not set.
+ (binutils_remove): New procedure.
+ * lib/utils-lib.exp (default_binutils_run): Call
+ prune_system_crud on program output. Use verbose -log instead of
+ both verbose and send_log.
+ (default_binutils_remove): New procedure.
+
+ * lib/utils-lib.exp (default_binutils_assemble): Call
+ prune_system_crud on assembler output.
+
+Tue Sep 26 14:07:05 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: Add setup_xfails for simple copy test
+ for i386 COFF targets.
+
+Wed Sep 13 13:20:21 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * lib/utils-lib.exp (prune_system_crud): Define if not defined.
+ * binutils-all/objcopy.exp: Call prune_system_crud on cmp output.
+
+Sat Aug 19 17:38:06 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: Add xfail for i*86-*-aout* for simple
+ copy test.
+
+Wed Aug 16 16:52:53 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/nm.exp: Add setup_xfail for mips*-sony-bsd* for
+ tests which fail on ECOFF targets.
+
+ * binutils-all/objcopy.exp: Change i*86-*-linux xfail for simple
+ copy test to check for i*86-*-linuxaout* instead.
+
+Tue Aug 8 17:48:37 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: Add setup_xfail for a29k-*-vxworks*
+ for simple copy test.
+
+Tue Jul 25 11:57:12 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: Change setup_xfail for simple copy
+ test from i960-*-vxworks5.1 to i960-*-vxworks*.
+
+Mon Jul 10 12:25:46 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: Add setup_xfail for z8*-*-coff for
+ simple copy test.
+ * binutils-all/objdump.exp (cpus_expected): Add z8001 and z8002.
+
+Sun May 21 20:32:53 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * binutils-all/hppa/objdump.exp (addendbug): Handle PA ELF targets
+ too.
+ * binutils-all/objcopy.exp (simple copy): Don't expect PA ELF
+ targets to fail.
+
+Tue Apr 4 14:52:08 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * binutils-all/hppa: Renamed from binutils-hppa.
+
+Wed Mar 29 12:02:43 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: Add setup_xfail for simple copy test
+ for h8500-*-hms and h8500-*-coff.
+
+Tue Mar 28 11:18:28 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: Add setup_xfail for simple copy test
+ for m68*-ericsson-ose and m88*-*-coff.
+
+Mon Mar 27 11:27:31 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objcopy.exp: Add setup_xfail for simple copy test
+ for m68*-*-vxworks*.
+
+Fri Mar 24 11:44:25 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-hppa/objdump.exp: Correct hppa*-*-* check.
+
+Tue Mar 21 10:48:45 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * binutils-hppa/addendbug.s: New testcase.
+ * binutils-hppa/objdump.exp: Run it.
+
+Mon Mar 20 11:31:05 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * lib/utils-lib.exp (default_binutils_run): Quote any dollar signs
+ in progargs before passing it to exec.
+
+Fri Mar 17 16:39:31 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * config/hppa.sed: Sed script to transform bintest.s into proper
+ PA assembly code.
+ * binutils-all/nm.exp: Enable these tests on the PA.
+ * binutils-all/objcopy.exp: Enable these tests on the PA. Expect
+ simple copy to fail.
+ * binutils-all/objdump.exp: Enable these tests on the PA. Handle
+ "CODE" as a section name.
+ * binutils-all/size.exp: Enable these tests on the PA.
+ * lib/utils-lib.exp (default_binutils_assemble): For "hppa*-*-*",
+ run the assembly through a sed script before passing it to the
+ assembler.
+
+Wed Mar 15 16:47:13 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/objdump.exp: Force section sizes to be interpreted
+ in hex. Change objdump -h failure mode to always use the same
+ string.
+
+Thu Jan 5 13:01:43 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * binutils-all/nm.exp: Just check for irix4*, rather than
+ irix\[0-4\]*, to avoid DejaGnu bug.
+
+Thu Dec 15 19:35:31 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * binutils-all/objcopy.exp: Expect simple-objcopy test to fail
+ for various other targets for which gas doesn't use bfd: sh-hms,
+ m68k-hpux, m68k-sunos, m68k-coff, i386-linux, a29k-udi, a29k-coff,
+ i960-vxworks5.1, i960-coff, h8300-hms, h8300-coff.
+
+Wed Dec 14 15:54:46 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * binutils-all/size.exp: Skip tests requiring bintest.o on hppa,
+ since it (correctly) generates syntax errors on that platform.
+ * binutils-all/objdump.exp: Ditto.
+ * binutils-all/nm.exp: Ditto.
+ * binutils-all/objcopy.exp: Ditto. Also, move setup_xfail for
+ sh-coff to branch where objcopy execution produced no error
+ messages. Expect failure for hp300 also.
+
+Thu Dec 8 14:36:15 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * binutils-all/objdump.exp (cpus_expected): New variable, taken
+ from objdump -i test, added ns32k and powerpc, sorted.
+ (objdump -i, -f tests): Use $cpus_expected.
+
+ * binutils-all/objcopy.exp: For simple-copy test, expect failure
+ for sh-coff.
+
+Tue Oct 25 16:00:14 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * binutils-all/objcopy.exp: Adjust --adjust-section-vma tests for
+ new S-record section handling.
+
+Tue Oct 18 11:18:21 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * binutils-all/nm.exp: nm with no arguments and nm -P do not work
+ as expected on ECOFF targets; add calls to setup_xfail.
+
+ * binutils-all/objcopy.exp: New file.
+ * config/default.exp: Initialize OBJCOPY and OBJCOPYFLAGS.
+
+Fri Oct 14 14:46:22 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ Rewrite testsuite.
+ * configure.in, Makefile.in: Remove.
+ * binutils-all/configure.in, binutils-all/Makefile.in: Remove.
+ * binutils-all/bintest.c: Remove.
+ * binutils-all/bintest.s: New file.
+ * binutils-all/nm.exp, binutils-all/objdump.exp: Rewrite.
+ * binutils-all/size.exp: Rewrite.
+ * config/default.exp: Load utils-lib.exp. Set AS and ASFLAGS.
+ Don't go up one directory from $base_dir. Create tmpdir.
+ (binutils_run, binutils-assemble): New procedures.
+ * config/unix.exp: Remove.
+ * config/mt-a29k-udi, config/mt-i386-aout: Remove.
+ * config/mt-i960-nindy, config/mt-lynx, config/mt-m68k: Remove.
+ * config/mt-mips-ecoff, config/mt-slite: Remove.
+ * config/mt-sparc-aout, config/mt-vxworks: Remove.
+ * lib/utils-lib.exp (binutil_version): Don't redirect standard
+ input when getting version. Don't unset errorInfo.
+ (default_binutils_run): New procedure.
+ (default_binutils_assemble): New procedure.
+
+Thu Sep 29 12:45:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * VMS does not permit `.' in directory names: renamed binutils.all
+ to binutils-all.
+ * configure.in (configdirs): Change binutils.all to binutils-all.
+
+Fri Sep 23 16:01:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * configure.in: Use mt-m68k for m68k*-*-aout* and m68k*-*-coff*,
+ not for m68k-*-*.
+
+Fri Sep 23 13:54:50 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * binutils.all/objdump.exp: Added ARM to list of CPU types.
+
+Thu Sep 22 11:04:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * binutils.all/objdump.exp: Update for new usage message.
+ * binutils.all/size.exp: Use a double backslash in the string to
+ get a single backslash to the regexp matcher. Accept $TEXT$,
+ $DATA$ and $BSS$ as well as .text, .data and .bss, for HP/UX.
+
+Fri Sep 2 12:53:10 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * config/unix.exp: If nm.new does not exist, use [transform nm].
+ * config/default.exp: Likewise.
+
+Wed Aug 24 12:41:37 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * configure.in, binutils.all/configure.in: Change i386 to
+ i[345]86.
+
+Tue Jul 19 15:23:53 1994 Bill Cox (bill@rtl.cygnus.com)
+
+ * config/mt-mips-ecoff: Add -Tidp.ld option.
+
+Thu Jun 30 12:41:55 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
+
+ * config/default.exp: Use nm.new, not nm, from newly built tree.
+
+Tue May 17 14:04:05 1994 Bill Cox (bill@rtl.cygnus.com)
+
+ * config/default.exp, config/unix.exp: Replace error
+ proc calls with perror.
+
+Tue May 10 11:20:54 1994 Stan Shebs (shebs@andros.cygnus.com)
+
+ * configure.in (sparclite): Match on sparclite*-*-*.
+
+Wed Apr 13 18:25:19 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * config/unix.exp: Use nm.new, not nm, from newly built tree.
+
+ * binutils.all/objdump.exp: Add more wildcards to list of
+ single-letter options in pattern for usage message.
+
+ * binutils.all/nm.exp: Deleted debug-symbols test, since it only
+ works for a.out/stabs systems. Fixed regexps to make underscores
+ optional, since some C compilers don't prepend them. Deleted
+ check for foo.o symbol, since again some systems don't generate
+ it.
+
+Mon Apr 11 10:31:00 1994 Bill Cox (bill@rtl.cygnus.com)
+
+ * Makefile.in (check): Set TCL_LIBRARY for runtest.
+
+Mon Feb 14 19:34:03 1994 Rob Savoye (rob@darkstar.cygnus.com)
+
+ * Makefile.in: Use new config features of DejaGnu in site.exp
+ file. "Make check" should now work for all crosses.
+
+Fri Jan 28 18:00:29 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * binutils.all/objdump.exp: In usage message, accept
+ "section-name" as well as "section_name".
+
+Mon Jan 17 16:57:02 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * binutils.all/objdump.exp: Trim list of format names expected,
+ and accept any known CPU type.
+
+Thu Dec 2 20:50:24 1993 Rob Savoye (rob@darkstar.cygnus.com)
+
+ * Makefile.in: Remove some stuff from the site.exp file.
+ * config/unix.exp: Add global before seeing if the variables for
+ nm, objdump, and size exist.
+
+Wed Nov 3 11:12:32 1993 Rob Savoye (rob@darkstar.cygnus.com)
+
+ * config/udi.exp,unix.exp: Transform tool name.
+ * binutils.all/*.exp: Clear errorInfo after exec.
+
+Fri Jul 2 12:41:20 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * binutils.all/*.exp: Use -- for long arguments rather than +.
+
+Fri Jun 4 10:52:29 1993 david d `zoo' zuhn (zoo@cirdan.cygnus.com)
+
+ * configure.in: change srctrigger to Makefile.in
+
+Wed May 26 17:27:46 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in (FLAGS_TO_PASS): Pass down CC and CFLAGS.
+
+Fri May 7 13:58:44 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * binutils.all/objdump.exp: Update for new usage message.
+
+Mon Apr 19 14:08:52 1993 Rob Savoye (rob@darkstar.cygnus.com)
+
+ * binutils.all/*.exp: Use the new util_test proc.
+ * Makefile.in: Create a local site.exp file with config info.
+
+Thu Mar 25 05:38:47 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
+
+ * nm.all/configure.in (srcname): Delete extra quote.
+
+Mon Feb 22 07:54:03 1993 Mike Werner (mtw@poseidon.cygnus.com)
+
+ * binutils/testsuite: made modifications to testcases, etc., to allow
+ them to work properly given the reorganization of deja-gnu and the
+ relocation of the testcases from deja-gnu to a "tool" subdirectory.
+
+Sun Feb 21 10:55:55 1993 Mike Werner (mtw@poseidon.cygnus.com)
+
+ * binutils/testsuite: Initial creation of binutils/testsuite.
+ Migrated dejagnu testcases and support files for testing nm to
+ binutils/testsuite from deja-gnu. These files were moved "as is"
+ with no modifications. This migration is part of a major overhaul
+ of dejagnu. The modifications to these testcases, etc., which
+ will allow them to work with the new version of dejagnu will be
+ made in a future update.
+
+Copyright (C) 1993-2003 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/add-empty-section.d b/binutils-2.25/binutils/testsuite/binutils-all/add-empty-section.d
new file mode 100644
index 00000000..c9162a50
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/add-empty-section.d
@@ -0,0 +1,9 @@
+#PROG: objcopy
+#name: objcopy add-empty-section
+#source: empty.s
+#objcopy: --add-section NEW=$srcdir/empty-file
+#readelf: -S --wide
+
+#...
+ \[[ 0-9]+\] NEW[ \t]+PROGBITS[ \t]+[0-9a-f]+[ \t]+[0-9a-f]+[ \t]+0+[ \t]+[ \t0-9a-f]+
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/add-section.d b/binutils-2.25/binutils/testsuite/binutils-all/add-section.d
new file mode 100644
index 00000000..37a24cf5
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/add-section.d
@@ -0,0 +1,11 @@
+#PROG: objcopy
+#name: objcopy add-section
+#source: empty.s
+#objcopy: --add-section NEW=$srcdir/empty.s
+#objdump: -s -j NEW
+
+.*: +file format .*
+
+Contents of section NEW:
+ 0000 2320416e 20656d70 74792066 696c652e # An empty file.
+ 0010 0a .
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/alias-2.def b/binutils-2.25/binutils/testsuite/binutils-all/alias-2.def
new file mode 100644
index 00000000..ef41eec6
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/alias-2.def
@@ -0,0 +1,2 @@
+EXPORTS
+symbol=nothing ==something
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/alias.def b/binutils-2.25/binutils/testsuite/binutils-all/alias.def
new file mode 100644
index 00000000..d59d4a01
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/alias.def
@@ -0,0 +1,2 @@
+EXPORTS
+symbol=nothing
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/ar.exp b/binutils-2.25/binutils/testsuite/binutils-all/ar.exp
new file mode 100644
index 00000000..6efc1598
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/ar.exp
@@ -0,0 +1,575 @@
+# Copyright 1995, 1997, 2002, 2004, 2007, 2008, 2009, 2010, 2012
+# Free Software Foundation, Inc.
+
+# 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.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-dejagnu@prep.ai.mit.edu
+
+# Written by Ian Lance Taylor <ian@cygnus.com>
+
+if ![is_remote host] {
+ if {[which $AR] == 0} then {
+ perror "$AR does not exist"
+ return
+ }
+}
+
+# send_user "Version [binutil_version $AR]"
+
+# Test long file name support
+
+proc long_filenames { bfdtests } {
+ global AR
+ global host_triplet
+ global base_dir
+
+ set testname "ar long file names"
+
+ set n1 "abcdefghijklmnopqrstuvwxyz1"
+ set n2 "abcdefghijklmnopqrstuvwxyz2"
+ set file1 tmpdir/$n1
+ set file2 tmpdir/$n2
+
+ remote_file build delete $file1
+ remote_file host delete $n1
+
+ # Some file systems truncate file names at 14 characters, which
+ # makes it impossible to run this test. Check for that now.
+ set status [catch "set f [open tmpdir/$n1 w]" errs]
+ if { $status != 0 } {
+ verbose -log "open tmpdir/$n1 returned $errs"
+ unsupported $testname
+ return
+ }
+ puts $f "first"
+ close $f
+
+ remote_file build delete $file2
+ remote_file host delete $n2
+
+ set status [catch "set f [open tmpdir/$n2 w]" errs]
+ if { $status != 0 } {
+ verbose -log "open tmpdir/$n2 returned $errs"
+ unsupported $testname
+ return
+ }
+ puts $f "second"
+ close $f
+
+ if [is_remote host] {
+ set file1 [remote_download host $file1]
+ set file2 [remote_download host $file2]
+ set dest artest.a
+ } else {
+ set dest tmpdir/artest.a
+ }
+
+ remote_file host delete $dest
+
+ set got [binutils_run $AR "rc $dest $file1 $file2"]
+ if [is_remote host] {
+ remote_upload host $file1 tmpdir/$n1
+ }
+
+ set f [open tmpdir/$n1 r]
+ gets $f string
+ close $f
+ if ![string match "first" $string] {
+ verbose -log "reading tmpdir/$n1 returned $string"
+ unsupported $testname
+ return
+ }
+
+ remote_file host delete $dest
+ set got [binutils_run $AR "rc $dest $file1 $file2"]
+
+ if ![string match "" $got] {
+ fail $testname
+ return
+ }
+
+ remote_file build delete tmpdir/$n1
+ remote_file build delete tmpdir/$n2
+
+ set got [binutils_run $AR "t $dest"]
+ regsub "\[\r\n \t\]*$" "$got" "" got
+ if ![string match "$n1*$n2" $got] {
+ fail $testname
+ return
+ }
+
+ if [is_remote host] {
+ remote_file host delete $file1
+ remote_file host delete $file2
+ }
+
+ set exec_output [binutils_run $AR "x $dest"]
+ set exec_output [prune_warnings $exec_output]
+ if ![string match "" $exec_output] {
+ verbose -log $exec_output
+ fail $testname
+ return
+ }
+
+ foreach bfdtest $bfdtests {
+ set exec_output [binutils_run "$base_dir/$bfdtest" "$dest"]
+ if ![string match "" $exec_output] {
+ verbose -log $exec_output
+ fail "$testname ($bfdtest)"
+ return
+ }
+ }
+
+ if [is_remote host] {
+ remote_upload host $n1 tmpdir/$n1
+ remote_upload host $n2 tmpdir/$n2
+ set file1 tmpdir/$n1
+ set file2 tmpdir/$n2
+ } else {
+ set file1 $n1
+ set file2 $n2
+ }
+
+ if ![file exists $file1] {
+ verbose -log "$file1 does not exist"
+ fail $testname
+ return
+ }
+ if ![file exists $file2] {
+ verbose -log "$file2 does not exist"
+ fail $testname
+ return
+ }
+
+ set f [open $file1 r]
+ if { [gets $f line] == -1 || $line != "first" } {
+ verbose -log "$file1 contents:"
+ verbose -log "$line"
+ close $f
+ fail $testname
+ return
+ }
+ close $f
+
+ set f [open $file2 r]
+ if { [gets $f line] == -1 || $line != "second" } {
+ verbose -log "$file2 contents:"
+ verbose -log "$line"
+ close $f
+ fail $testname
+ return
+ }
+ close $f
+
+ file delete $file1 $file2
+ pass $testname
+}
+
+# Test building the symbol table.
+
+proc symbol_table { } {
+ global AR
+ global AS
+ global NM
+ global srcdir
+ global subdir
+
+ set testname "ar symbol table"
+
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ unresolved $testname
+ return
+ }
+
+ if [is_remote host] {
+ set archive artest.a
+ set objfile [remote_download host tmpdir/bintest.o]
+ remote_file host delete $archive
+ } else {
+ set archive tmpdir/artest.a
+ set objfile tmpdir/bintest.o
+ }
+
+ remote_file build delete tmpdir/artest.a
+
+ set got [binutils_run $AR "rc $archive ${objfile}"]
+ if ![string match "" $got] {
+ fail $testname
+ return
+ }
+
+ set got [binutils_run $NM "--print-armap $archive"]
+ if { ![string match "*text_symbol in bintest.o*" $got] \
+ || ![string match "*data_symbol in bintest.o*" $got] \
+ || ![string match "*common_symbol in bintest.o*" $got] \
+ || [string match "*static_text_symbol in bintest.o*" $got] \
+ || [string match "*static_data_symbol in bintest.o*" $got] \
+ || [string match "*external_symbol in bintest.o*" $got] } {
+ fail $testname
+ return
+ }
+
+ pass $testname
+}
+
+# Test building a thin archive.
+
+proc thin_archive { bfdtests } {
+ global AR
+ global AS
+ global NM
+ global srcdir
+ global subdir
+ global base_dir
+
+ set testname "ar thin archive"
+
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ unresolved $testname
+ return
+ }
+
+ if [is_remote host] {
+ set archive artest.a
+ set objfile [remote_download host tmpdir/bintest.o]
+ remote_file host delete $archive
+ } else {
+ set archive tmpdir/artest.a
+ set objfile tmpdir/bintest.o
+ }
+
+ remote_file build delete tmpdir/artest.a
+
+ set got [binutils_run $AR "rcT $archive ${objfile}"]
+ if ![string match "" $got] {
+ fail $testname
+ return
+ }
+
+ foreach bfdtest $bfdtests {
+ set exec_output [binutils_run "$base_dir/$bfdtest" "$archive"]
+ if ![string match "" $exec_output] {
+ verbose -log $exec_output
+ fail "$testname ($bfdtest)"
+ return
+ }
+ }
+
+ set got [binutils_run $NM "--print-armap $archive"]
+ if { ![string match "*text_symbol in *bintest.o*" $got] \
+ || ![string match "*data_symbol in *bintest.o*" $got] \
+ || ![string match "*common_symbol in *bintest.o*" $got] \
+ || [string match "*static_text_symbol in *bintest.o*" $got] \
+ || [string match "*static_data_symbol in *bintest.o*" $got] \
+ || [string match "*external_symbol in *bintest.o*" $got] } {
+ fail $testname
+ return
+ }
+
+ pass $testname
+}
+
+# Test building a thin archive with a nested archive.
+
+proc thin_archive_with_nested { bfdtests } {
+ global AR
+ global AS
+ global NM
+ global srcdir
+ global subdir
+ global base_dir
+
+ set testname "ar thin archive with nested archive"
+
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ unresolved $testname
+ return
+ }
+
+ if [is_remote host] {
+ set archive artest.a
+ set archive2 artest2.a
+ set objfile [remote_download host tmpdir/bintest.o]
+ remote_file host delete $archive
+ } else {
+ set archive tmpdir/artest.a
+ set archive2 tmpdir/artest2.a
+ set objfile tmpdir/bintest.o
+ }
+
+ remote_file build delete tmpdir/artest.a
+
+ set got [binutils_run $AR "rc $archive ${objfile}"]
+ if ![string match "" $got] {
+ fail $testname
+ return
+ }
+
+ remote_file build delete tmpdir/artest2.a
+
+ set got [binutils_run $AR "rcT $archive2 ${archive}"]
+ if ![string match "" $got] {
+ fail $testname
+ return
+ }
+
+ foreach bfdtest $bfdtests {
+ set exec_output [binutils_run "$base_dir/$bfdtest" "$archive"]
+ if ![string match "" $exec_output] {
+ verbose -log $exec_output
+ fail "$testname ($bfdtest)"
+ return
+ }
+
+ set exec_output [binutils_run "$base_dir/$bfdtest" "$archive2"]
+ if ![string match "" $exec_output] {
+ verbose -log $exec_output
+ fail "$testname ($bfdtest)"
+ return
+ }
+ }
+
+ set got [binutils_run $NM "--print-armap $archive"]
+ if { ![string match "*text_symbol in *bintest.o*" $got] \
+ || ![string match "*data_symbol in *bintest.o*" $got] \
+ || ![string match "*common_symbol in *bintest.o*" $got] \
+ || [string match "*static_text_symbol in *bintest.o*" $got] \
+ || [string match "*static_data_symbol in *bintest.o*" $got] \
+ || [string match "*external_symbol in *bintest.o*" $got] } {
+ fail $testname
+ return
+ }
+
+ pass $testname
+}
+
+# Test POSIX-compatible argument parsing.
+
+proc argument_parsing { } {
+ global AR
+ global AS
+ global srcdir
+ global subdir
+
+ set testname "ar argument parsing"
+
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ unresolved $testname
+ return
+ }
+
+ if [is_remote host] {
+ set archive artest.a
+ set objfile [remote_download host tmpdir/bintest.o]
+ remote_file host delete $archive
+ } else {
+ set archive tmpdir/artest.a
+ set objfile tmpdir/bintest.o
+ }
+
+ remote_file build delete tmpdir/artest.a
+
+ set got [binutils_run $AR "-r -c $archive ${objfile}"]
+ if ![string match "" $got] {
+ fail $testname
+ return
+ }
+
+ pass $testname
+}
+
+# Test building a deterministic archive.
+
+proc deterministic_archive { } {
+ global AR
+ global AS
+ global NM
+ global srcdir
+ global subdir
+
+ set testname "ar deterministic archive"
+
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ unresolved $testname
+ return
+ }
+
+ if [is_remote host] {
+ set archive artest.a
+ set objfile [remote_download host tmpdir/bintest.o]
+ remote_file host delete $archive
+ } else {
+ set archive tmpdir/artest.a
+ set objfile tmpdir/bintest.o
+ }
+
+ remote_file build delete tmpdir/artest.a
+
+ set got [binutils_run $AR "rcD $archive ${objfile}"]
+ if ![string match "" $got] {
+ fail $testname
+ return
+ }
+
+ set got [binutils_run $AR "tv $archive"]
+ # This only checks the file mode and uid/gid. We can't easily match
+ # date because it's printed with the user's timezone.
+ if ![string match "rw-r--r-- 0/0 *bintest.o*" $got] {
+ fail $testname
+ return
+ }
+
+ 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
+}
+
+# Test deleting an element.
+
+proc delete_an_element { } {
+ global AR
+ global AS
+ global srcdir
+ global subdir
+
+ set testname "ar deleting an element"
+
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ unresolved $testname
+ return
+ }
+
+ if [is_remote host] {
+ set archive artest.a
+ set objfile [remote_download host tmpdir/bintest.o]
+ remote_file host delete $archive
+ } else {
+ set archive tmpdir/artest.a
+ set objfile tmpdir/bintest.o
+ }
+
+ remote_file build delete tmpdir/artest.a
+
+ set got [binutils_run $AR "-r -c $archive ${objfile}"]
+ if ![string match "" $got] {
+ fail $testname
+ return
+ }
+
+ set got [binutils_run $AR "-d $archive ${objfile}"]
+ if ![string match "" $got] {
+ fail $testname
+ return
+ }
+
+ pass $testname
+}
+
+# Test moving an element.
+
+proc move_an_element { } {
+ global AR
+ global AS
+ global srcdir
+ global subdir
+
+ set testname "ar moving an element"
+
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ unresolved $testname
+ return
+ }
+
+ if [is_remote host] {
+ set archive artest.a
+ set objfile [remote_download host tmpdir/bintest.o]
+ remote_file host delete $archive
+ } else {
+ set archive tmpdir/artest.a
+ set objfile tmpdir/bintest.o
+ }
+
+ remote_file build delete tmpdir/artest.a
+
+ set got [binutils_run $AR "-r -c $archive ${objfile}"]
+ if ![string match "" $got] {
+ fail $testname
+ return
+ }
+
+ set got [binutils_run $AR "-m $archive ${objfile}"]
+ if ![string match "" $got] {
+ fail $testname
+ return
+ }
+
+ pass $testname
+}
+
+# Run the tests.
+
+set bfdtests [list bfdtest1 bfdtest2]
+
+long_filenames $bfdtests
+symbol_table
+thin_archive $bfdtests
+thin_archive_with_nested $bfdtests
+argument_parsing
+deterministic_archive
+delete_an_element
+move_an_element
+if { [is_elf_format]
+ && ![istarget "*-*-hpux*"]
+ && ![istarget "msp*-*-*"] } {
+ unique_symbol
+}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/arm/objdump.exp b/binutils-2.25/binutils/testsuite/binutils-all/arm/objdump.exp
new file mode 100644
index 00000000..321e2a93
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/arm/objdump.exp
@@ -0,0 +1,89 @@
+# Copyright 2004, 2007, 2009
+# Free Software Foundation, Inc.
+
+# 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 {![istarget "arm*-*-*"]} then {
+ return
+}
+
+if {![is_remote host] && [which $OBJDUMP] == 0} then {
+ perror "$OBJDUMP does not exist"
+ return
+}
+
+send_user "Version [binutil_version $OBJDUMP]"
+
+###########################
+# Set up the test of movem.s
+###########################
+
+if {![binutils_assemble $srcdir/$subdir/thumb2-cond.s tmpdir/thumb2-cond.o]} then {
+ return
+}
+
+if [is_remote host] {
+ set objfile [remote_download host tmpdir/thumb2-cond.o]
+} else {
+ set objfile tmpdir/thumb2-cond.o
+}
+
+# Make sure that conditional instructions are correctly decoded.
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS --disassemble --start-address=6 $objfile"]
+
+set want "bcc.w\[ \t\]*e12.*bx\[ \t\]*lr"
+
+if [regexp $want $got] then {
+ pass "thumb2-cond test1"
+} else {
+ fail "thumb2-cond test1"
+}
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS --disassemble --start-address=10 $objfile"]
+
+set want "bx\[ \t\]*lr"
+
+if [regexp $want $got] then {
+ pass "thumb2-cond test2"
+} else {
+ fail "thumb2-cond test2"
+}
+
+###########################
+# Set up the test of multiple disassemblies
+###########################
+
+if {![binutils_assemble $srcdir/$subdir/simple.s tmpdir/simple.o]} then {
+ return
+}
+
+if [is_remote host] {
+ set objfile [remote_download host tmpdir/simple.o]
+} else {
+ set objfile tmpdir/simple.o
+}
+
+# Make sure multiple disassemblies come out the same
+
+set got [binutils_run $OBJDUMP "-dr $objfile $objfile"]
+
+set want "$objfile:\[ \]*file format.*$objfile:\[ \]*file format.*push.*add.*sub.*str.*add.*ldmfd"
+
+if [regexp $want $got] then {
+ pass "multiple input files"
+} else {
+ fail "multiple input files"
+}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/arm/simple.s b/binutils-2.25/binutils/testsuite/binutils-all/arm/simple.s
new file mode 100644
index 00000000..df8dd2ab
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/arm/simple.s
@@ -0,0 +1,35 @@
+ .cpu arm7tdmi-s
+ .fpu softvfp
+ .file "y.c"
+ .bss
+ .align 2
+l:
+ .space 4
+ .text
+ .align 2
+ .global f1
+
+f1:
+ str fp, [sp, #-4]!
+ add fp, sp, #0
+ sub sp, sp, #12
+ str r0, [fp, #-8]
+ add sp, fp, #0
+ ldmfd sp!, {fp}
+ bx lr
+ .align 2
+ .word l
+
+ .align 2
+ .global main
+
+main:
+ stmfd sp!, {fp, lr}
+ add fp, sp, #4
+ bx lr
+ .align 2
+ .word 1717986919
+ .word -1840700269
+ .word l
+
+ .ident "GCC: (Sourcery G++ 2011.03) 4.5.1"
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/arm/thumb2-cond.s b/binutils-2.25/binutils/testsuite/binutils-all/arm/thumb2-cond.s
new file mode 100644
index 00000000..b9de4428
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/arm/thumb2-cond.s
@@ -0,0 +1,8 @@
+ .arch armv7
+ .syntax unified
+ .thumb
+foo:
+ bl 1f
+1: it cc
+ bcc.w .+0xe0c
+ bx lr
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/bfin/objdump.exp b/binutils-2.25/binutils/testsuite/binutils-all/bfin/objdump.exp
new file mode 100644
index 00000000..df7d4da8
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/bfin/objdump.exp
@@ -0,0 +1,53 @@
+# Copyright 2009
+# Free Software Foundation, Inc.
+
+# 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 {![istarget "bfin-*-*"]} then {
+ return
+}
+
+if {[which $OBJDUMP] == 0} then {
+ perror "$OBJDUMP does not exist"
+ return
+}
+
+send_user "Version [binutil_version $OBJDUMP]"
+
+###################################
+# Set up the test of unknown-mode.s
+###################################
+
+if {![binutils_assemble $srcdir/$subdir/unknown-mode.s tmpdir/unknown-mode.o]} then {
+ return
+}
+
+if [is_remote host] {
+ set objfile [remote_download host tmpdir/unknown-mode.o]
+} else {
+ set objfile tmpdir/unknown-mode.o
+}
+
+# Make sure that the unknown mode does not cause abort.
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -D $objfile"]
+
+set want "e1 c1\[ \t\]*ILLEGAL.*34 98 .*\[\r\n\]"
+
+if [regexp $want $got] then {
+ pass "unknown mode test"
+} else {
+ fail "unknown mode test"
+}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/bfin/unknown-mode.s b/binutils-2.25/binutils/testsuite/binutils-all/bfin/unknown-mode.s
new file mode 100644
index 00000000..3c477f27
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/bfin/unknown-mode.s
@@ -0,0 +1,8 @@
+ .text
+
+ // Below 4 bytes are "A1 += R6.H * R4.L (IS);"
+ // with a invalid mode "0xf".
+ .byte 0xe1
+ .byte 0xc1
+ .byte 0x34
+ .byte 0x98
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/bintest.s b/binutils-2.25/binutils/testsuite/binutils-all/bintest.s
new file mode 100644
index 00000000..9e006502
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/bintest.s
@@ -0,0 +1,12 @@
+ .globl text_symbol
+ .text
+text_symbol:
+static_text_symbol:
+ .long 1
+ .long external_symbol
+ .globl data_symbol
+ .data
+data_symbol:
+static_data_symbol:
+ .long 2
+ .comm common_symbol,4
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/compress.exp b/binutils-2.25/binutils/testsuite/binutils-all/compress.exp
new file mode 100644
index 00000000..8cf61385
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/compress.exp
@@ -0,0 +1,176 @@
+# Copyright 2010, 2012
+# Free Software Foundation, Inc.
+
+# 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.
+
+# Test compressed .debug section.
+
+if { [is_remote host] || ![is_elf_format] || ![is_zlib_supported] } then {
+ return
+}
+
+set testfile tmpdir/dw2-1.o
+set compressedfile tmpdir/dw2-1-compressed.o
+set copyfile tmpdir/dw2-copy
+set compressedfile2 tmpdir/dw2-2-compressed.o
+set libfile tmpdir/libdw2.a
+set compressedcopyfile tmpdir/dw2-copy-compressed
+
+if { ![binutils_assemble_flags $srcdir/$subdir/dw2-1.S $testfile --nocompress-debug-sections] } then {
+ unsupported "compressed debug sections"
+ return
+}
+
+if { ![binutils_assemble_flags $srcdir/$subdir/dw2-1.S $compressedfile --compress-debug-sections] } then {
+ unsupported "compressed debug sections"
+ return
+}
+
+if { ![binutils_assemble_flags $srcdir/$subdir/dw2-2.S $compressedfile2 --compress-debug-sections] } then {
+ unsupported "compressed debug sections"
+ return
+}
+
+remote_file host delete $libfile
+set got [binutils_run $AR "rc $libfile $compressedfile $compressedfile2"]
+if ![string match "" $got] then {
+ fail "compressed debug sections"
+ return
+}
+
+set testname "objcopy compress debug sections"
+set got [binutils_run $OBJCOPY "--compress-debug-sections $testfile ${copyfile}.o"]
+if ![string match "" $got] then {
+ fail "objcopy ($testname)"
+} else {
+ send_log "cmp $compressedfile ${copyfile}.o\n"
+ verbose "cmp $compressedfile ${copyfile}.o"
+ set src1 ${compressedfile}
+ set src2 ${copyfile}.o
+ set status [remote_exec build cmp "${src1} ${src2}"]
+ set exec_output [lindex $status 1]
+ set exec_output [prune_warnings $exec_output]
+
+ if [string match "" $exec_output] then {
+ pass "objcopy ($testname)"
+ } else {
+ send_log "$exec_output\n"
+ verbose "$exec_output" 1
+ fail "objcopy ($testname)"
+ }
+}
+
+set testname "objcopy decompress compressed debug sections"
+set got [binutils_run $OBJCOPY "--decompress-debug-sections $compressedfile ${copyfile}.o"]
+if ![string match "" $got] then {
+ fail "objcopy ($testname)"
+} else {
+ send_log "cmp $testfile ${copyfile}.o\n"
+ verbose "cmp $testfile ${copyfile}.o"
+ set src1 ${testfile}
+ set src2 ${copyfile}.o
+ set status [remote_exec build cmp "${src1} ${src2}"]
+ set exec_output [lindex $status 1]
+ set exec_output [prune_warnings $exec_output]
+
+ if [string match "" $exec_output] then {
+ pass "objcopy ($testname)"
+ } else {
+ send_log "$exec_output\n"
+ verbose "$exec_output" 1
+ fail "objcopy ($testname)"
+ }
+}
+
+set testname "objcopy decompress debug sections in archive"
+set got [binutils_run $OBJCOPY "--decompress-debug-sections $libfile ${copyfile}.a"]
+if ![string match "" $got] then {
+ fail "objcopy ($testname)"
+} else {
+ set got [remote_exec host "$READELF -S --wide ${copyfile}.a" "" "/dev/null" "tmpdir/libdw2.out"]
+
+ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
+ fail "$testname (reason: unexpected output)"
+ send_log $got
+ send_log "\n"
+ }
+
+ if { [regexp_diff tmpdir/libdw2.out $srcdir/$subdir/libdw2.out] } then {
+ fail "$testname"
+ } else {
+ pass "$testname"
+ }
+}
+
+set testname "objcopy compress debug sections in archive"
+set got [binutils_run $OBJCOPY "--compress-debug-sections ${copyfile}.a ${compressedcopyfile}.a"]
+if ![string match "" $got] then {
+ fail "objcopy ($testname)"
+} else {
+ set got [remote_exec host "$OBJDUMP -s -j .zdebug_line ${compressedcopyfile}.a" "" "/dev/null" "tmpdir/libdw2-compressed.out"]
+
+ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
+ fail "$testname (reason: unexpected output)"
+ send_log $got
+ send_log "\n"
+ }
+
+ if { [regexp_diff tmpdir/libdw2-compressed.out $srcdir/$subdir/libdw2-compressed.out] } then {
+ fail "$testname"
+ } else {
+ pass "$testname"
+ }
+}
+
+set testname "objdump compress debug sections"
+set got [remote_exec host "$OBJDUMP -W $compressedfile" "" "/dev/null" "objdump.out"]
+if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
+ fail "$testname"
+ send_log "$got\n"
+}
+if { [regexp_diff objdump.out $srcdir/$subdir/dw2-1.W] } then {
+ fail "$testname"
+} else {
+ pass "$testname"
+}
+
+set testfile tmpdir/dw2-emty.o
+
+if { ![binutils_assemble_flags $srcdir/$subdir/dw2-empty.S $testfile --nocompress-debug-sections] } then {
+ unsupported "compressed debug sections"
+ return
+}
+
+set testname "objcopy compress empty debug sections"
+set got [binutils_run $OBJCOPY "--compress-debug-sections $testfile ${copyfile}.o"]
+if ![string match "" $got] then {
+ fail "objcopy ($testname)"
+} else {
+ send_log "cmp $testfile ${copyfile}.o\n"
+ verbose "cmp $testfile ${copyfile}.o"
+ set src1 ${testfile}
+ set src2 ${copyfile}.o
+ set status [remote_exec build cmp "${src1} ${src2}"]
+ set exec_output [lindex $status 1]
+ set exec_output [prune_warnings $exec_output]
+
+ if [string match "" $exec_output] then {
+ pass "objcopy ($testname)"
+ } else {
+ send_log "$exec_output\n"
+ verbose "$exec_output" 1
+ fail "objcopy ($testname)"
+ }
+}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/copy-1.d b/binutils-2.25/binutils/testsuite/binutils-all/copy-1.d
new file mode 100644
index 00000000..f2b0d9e9
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/copy-1.d
@@ -0,0 +1,13 @@
+#PROG: objcopy
+#objdump: -h
+#objcopy: --set-section-flags .post_text_reserve=contents,alloc,load,readonly,code
+#name: copy with setting section flags 1
+
+.*: +file format .*
+
+Sections:
+Idx.*
+#...
+ [0-9]* .post_text_reserve.*
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/copy-1.s b/binutils-2.25/binutils/testsuite/binutils-all/copy-1.s
new file mode 100644
index 00000000..32864de7
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/copy-1.s
@@ -0,0 +1,6 @@
+ .globl text_symbol
+ .text
+text_symbol:
+ .long 1
+ .section .post_text_reserve,"w", %nobits
+ .space 160
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/copy-2.d b/binutils-2.25/binutils/testsuite/binutils-all/copy-2.d
new file mode 100644
index 00000000..5636ff62
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/copy-2.d
@@ -0,0 +1,18 @@
+#PROG: objcopy
+#objdump: -h
+#objcopy: --set-section-flags foo=contents,alloc,load,code
+#name: copy with setting section flags 2
+#source: copytest.s
+#not-target: *-*-*aout *-*-aix* h8300-*-* hppa*-*-hpux* m68k-*-netbsd m68k-*-openbsd* mips-sony-bsd* mips-*-ultrix* mips-*-osf* mips-*-ecoff* mips-*-irix mips-*-irix[2-4] mips-*-riscos* ns32k-*-netbsd
+# Note - we use copytest.s and a section named "foo" rather
+# than .text because for some file formats (eg PE) the .text
+# section has a fixed set of flags and these cannot be changed.
+
+.*: +file format .*
+
+Sections:
+Idx.*
+#...
+ [0-9]* foo.*
+ CONTENTS, ALLOC, LOAD, CODE
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/copy-3.d b/binutils-2.25/binutils/testsuite/binutils-all/copy-3.d
new file mode 100644
index 00000000..655986af
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/copy-3.d
@@ -0,0 +1,17 @@
+#PROG: objcopy
+#objdump: -h
+#objcopy: --set-section-flags .text=alloc,data
+#name: copy with setting section flags 3
+#source: bintest.s
+#not-target: *-*-*aout *-*-*pe *-*-*coff hppa*-*-hpux* *-*-cygwin* *-*-mingw* m68k-*-netbsd m68k-*-openbsd* ns32k-*-netbsd rs6000-*-*
+# The .text # section in PE/COFF has a fixed set of flags and these
+# cannot be changed. We skip it for them.
+
+.*: +file format .*
+
+Sections:
+Idx.*
+#...
+ [0-9]* .text.*
+ CONTENTS, ALLOC, LOAD, RELOC, DATA
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/copy-4.d b/binutils-2.25/binutils/testsuite/binutils-all/copy-4.d
new file mode 100644
index 00000000..41fccf00
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/copy-4.d
@@ -0,0 +1,9 @@
+#PROG: strip
+#source: bintest.s
+#strip: --strip-unneeded
+#nm: -n
+#name: strip --strip-unneeded on common symbol
+
+#...
+0+04 C common_symbol
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/copytest.s b/binutils-2.25/binutils/testsuite/binutils-all/copytest.s
new file mode 100644
index 00000000..33c13b88
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/copytest.s
@@ -0,0 +1,7 @@
+ .globl foo_symbol
+ .section foo
+foo_symbol:
+ .long 1
+ .section bar
+bar_symbol:
+ .long 2
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/dlltool.exp b/binutils-2.25/binutils/testsuite/binutils-all/dlltool.exp
new file mode 100644
index 00000000..1409d3cf
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/dlltool.exp
@@ -0,0 +1,282 @@
+# Copyright 2002, 2004, 2006, 2007, 2009 Free Software Foundation, Inc.
+
+# 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 {![istarget "i*86-*-*"]
+ && ![istarget "x86_64-*-mingw*"]
+ && ![istarget "arm-*-pe*"]} {
+ return
+}
+
+if {![istarget "i*86-*-*pe*"] \
+ && ![istarget "i*86-*-cygwin*"] \
+ && ![istarget "i*86-*-mingw32*"] \
+ && ![istarget "arm-*-pe*"] \
+ && ![istarget "x86_64-*-mingw*"] } {
+ set target_xfail "yes"
+} else {
+ set target_xfail "no"
+}
+
+if {![info exists DLLTOOL]} then {
+ return
+}
+
+if {[which $DLLTOOL] == 0} then {
+ return
+}
+
+verbose "$DLLTOOL --leading-underscore -d $srcdir/$subdir/fastcall.def" 1
+catch "exec $DLLTOOL --leading-underscore -d $srcdir/$subdir/fastcall.def" err
+
+if ![string match "" $err] then {
+ send_log "$err\n"
+ verbose "$err" 1
+ fail "dlltool (fastcall export)"
+} else {
+ pass "dlltool (fastcall export)"
+}
+
+if { "$target_xfail" == "yes" } {
+ setup_xfail *-*
+}
+
+verbose "$DLLTOOL -l libversion.a --def $srcdir/$subdir/version.def" 1
+catch "exec $DLLTOOL -l libersion.a --def $srcdir/$subdir/version.def" err
+
+if ![string match "" $err] then {
+ send_log "$err\n"
+ verbose "$err" 1
+ fail "dlltool (version.dll)"
+} else {
+ pass "dlltool (version.dll)"
+}
+
+if { "$target_xfail" == "yes" } {
+ setup_xfail *-*
+}
+
+verbose "$DLLTOOL -p prefix --leading-underscore -l tmpdir/libalias.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" 1
+catch "exec $DLLTOOL -p prefix --leading-underscore -l tmpdir/libalias.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" err
+
+if ![string match "" $err] then {
+ send_log "$err\n"
+ verbose "$err" 1
+ fail "dlltool -p (execution)"
+ continue
+}
+
+pass "dlltool -p (execution)"
+
+set got [binutils_run $NM "tmpdir/libalias.a"]
+set want "00000000 I __imp__prefix_symbol.*00000000 T _prefix_symbol.*00000000 I __imp__symbol.*00000000 T _symbol"
+
+if [regexp $want $got] then {
+ pass "dlltool -p (symbol names)"
+} else {
+ fail "dlltool -p (symbol names)"
+}
+
+set got [binutils_run $OBJDUMP "-s -j .idata\$6 tmpdir/libalias.a"]
+set want "(Contents of section .idata\\\$6:.*\\.\\.symbol\\.\\..*){2,2}"
+
+if [regexp $want $got] then {
+ pass "dlltool -p (import name)"
+} else {
+ fail "dlltool -p (import name)"
+}
+
+verbose "$DLLTOOL -p prefix --leading-underscore -l tmpdir/libalias2.a -d $srcdir/$subdir/alias-2.def $dlltool_gas_flag" 1
+catch "exec $DLLTOOL -p prefix --leading-underscore -l tmpdir/libalias2.a -d $srcdir/$subdir/alias-2.def $dlltool_gas_flag" err
+
+if ![string match "" $err] then {
+ send_log "$err\n"
+ verbose "$err" 1
+ fail "dlltool -p (execution) alias-2.def"
+ continue
+}
+
+pass "dlltool -p (execution) alias-2.def"
+
+set got [binutils_run $NM "tmpdir/libalias2.a"]
+set want "00000000 I __imp__prefix_symbol.*00000000 T _prefix_symbol.*00000000 I __imp__symbol.*00000000 T _symbol"
+
+if [regexp $want $got] then {
+ pass "dlltool -p (symbol names) alias-2.def"
+} else {
+ fail "dlltool -p (symbol names) alias-2.def"
+}
+
+set got [binutils_run $OBJDUMP "-s -j .idata\$6 tmpdir/libalias2.a"]
+set want "(Contents of section .idata\\\$6:.*\\.\\.something\\..*){2,2}"
+
+if [regexp $want $got] then {
+ pass "dlltool -p (import name) alias-2.def"
+} else {
+ fail "dlltool -p (import name) alias-2.def"
+}
+
+# Here we test explicit without leading underscore
+
+verbose "$DLLTOOL --no-leading-underscore -d $srcdir/$subdir/fastcall.def" 1
+catch "exec $DLLTOOL --no-leading-underscore -d $srcdir/$subdir/fastcall.def" err
+
+if ![string match "" $err] then {
+ send_log "$err\n"
+ verbose "$err" 1
+ fail "dlltool (fastcall export no leading underscore)"
+} else {
+ pass "dlltool (fastcall export no leading underscore)"
+}
+
+if { "$target_xfail" == "yes" } {
+ setup_xfail *-*
+}
+
+verbose "$DLLTOOL --no-leading-underscore -p prefix -l tmpdir/libalias_nu.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" 1
+catch "exec $DLLTOOL --no-leading-underscore -p prefix -l tmpdir/libalias_nu.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" err
+
+if ![string match "" $err] then {
+ send_log "$err\n"
+ verbose "$err" 1
+ fail "dlltool -p (execution no leading underscore)"
+ continue
+}
+
+pass "dlltool -p (execution no leading underscore)"
+
+set got [binutils_run $NM "tmpdir/libalias_nu.a"]
+set want "00000000 I __imp_prefixsymbol.*00000000 T prefixsymbol.*00000000 I __imp_symbol.*00000000 T symbol"
+
+if [regexp $want $got] then {
+ pass "dlltool -p (symbol names no leading underscore)"
+} else {
+ fail "dlltool -p (symbol names no leading underscore)"
+}
+
+set got [binutils_run $OBJDUMP "-s -j .idata\$6 tmpdir/libalias_nu.a"]
+set want "(Contents of section .idata\\\$6:.*\\.\\.symbol\\.\\..*){2,2}"
+
+if [regexp $want $got] then {
+ pass "dlltool -p (import name no leading underscore)"
+} else {
+ fail "dlltool -p (import name no leading underscore)"
+}
+
+verbose "$DLLTOOL --no-leading-underscore -p prefix -l tmpdir/libalias_nu2.a -d $srcdir/$subdir/alias-2.def $dlltool_gas_flag" 1
+catch "exec $DLLTOOL --no-leading-underscore -p prefix -l tmpdir/libalias_nu2.a -d $srcdir/$subdir/alias-2.def $dlltool_gas_flag" err
+
+if ![string match "" $err] then {
+ send_log "$err\n"
+ verbose "$err" 1
+ fail "dlltool -p (execution no leading underscore) alias-2.def"
+ continue
+}
+
+pass "dlltool -p (execution no leading underscore) alias-2.def"
+
+set got [binutils_run $NM "tmpdir/libalias_nu2.a"]
+set want "00000000 I __imp_prefixsymbol.*00000000 T prefixsymbol.*00000000 I __imp_symbol.*00000000 T symbol"
+
+if [regexp $want $got] then {
+ pass "dlltool -p (symbol names no leading underscore) alias-2.def"
+} else {
+ fail "dlltool -p (symbol names no leading underscore) alias-2.def"
+}
+
+set got [binutils_run $OBJDUMP "-s -j .idata\$6 tmpdir/libalias_nu2.a"]
+set want "(Contents of section .idata\\\$6:.*\\.\\.something\\..*){2,2}"
+
+if [regexp $want $got] then {
+ pass "dlltool -p (import name no leading underscore) alias-2.def"
+} else {
+ fail "dlltool -p (import name no leading underscore) alias-2.def"
+}
+
+# Now we test with leading underscore
+verbose "$DLLTOOL --leading-underscore -d $srcdir/$subdir/fastcall.def" 1
+catch "exec $DLLTOOL --leading-underscore -d $srcdir/$subdir/fastcall.def" err
+
+if ![string match "" $err] then {
+ send_log "$err\n"
+ verbose "$err" 1
+ fail "dlltool (fastcall export leading underscore)"
+} else {
+ pass "dlltool (fastcall export leading underscore)"
+}
+
+if { "$target_xfail" == "yes" } {
+ setup_xfail *-*
+}
+
+verbose "$DLLTOOL --leading-underscore -p prefix -l tmpdir/libalias_u.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" 1
+catch "exec $DLLTOOL --leading-underscore -p prefix -l tmpdir/libalias_u.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" err
+
+if ![string match "" $err] then {
+ send_log "$err\n"
+ verbose "$err" 1
+ fail "dlltool -p (execution leading underscore)"
+ continue
+}
+
+pass "dlltool -p (execution leading-underscore)"
+
+set got [binutils_run $NM "tmpdir/libalias_u.a"]
+set want "00000000 I __imp__prefix_symbol.*00000000 T _prefix_symbol.*00000000 I __imp__symbol.*00000000 T _symbol"
+
+if [regexp $want $got] then {
+ pass "dlltool -p (symbol names leading underscore)"
+} else {
+ fail "dlltool -p (symbol names leading underscore)"
+}
+
+set got [binutils_run $OBJDUMP "-s -j .idata\$6 tmpdir/libalias_u.a"]
+set want "(Contents of section .idata\\\$6:.*\\.\\.symbol\\..*){2,2}"
+
+if [regexp $want $got] then {
+ pass "dlltool -p (import name leading underscore)"
+} else {
+ fail "dlltool -p (import name leading underscore)"
+}
+
+verbose "$DLLTOOL --leading-underscore -p prefix -l tmpdir/libalias_u2.a -d $srcdir/$subdir/alias-2.def $dlltool_gas_flag" 1
+catch "exec $DLLTOOL --leading-underscore -p prefix -l tmpdir/libalias_u2.a -d $srcdir/$subdir/alias-2.def $dlltool_gas_flag" err
+
+if ![string match "" $err] then {
+ send_log "$err\n"
+ verbose "$err" 1
+ fail "dlltool -p (execution) alias-2.def"
+ continue
+}
+
+pass "dlltool -p (execution leading underscore) alias-2.def"
+
+set got [binutils_run $NM "tmpdir/libalias_u2.a"]
+set want "00000000 I __imp__prefix_symbol.*00000000 T _prefix_symbol.*00000000 I __imp__symbol.*00000000 T _symbol"
+
+if [regexp $want $got] then {
+ pass "dlltool -p (symbol names leading underscore) alias-2.def"
+} else {
+ fail "dlltool -p (symbol names leading underscore) alias-2.def"
+}
+
+set got [binutils_run $OBJDUMP "-s -j .idata\$6 tmpdir/libalias_u2.a"]
+set want "(Contents of section .idata\\\$6:.*\\.\\.something\\..*){2,2}"
+
+if [regexp $want $got] then {
+ pass "dlltool -p (import name leading underscore) alias-2.def"
+} else {
+ fail "dlltool -p (import name leading underscore) alias-2.def"
+}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/dumptest.s b/binutils-2.25/binutils/testsuite/binutils-all/dumptest.s
new file mode 100644
index 00000000..6335d22b
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/dumptest.s
@@ -0,0 +1,2 @@
+ .data
+ .ascii "test_string"
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/dw2-1.S b/binutils-2.25/binutils/testsuite/binutils-all/dw2-1.S
new file mode 100644
index 00000000..ab12be60
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/dw2-1.S
@@ -0,0 +1,198 @@
+/* This testcase is derived from a similar test in GDB.
+
+ Copyright 2008, 2009, 2010 Free Software Foundation, Inc.
+
+ 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, see <http://www.gnu.org/licenses/>. */
+
+/* Dummy function to provide debug information for. */
+
+ .text
+ .globl _start
+_start:
+ .int 0
+.Lbegin_text1:
+ .globl func_cu1
+ .type func_cu1, %function
+func_cu1:
+.Lbegin_func_cu1:
+ .int 0
+.Lend_func_cu1:
+ .size func_cu1, .-func_cu1
+.Lend_text1:
+
+/* Debug information */
+
+ .section .debug_info
+.Lcu1_begin:
+ /* CU header */
+ .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
+.Lcu1_start:
+ .2byte 2 /* DWARF Version */
+ .4byte .Labbrev1_begin /* Offset into abbrev section */
+ .byte 4 /* Pointer size */
+
+ /* CU die */
+ .uleb128 1 /* Abbrev: DW_TAG_compile_unit */
+ .4byte .Lline1_begin /* DW_AT_stmt_list */
+ .4byte .Lend_text1 /* DW_AT_high_pc */
+ .4byte .Lbegin_text1 /* DW_AT_low_pc */
+ .ascii "file1.txt\0" /* DW_AT_name */
+ .ascii "GNU C 3.3.3\0" /* DW_AT_producer */
+ .byte 1 /* DW_AT_language (C) */
+
+ /* func_cu1 */
+ .uleb128 2 /* Abbrev: DW_TAG_subprogram */
+ .byte 1 /* DW_AT_external */
+ .byte 1 /* DW_AT_decl_file */
+ .byte 2 /* DW_AT_decl_line */
+ .ascii "func_cu1\0" /* DW_AT_name */
+ .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
+ .4byte .Lbegin_func_cu1 /* DW_AT_low_pc */
+ .4byte .Lend_func_cu1 /* DW_AT_high_pc */
+ .byte 1 /* DW_AT_frame_base: length */
+ .byte 0x55 /* DW_AT_frame_base: DW_OP_reg5 */
+
+.Ltype_int:
+ .uleb128 3 /* Abbrev: DW_TAG_base_type */
+ .ascii "int\0" /* DW_AT_name */
+ .byte 4 /* DW_AT_byte_size */
+ .byte 5 /* DW_AT_encoding */
+
+ .byte 0 /* End of children of CU */
+
+.Lcu1_end:
+
+/* Line table */
+ .section .debug_line
+.Lline1_begin:
+ .4byte .Lline1_end - .Lline1_start /* Initial length */
+.Lline1_start:
+ .2byte 2 /* Version */
+ .4byte .Lline1_lines - .Lline1_hdr /* header_length */
+.Lline1_hdr:
+ .byte 1 /* Minimum insn length */
+ .byte 1 /* default_is_stmt */
+ .byte 1 /* line_base */
+ .byte 1 /* line_range */
+ .byte 0x10 /* opcode_base */
+
+ /* Standard lengths */
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+
+ /* Include directories */
+ .byte 0
+
+ /* File names */
+ .ascii "file1.txt\0"
+ .uleb128 0
+ .uleb128 0
+ .uleb128 0
+
+ .byte 0
+
+.Lline1_lines:
+ .byte 0 /* DW_LNE_set_address */
+ .uleb128 5
+ .byte 2
+ .4byte .Lbegin_func_cu1
+
+ .byte 3 /* DW_LNS_advance_line */
+ .sleb128 3 /* ... to 4 */
+
+ .byte 1 /* DW_LNS_copy */
+
+ .byte 1 /* DW_LNS_copy (second time as an end-of-prologue marker) */
+
+ .byte 0 /* DW_LNE_set_address */
+ .uleb128 5
+ .byte 2
+ .4byte .Lend_func_cu1
+
+ .byte 0 /* DW_LNE_end_of_sequence */
+ .uleb128 1
+ .byte 1
+
+.Lline1_end:
+
+/* Abbrev table */
+ .section .debug_abbrev
+.Labbrev1_begin:
+ .uleb128 1 /* Abbrev code */
+ .uleb128 0x11 /* DW_TAG_compile_unit */
+ .byte 1 /* has_children */
+ .uleb128 0x10 /* DW_AT_stmt_list */
+ .uleb128 0x6 /* DW_FORM_data4 */
+ .uleb128 0x12 /* DW_AT_high_pc */
+ .uleb128 0x1 /* DW_FORM_addr */
+ .uleb128 0x11 /* DW_AT_low_pc */
+ .uleb128 0x1 /* DW_FORM_addr */
+ .uleb128 0x3 /* DW_AT_name */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0x25 /* DW_AT_producer */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0x13 /* DW_AT_language */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+ .uleb128 2 /* Abbrev code */
+ .uleb128 0x2e /* DW_TAG_subprogram */
+ .byte 0 /* has_children */
+ .uleb128 0x3f /* DW_AT_external */
+ .uleb128 0xc /* DW_FORM_flag */
+ .uleb128 0x3a /* DW_AT_decl_file */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .uleb128 0x3b /* DW_AT_decl_line */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .uleb128 0x3 /* DW_AT_name */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0x49 /* DW_AT_type */
+ .uleb128 0x13 /* DW_FORM_ref4 */
+ .uleb128 0x11 /* DW_AT_low_pc */
+ .uleb128 0x1 /* DW_FORM_addr */
+ .uleb128 0x12 /* DW_AT_high_pc */
+ .uleb128 0x1 /* DW_FORM_addr */
+ .uleb128 0x40 /* DW_AT_frame_base */
+ .uleb128 0xa /* DW_FORM_block1 */
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+ .uleb128 3 /* Abbrev code */
+ .uleb128 0x24 /* DW_TAG_base_type */
+ .byte 0 /* has_children */
+ .uleb128 0x3 /* DW_AT_name */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0xb /* DW_AT_byte_size */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .uleb128 0x3e /* DW_AT_encoding */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/dw2-1.W b/binutils-2.25/binutils/testsuite/binutils-all/dw2-1.W
new file mode 100644
index 00000000..85ce9dd0
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/dw2-1.W
@@ -0,0 +1,103 @@
+
+.*dw2-1-compressed.o: file format .*
+
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x4e \(32-bit\)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 \(DW_TAG_compile_unit\)
+ <c> DW_AT_stmt_list : 0x0
+ <10> DW_AT_high_pc : 0x.
+ <14> DW_AT_low_pc : 0x.
+ <18> DW_AT_name : file1.txt
+ <22> DW_AT_producer : GNU C 3.3.3
+ <2e> DW_AT_language : 1 \(ANSI C\)
+ <1><2f>: Abbrev Number: 2 \(DW_TAG_subprogram\)
+ <30> DW_AT_external : 1
+ <31> DW_AT_decl_file : 1
+ <32> DW_AT_decl_line : 2
+ <33> DW_AT_name : func_cu1
+ <3c> DW_AT_type : <0x4a>
+ <40> DW_AT_low_pc : 0x.
+ <44> DW_AT_high_pc : 0x.
+ <48> DW_AT_frame_base : 1 byte block: 55 \(DW_OP_reg5 \([^()]*\)\)
+ <1><4a>: Abbrev Number: 3 \(DW_TAG_base_type\)
+ <4b> DW_AT_name : int
+ <4f> DW_AT_byte_size : 4
+ <50> DW_AT_encoding : 5 \(signed\)
+ <1><51>: Abbrev Number: 0
+
+Raw dump of debug contents of section .debug_line:
+
+ Offset: 0x0
+ Length: 62
+ DWARF Version: 2
+ Prologue Length: 35
+ Minimum Instruction Length: 1
+ Initial value of 'is_stmt': 1
+ Line Base: 1
+ Line Range: 1
+ Opcode Base: 16
+
+ Opcodes:
+ Opcode 1 has 0 args
+ Opcode 2 has 1 args
+ Opcode 3 has 1 args
+ Opcode 4 has 1 args
+ Opcode 5 has 1 args
+ Opcode 6 has 0 args
+ Opcode 7 has 0 args
+ Opcode 8 has 0 args
+ Opcode 9 has 1 args
+ Opcode 10 has 0 args
+ Opcode 11 has 0 args
+ Opcode 12 has 1 args
+ Opcode 13 has 0 args
+ Opcode 14 has 0 args
+ Opcode 15 has 0 args
+
+ The Directory Table is empty.
+
+ The File Name Table \(offset 0x.*\):
+ Entry Dir Time Size Name
+ 1 0 0 0 file1.txt
+
+ Line Number Statements:
+ \[0x.*\] Extended opcode 2: set Address to 0x4
+ \[0x.*\] Advance Line by 3 to 4
+ \[0x.*\] Copy
+ \[0x.*\] Copy
+ \[0x.*\] Extended opcode 2: set Address to 0x8
+ \[0x.*\] Extended opcode 1: End of Sequence
+
+
+Contents of the .debug_abbrev section:
+
+ Number TAG \(0x0\)
+ 1 DW_TAG_compile_unit \[has children\]
+ DW_AT_stmt_list DW_FORM_data4
+ DW_AT_high_pc DW_FORM_addr
+ DW_AT_low_pc DW_FORM_addr
+ DW_AT_name DW_FORM_string
+ DW_AT_producer DW_FORM_string
+ DW_AT_language DW_FORM_data1
+ DW_AT value: 0 DW_FORM value: 0
+ 2 DW_TAG_subprogram \[no children\]
+ DW_AT_external DW_FORM_flag
+ DW_AT_decl_file DW_FORM_data1
+ DW_AT_decl_line DW_FORM_data1
+ DW_AT_name DW_FORM_string
+ DW_AT_type DW_FORM_ref4
+ DW_AT_low_pc DW_FORM_addr
+ DW_AT_high_pc DW_FORM_addr
+ DW_AT_frame_base DW_FORM_block1
+ DW_AT value: 0 DW_FORM value: 0
+ 3 DW_TAG_base_type \[no children\]
+ DW_AT_name DW_FORM_string
+ DW_AT_byte_size DW_FORM_data1
+ DW_AT_encoding DW_FORM_data1
+ DW_AT value: 0 DW_FORM value: 0
+
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/dw2-2.S b/binutils-2.25/binutils/testsuite/binutils-all/dw2-2.S
new file mode 100644
index 00000000..43b53557
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/dw2-2.S
@@ -0,0 +1,195 @@
+/* This testcase is derived from a similar test in GDB.
+
+ Copyright 2008, 2009, 2010 Free Software Foundation, Inc.
+
+ 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, see <http://www.gnu.org/licenses/>. */
+
+/* Dummy function to provide debug information for. */
+
+ .text
+.Lbegin_text1:
+ .globl func_cu2
+ .type func_cu2, %function
+func_cu2:
+.Lbegin_func_cu2:
+ .int 0
+.Lend_func_cu2:
+ .size func_cu2, .-func_cu2
+.Lend_text1:
+
+/* Debug information */
+
+ .section .debug_info
+.Lcu1_begin:
+ /* CU header */
+ .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
+.Lcu1_start:
+ .2byte 2 /* DWARF Version */
+ .4byte .Labbrev1_begin /* Offset into abbrev section */
+ .byte 4 /* Pointer size */
+
+ /* CU die */
+ .uleb128 1 /* Abbrev: DW_TAG_compile_unit */
+ .4byte .Lline1_begin /* DW_AT_stmt_list */
+ .4byte .Lend_text1 /* DW_AT_high_pc */
+ .4byte .Lbegin_text1 /* DW_AT_low_pc */
+ .ascii "file1.txt\0" /* DW_AT_name */
+ .ascii "GNU C 3.3.3\0" /* DW_AT_producer */
+ .byte 1 /* DW_AT_language (C) */
+
+ /* func_cu2 */
+ .uleb128 2 /* Abbrev: DW_TAG_subprogram */
+ .byte 1 /* DW_AT_external */
+ .byte 1 /* DW_AT_decl_file */
+ .byte 2 /* DW_AT_decl_line */
+ .ascii "func_cu2\0" /* DW_AT_name */
+ .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
+ .4byte .Lbegin_func_cu2 /* DW_AT_low_pc */
+ .4byte .Lend_func_cu2 /* DW_AT_high_pc */
+ .byte 1 /* DW_AT_frame_base: length */
+ .byte 0x55 /* DW_AT_frame_base: DW_OP_reg5 */
+
+.Ltype_int:
+ .uleb128 3 /* Abbrev: DW_TAG_base_type */
+ .ascii "int\0" /* DW_AT_name */
+ .byte 4 /* DW_AT_byte_size */
+ .byte 5 /* DW_AT_encoding */
+
+ .byte 0 /* End of children of CU */
+
+.Lcu1_end:
+
+/* Line table */
+ .section .debug_line
+.Lline1_begin:
+ .4byte .Lline1_end - .Lline1_start /* Initial length */
+.Lline1_start:
+ .2byte 2 /* Version */
+ .4byte .Lline1_lines - .Lline1_hdr /* header_length */
+.Lline1_hdr:
+ .byte 1 /* Minimum insn length */
+ .byte 1 /* default_is_stmt */
+ .byte 1 /* line_base */
+ .byte 1 /* line_range */
+ .byte 0x10 /* opcode_base */
+
+ /* Standard lengths */
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+
+ /* Include directories */
+ .byte 0
+
+ /* File names */
+ .ascii "file1.txt\0"
+ .uleb128 0
+ .uleb128 0
+ .uleb128 0
+
+ .byte 0
+
+.Lline1_lines:
+ .byte 0 /* DW_LNE_set_address */
+ .uleb128 5
+ .byte 2
+ .4byte .Lbegin_func_cu2
+
+ .byte 3 /* DW_LNS_advance_line */
+ .sleb128 3 /* ... to 4 */
+
+ .byte 1 /* DW_LNS_copy */
+
+ .byte 1 /* DW_LNS_copy (second time as an end-of-prologue marker) */
+
+ .byte 0 /* DW_LNE_set_address */
+ .uleb128 5
+ .byte 2
+ .4byte .Lend_func_cu2
+
+ .byte 0 /* DW_LNE_end_of_sequence */
+ .uleb128 1
+ .byte 1
+
+.Lline1_end:
+
+/* Abbrev table */
+ .section .debug_abbrev
+.Labbrev1_begin:
+ .uleb128 1 /* Abbrev code */
+ .uleb128 0x11 /* DW_TAG_compile_unit */
+ .byte 1 /* has_children */
+ .uleb128 0x10 /* DW_AT_stmt_list */
+ .uleb128 0x6 /* DW_FORM_data4 */
+ .uleb128 0x12 /* DW_AT_high_pc */
+ .uleb128 0x1 /* DW_FORM_addr */
+ .uleb128 0x11 /* DW_AT_low_pc */
+ .uleb128 0x1 /* DW_FORM_addr */
+ .uleb128 0x3 /* DW_AT_name */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0x25 /* DW_AT_producer */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0x13 /* DW_AT_language */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+ .uleb128 2 /* Abbrev code */
+ .uleb128 0x2e /* DW_TAG_subprogram */
+ .byte 0 /* has_children */
+ .uleb128 0x3f /* DW_AT_external */
+ .uleb128 0xc /* DW_FORM_flag */
+ .uleb128 0x3a /* DW_AT_decl_file */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .uleb128 0x3b /* DW_AT_decl_line */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .uleb128 0x3 /* DW_AT_name */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0x49 /* DW_AT_type */
+ .uleb128 0x13 /* DW_FORM_ref4 */
+ .uleb128 0x11 /* DW_AT_low_pc */
+ .uleb128 0x1 /* DW_FORM_addr */
+ .uleb128 0x12 /* DW_AT_high_pc */
+ .uleb128 0x1 /* DW_FORM_addr */
+ .uleb128 0x40 /* DW_AT_frame_base */
+ .uleb128 0xa /* DW_FORM_block1 */
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+ .uleb128 3 /* Abbrev code */
+ .uleb128 0x24 /* DW_TAG_base_type */
+ .byte 0 /* has_children */
+ .uleb128 0x3 /* DW_AT_name */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0xb /* DW_AT_byte_size */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .uleb128 0x3e /* DW_AT_encoding */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/dw2-compressed.S b/binutils-2.25/binutils/testsuite/binutils-all/dw2-compressed.S
new file mode 100644
index 00000000..37ba9168
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/dw2-compressed.S
@@ -0,0 +1,218 @@
+/* This testcase is derived from a similar test in GDB.
+
+ Copyright 2008, 2009 Free Software Foundation, Inc.
+
+ 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, see <http://www.gnu.org/licenses/>. */
+
+/* This tests that gdb can read compressed sections. The contents
+ are a basic assembly file, but the .debug_abbrev section has been
+ comrpessed using zlib. */
+
+/* Dummy function to provide debug information for. */
+
+ .text
+ .globl _start
+_start:
+ .int 0
+.Lbegin_text1:
+ .globl func_cu1
+ .type func_cu1, %function
+func_cu1:
+.Lbegin_func_cu1:
+ .int 0
+.Lend_func_cu1:
+ .size func_cu1, .-func_cu1
+.Lend_text1:
+
+/* Debug information */
+
+ .section .debug_info
+.Lcu1_begin:
+ /* CU header */
+ .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
+.Lcu1_start:
+ .2byte 2 /* DWARF Version */
+ .4byte .Labbrev1_begin /* Offset into abbrev section */
+ .byte 4 /* Pointer size */
+
+ /* CU die */
+ .uleb128 1 /* Abbrev: DW_TAG_compile_unit */
+ .4byte .Lline1_begin /* DW_AT_stmt_list */
+ .4byte .Lend_text1 /* DW_AT_high_pc */
+ .4byte .Lbegin_text1 /* DW_AT_low_pc */
+ .ascii "file1.txt\0" /* DW_AT_name */
+ .ascii "GNU C 3.3.3\0" /* DW_AT_producer */
+ .byte 1 /* DW_AT_language (C) */
+
+ /* func_cu1 */
+ .uleb128 2 /* Abbrev: DW_TAG_subprogram */
+ .byte 1 /* DW_AT_external */
+ .byte 1 /* DW_AT_decl_file */
+ .byte 2 /* DW_AT_decl_line */
+ .ascii "func_cu1\0" /* DW_AT_name */
+ .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
+ .4byte .Lbegin_func_cu1 /* DW_AT_low_pc */
+ .4byte .Lend_func_cu1 /* DW_AT_high_pc */
+ .byte 1 /* DW_AT_frame_base: length */
+ .byte 0x55 /* DW_AT_frame_base: DW_OP_reg5 */
+
+.Ltype_int:
+ .uleb128 3 /* Abbrev: DW_TAG_base_type */
+ .ascii "int\0" /* DW_AT_name */
+ .byte 4 /* DW_AT_byte_size */
+ .byte 5 /* DW_AT_encoding */
+
+ .byte 0 /* End of children of CU */
+
+.Lcu1_end:
+
+/* Line table */
+ .section .debug_line
+.Lline1_begin:
+ .4byte .Lline1_end - .Lline1_start /* Initial length */
+.Lline1_start:
+ .2byte 2 /* Version */
+ .4byte .Lline1_lines - .Lline1_hdr /* header_length */
+.Lline1_hdr:
+ .byte 1 /* Minimum insn length */
+ .byte 1 /* default_is_stmt */
+ .byte 1 /* line_base */
+ .byte 1 /* line_range */
+ .byte 0x10 /* opcode_base */
+
+ /* Standard lengths */
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+
+ /* Include directories */
+ .byte 0
+
+ /* File names */
+ .ascii "file1.txt\0"
+ .uleb128 0
+ .uleb128 0
+ .uleb128 0
+
+ .byte 0
+
+.Lline1_lines:
+ .byte 0 /* DW_LNE_set_address */
+ .uleb128 5
+ .byte 2
+ .4byte .Lbegin_func_cu1
+
+ .byte 3 /* DW_LNS_advance_line */
+ .sleb128 3 /* ... to 4 */
+
+ .byte 1 /* DW_LNS_copy */
+
+ .byte 1 /* DW_LNS_copy (second time as an end-of-prologue marker) */
+
+ .byte 0 /* DW_LNE_set_address */
+ .uleb128 5
+ .byte 2
+ .4byte .Lend_func_cu1
+
+ .byte 0 /* DW_LNE_end_of_sequence */
+ .uleb128 1
+ .byte 1
+
+.Lline1_end:
+
+/* Abbrev table -- compressed */
+ .section .zdebug_abbrev
+.Labbrev1_begin:
+ .ascii "ZLIB"
+ .4byte 0
+ .2byte 0
+ .byte 0
+ .byte 51
+ .byte 0x78
+ .byte 0x5e
+ .byte 0x63
+ .byte 0x14
+ .byte 0x64
+ .byte 0x14
+ .byte 0x60
+ .byte 0x13
+ .byte 0x62
+ .byte 0x14
+ .byte 0x64
+ .byte 0x64
+ .byte 0xe6
+ .byte 0x50
+ .byte 0xe5
+ .byte 0x10
+ .byte 0xe6
+ .byte 0x66
+ .byte 0x60
+ .byte 0x60
+ .byte 0xd2
+ .byte 0x63
+ .byte 0xb0
+ .byte 0xe7
+ .byte 0xb1
+ .byte 0xe2
+ .byte 0xb6
+ .byte 0xe6
+ .byte 0x66
+ .byte 0xe6
+ .byte 0xf0
+ .byte 0x14
+ .byte 0x16
+ .byte 0x64
+ .byte 0x14
+ .byte 0x62
+ .byte 0x74
+ .byte 0xe0
+ .byte 0x02
+ .byte 0x00
+ .byte 0x25
+ .byte 0x78
+ .byte 0x02
+ .byte 0x81
+ .byte 0x78
+ .byte 0x9c
+ .byte 0x63
+ .byte 0x60
+ .byte 0x60
+ .byte 0x56
+ .byte 0x61
+ .byte 0x60
+ .byte 0xe6
+ .byte 0xe0
+ .byte 0xe6
+ .byte 0xb6
+ .byte 0xe3
+ .byte 0x66
+ .byte 0x00
+ .byte 0x02
+ .byte 0x00
+ .byte 0x04
+ .byte 0x9c
+ .byte 0x00
+ .byte 0x92
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/dw2-decodedline.S b/binutils-2.25/binutils/testsuite/binutils-all/dw2-decodedline.S
new file mode 100644
index 00000000..a54bdcfb
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/dw2-decodedline.S
@@ -0,0 +1,16 @@
+ .file "dw2-decodedline.c"
+ .file 1 "dw2-decodedline.c"
+ .file 2 "directory/file1.c"
+ .text
+ .globl f1
+ .type f1, %function
+f1:
+ .loc 2 1 0
+ nop
+ .size f1, .-f1
+ .globl main
+ .type main, %function
+main:
+ .loc 1 2 0
+ nop
+ .size main, .-main
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/dw2-empty.S b/binutils-2.25/binutils/testsuite/binutils-all/dw2-empty.S
new file mode 100644
index 00000000..63a2b900
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/dw2-empty.S
@@ -0,0 +1 @@
+ .section .debug_line
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/elfedit-1.d b/binutils-2.25/binutils/testsuite/binutils-all/elfedit-1.d
new file mode 100644
index 00000000..700d5428
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/elfedit-1.d
@@ -0,0 +1,16 @@
+#PROG: elfedit
+#elfedit: --output-mach l1om
+#source: empty.s
+#readelf: -h
+#name: Update ELF header 1
+#target: x86_64-*-*
+
+#...
+ELF Header:
+ Magic: 7f 45 4c 46 0(1|2) 01 01 00 00 00 00 00 00 00 00 00
+ Class: ELF(32|64)
+ Data: 2's complement, little endian
+ Version: 1 \(current\)
+#...
+ Machine: Intel L1OM
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/elfedit-2.d b/binutils-2.25/binutils/testsuite/binutils-all/elfedit-2.d
new file mode 100644
index 00000000..56468b51
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/elfedit-2.d
@@ -0,0 +1,15 @@
+#PROG: elfedit
+#elfedit: --output-type exec
+#source: empty.s
+#readelf: -h
+#name: Update ELF header 2
+#target: *-*-linux* *-*-gnu*
+
+#...
+ELF Header:
+ Magic: 7f 45 4c 46 .*
+#...
+ Version:[ \t]+1 \(current\)
+#...
+ Type:[ \t]+EXEC \(Executable file\)
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/elfedit-3.d b/binutils-2.25/binutils/testsuite/binutils-all/elfedit-3.d
new file mode 100644
index 00000000..219cac59
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/elfedit-3.d
@@ -0,0 +1,15 @@
+#PROG: elfedit
+#elfedit: --output-osabi FenixOS
+#source: empty.s
+#readelf: -h
+#name: Update ELF header 3
+#target: *-*-linux* *-*-gnu*
+
+#...
+ELF Header:
+ Magic: 7f 45 4c 46 .*
+#...
+ Version:[ \t]+1 \(current\)
+#...
+ OS/ABI:[ \t]+FenixOS
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/elfedit-4.d b/binutils-2.25/binutils/testsuite/binutils-all/elfedit-4.d
new file mode 100644
index 00000000..4336dd8c
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/elfedit-4.d
@@ -0,0 +1,17 @@
+#PROG: elfedit
+#elfedit: --output-mach k1om
+#source: empty.s
+#as: --64
+#readelf: -h
+#name: Update ELF header 4
+#target: x86_64-*-*
+
+#...
+ELF Header:
+ Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
+ Class: ELF64
+ Data: 2's complement, little endian
+ Version: 1 \(current\)
+#...
+ Machine: Intel K1OM
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/elfedit.exp b/binutils-2.25/binutils/testsuite/binutils-all/elfedit.exp
new file mode 100644
index 00000000..500906d3
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/elfedit.exp
@@ -0,0 +1,35 @@
+# Copyright 2010, 2011
+# Free Software Foundation, Inc.
+
+# 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.
+
+# Exclude non-ELF targets.
+if ![is_elf_format] {
+ verbose "$ELFEDIT is only intended for ELF targets" 2
+ return
+}
+
+if ![is_remote host] {
+ set tempfile tmpdir/bintest.o
+ set copyfile tmpdir/bintest
+} else {
+ set tempfile [remote_download host tmpdir/bintest.o]
+ set copyfile bintest
+}
+
+run_dump_test "elfedit-1"
+run_dump_test "elfedit-2"
+run_dump_test "elfedit-3"
+run_dump_test "elfedit-4"
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/empty-file b/binutils-2.25/binutils/testsuite/binutils-all/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/empty-file
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/empty.s b/binutils-2.25/binutils/testsuite/binutils-all/empty.s
new file mode 100644
index 00000000..8690c06a
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/empty.s
@@ -0,0 +1 @@
+# An empty file.
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/exclude-1.s b/binutils-2.25/binutils/testsuite/binutils-all/exclude-1.s
new file mode 100644
index 00000000..475088fd
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/exclude-1.s
@@ -0,0 +1,16 @@
+ .text
+ .type start,"function"
+ .global start
+start:
+ .type _start,"function"
+ .global _start
+_start:
+ .type __start,"function"
+ .global __start
+__start:
+ .type main,"function"
+ .global main
+main:
+ .long 0
+ .section .foo1,"e", %progbits
+ .byte 0,0,0,0
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/exclude-1a.d b/binutils-2.25/binutils/testsuite/binutils-all/exclude-1a.d
new file mode 100644
index 00000000..3a311b53
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/exclude-1a.d
@@ -0,0 +1,9 @@
+#PROG: objcopy
+#source: exclude-1.s
+#objcopy:
+#readelf: -S --wide
+#name: objcopy on sections with SHF_EXCLUDE
+
+#...
+[ ]*\[.*\][ ]+\.foo1[ ]+PROGBITS.*[ ]+E[ ]+.*
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/exclude-1b.d b/binutils-2.25/binutils/testsuite/binutils-all/exclude-1b.d
new file mode 100644
index 00000000..ac387fb2
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/exclude-1b.d
@@ -0,0 +1,9 @@
+#PROG: strip
+#source: exclude-1.s
+#strip: --strip-unneeded
+#readelf: -S --wide
+#name: strip --strip-unneeded on sections with SHF_EXCLUDE
+
+#...
+[ ]*\[.*\][ ]+\.foo1[ ]+PROGBITS.*[ ]+E[ ]+.*
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/fastcall.def b/binutils-2.25/binutils/testsuite/binutils-all/fastcall.def
new file mode 100644
index 00000000..bef49682
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/fastcall.def
@@ -0,0 +1,2 @@
+EXPORTS
+@fastcall@4
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/group-2.s b/binutils-2.25/binutils/testsuite/binutils-all/group-2.s
new file mode 100644
index 00000000..187eeda2
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/group-2.s
@@ -0,0 +1,8 @@
+ .section .text.foo,"axG",%progbits,.text.foo,comdat
+ .global foo2
+foo2:
+ .word 0
+ .section .data.bar,"awG",%progbits,.text.foo,comdat
+ .global bar2
+bar2:
+ .word 0
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/group-3.s b/binutils-2.25/binutils/testsuite/binutils-all/group-3.s
new file mode 100644
index 00000000..eb235e86
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/group-3.s
@@ -0,0 +1,8 @@
+ .section .text.foo3,"axG",%progbits,foo3,comdat
+ .global foo3
+foo3:
+ .word 0
+ .section .data.bar3,"awG",%progbits,foo3,comdat
+ .global bar3
+bar3:
+ .word 0
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/group-4.s b/binutils-2.25/binutils/testsuite/binutils-all/group-4.s
new file mode 100644
index 00000000..b1c8736f
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/group-4.s
@@ -0,0 +1,6 @@
+ .section .text.foo4,"axG",%progbits,foo4,comdat
+foo4:
+ .word 0
+ .section .data.foo4,"awG",%progbits,foo4,comdat
+bar4:
+ .word 0
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/group-5.d b/binutils-2.25/binutils/testsuite/binutils-all/group-5.d
new file mode 100644
index 00000000..3c88ba90
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/group-5.d
@@ -0,0 +1,19 @@
+#PROG: objcopy
+#readelf: -Sg --wide
+#objcopy: --remove-section .dropme
+#name: copy removing group member
+
+#readelf: -Sg --wide
+
+#...
+ \[[ 0-9]+\] \.group[ \t]+GROUP[ \t]+.*
+#...
+ \[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AXG.*
+#...
+ \[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WAG.*
+#...
+COMDAT group section \[[ 0-9]+\] `\.group' \[foo_group\] contains 2 sections:
+ \[Index\] Name
+ \[[ 0-9]+\] .text.*
+ \[[ 0-9]+\] .data.*
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/group-5.s b/binutils-2.25/binutils/testsuite/binutils-all/group-5.s
new file mode 100644
index 00000000..b2e100aa
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/group-5.s
@@ -0,0 +1,12 @@
+ .section .text.foo,"axG",%progbits,foo_group,comdat
+ .global foo
+foo:
+ .word 0
+
+ .section .data.foo,"awG",%progbits,foo_group,comdat
+ .global bar
+bar:
+ .word 1
+
+ .section .dropme,"G",%progbits,foo_group,comdat
+ .word 2
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/group-6.d b/binutils-2.25/binutils/testsuite/binutils-all/group-6.d
new file mode 100644
index 00000000..33197456
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/group-6.d
@@ -0,0 +1,9 @@
+#PROG: objcopy
+#objcopy: --remove-section .text.foo
+#name: copy removing all group member
+#objdump: -fw
+
+#...
+.*: +file format .*
+architecture: .*
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/group-6.s b/binutils-2.25/binutils/testsuite/binutils-all/group-6.s
new file mode 100644
index 00000000..e4c2bdac
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/group-6.s
@@ -0,0 +1,4 @@
+ .text
+ .byte 0
+ .section .text.foo,"axG",%progbits,foo,comdat
+ .byte 0
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/group.s b/binutils-2.25/binutils/testsuite/binutils-all/group.s
new file mode 100644
index 00000000..cc1ffb6d
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/group.s
@@ -0,0 +1,8 @@
+ .section .text.foo,"axG",%progbits,foo_group,comdat
+ .global foo
+foo:
+ .word 0
+ .section .data.foo,"awG",%progbits,foo_group,comdat
+ .global bar
+bar:
+ .word 0
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/hppa/addendbug.s b/binutils-2.25/binutils/testsuite/binutils-all/hppa/addendbug.s
new file mode 100644
index 00000000..659306f0
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/hppa/addendbug.s
@@ -0,0 +1,23 @@
+ .SPACE $PRIVATE$
+ .SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
+ .SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
+ .SPACE $TEXT$
+ .SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
+ .SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+ .IMPORT $global$,DATA
+ .IMPORT $$dyncall,MILLICODE
+; gcc_compiled.:
+ .SPACE $TEXT$
+ .SUBSPA $CODE$
+
+ .align 4
+ .EXPORT initialize_char_syntax,CODE
+ .EXPORT initialize_char_syntax,ENTRY,PRIV_LEV=3,RTNVAL=GR
+initialize_char_syntax
+ .PROC
+ .CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3
+ .ENTRY
+ addil L'is_idchar-$global$-32,%r27
+ .EXIT
+ .PROCEND
+is_idchar .comm 256
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/hppa/freg.s b/binutils-2.25/binutils/testsuite/binutils-all/hppa/freg.s
new file mode 100644
index 00000000..501e10f9
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/hppa/freg.s
@@ -0,0 +1,23 @@
+ .LEVEL 2.0
+ .SPACE $PRIVATE$
+ .SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
+ .SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
+ .SPACE $TEXT$
+ .SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
+ .SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+ .IMPORT $global$,DATA
+ .IMPORT $$dyncall,MILLICODE
+; gcc_compiled.:
+ .SPACE $TEXT$
+ .SUBSPA $CODE$
+
+ .align 4
+ .NSUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+ .EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR
+main
+ .PROC
+ .CALLINFO FRAME=64,CALLS,SAVE_RP
+ .ENTRY
+ fmpyfadd,sgl %fr4L,%fr4R,%fr5R,%fr5L
+ .EXIT
+ .PROCEND
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/hppa/objdump.exp b/binutils-2.25/binutils/testsuite/binutils-all/hppa/objdump.exp
new file mode 100644
index 00000000..c6d16404
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/hppa/objdump.exp
@@ -0,0 +1,96 @@
+# Copyright 1993, 1994, 1995, 1997, 1999, 2000, 2002, 2007, 2009
+# Free Software Foundation, Inc.
+
+# 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.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-dejagnu@prep.ai.mit.edu
+
+# This file was written by Rob Savoye <rob@cygnus.com>
+# and rewritten by Ian Lance Taylor <ian@cygnus.com>
+
+if ![istarget hppa*-*-*] then {
+ return
+}
+
+# These tests are not suitable for wide mode.
+if [istarget hppa*w-*-*] then {
+ return
+}
+
+# elf hppa assembler doesn't support .subspa
+if {[istarget *64*-*-*] || [istarget *-*-*elf*] || [istarget *-*-linux*]} then {
+ return
+}
+
+if {[which $OBJDUMP] == 0} then {
+ perror "$OBJDUMP does not exist"
+ return
+}
+
+send_user "Version [binutil_version $OBJDUMP]"
+
+if {![binutils_assemble $srcdir/$subdir/addendbug.s tmpdir/addendbug.o]} then {
+ return
+}
+
+if [is_remote host] {
+ set objfile [remote_download host tmpdir/addendbug.o]
+} else {
+ set objfile tmpdir/addendbug.o
+}
+
+# Make sure the SOM BFD code sign extends constants in R_DATA_OVERRIDE fixups.
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -r $objfile"]
+
+if [istarget hppa*-*-*elf*] then {
+ set want "00000000 R_PARISC_DPREL21L\[ \]+is_idchar-0x00000020.*"
+} else {
+ set want "00000000 R_DP_RELATIVE\[ \]+is_idchar-0x00000020.*"
+}
+
+
+if [regexp $want $got] then {
+ pass "addendbug test"
+} else {
+ fail "addendbug test"
+}
+
+###########################
+# Set up the test of freg.s
+###########################
+
+if {![binutils_assemble $srcdir/$subdir/freg.s tmpdir/freg.o]} then {
+ return
+}
+
+if [is_remote host] {
+ set objfile [remote_download host tmpdir/freg.o]
+} else {
+ set objfile tmpdir/freg.o
+}
+
+# Make sure that we get R float regs like we're supposed to
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS --disassemble $objfile"]
+
+set want "fmpyfadd,sgl fr4,fr4R,fr5R,fr5"
+
+if [regexp $want $got] then {
+ pass "freg test"
+} else {
+ fail "freg test"
+}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1.s b/binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1.s
new file mode 100644
index 00000000..54c6d993
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1.s
@@ -0,0 +1,147 @@
+ .file "compressed-1.c"
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .text
+.Ltext0:
+ .cfi_sections .debug_frame
+ .p2align 4,,15
+.globl foo2
+ .type foo2, @function
+foo2:
+.LFB1:
+ .file 1 "compressed-1.c"
+ .loc 1 11 0
+ .cfi_startproc
+ .loc 1 12 0
+ rep
+ ret
+ .cfi_endproc
+.LFE1:
+ .size foo2, .-foo2
+ .p2align 4,,15
+.globl foo1
+ .type foo1, @function
+foo1:
+.LFB0:
+ .loc 1 5 0
+ .cfi_startproc
+ subl $12, %esp
+ .cfi_def_cfa_offset 16
+ .loc 1 7 0
+ addl $12, %esp
+ .cfi_def_cfa_offset 4
+ .loc 1 6 0
+ jmp bar
+ .cfi_endproc
+.LFE0:
+ .size foo1, .-foo1
+.Letext0:
+ .section .debug_info
+ .long 0x46
+ .value 0x3
+ .long .Ldebug_abbrev0
+ .byte 0x4
+ .uleb128 0x1
+ .long .LASF2
+ .byte 0x1
+ .long .LASF3
+ .long .LASF4
+ .long .Ltext0
+ .long .Letext0
+ .long .Ldebug_line0
+ .uleb128 0x2
+ .byte 0x1
+ .long .LASF0
+ .byte 0x1
+ .byte 0xa
+ .long .LFB1
+ .long .LFE1
+ .byte 0x1
+ .byte 0x9c
+ .uleb128 0x2
+ .byte 0x1
+ .long .LASF1
+ .byte 0x1
+ .byte 0x4
+ .long .LFB0
+ .long .LFE0
+ .byte 0x1
+ .byte 0x9c
+ .byte 0x0
+ .section .debug_abbrev
+ .uleb128 0x1
+ .uleb128 0x11
+ .byte 0x1
+ .uleb128 0x25
+ .uleb128 0xe
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x1b
+ .uleb128 0xe
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x1
+ .uleb128 0x10
+ .uleb128 0x6
+ .byte 0x0
+ .byte 0x0
+ .uleb128 0x2
+ .uleb128 0x2e
+ .byte 0x0
+ .uleb128 0x3f
+ .uleb128 0xc
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x1
+ .uleb128 0x40
+ .uleb128 0xa
+ .byte 0x0
+ .byte 0x0
+ .byte 0x0
+ .section .debug_pubnames,"",@progbits
+ .long 0x20
+ .value 0x2
+ .long .Ldebug_info0
+ .long 0x4a
+ .long 0x25
+ .string "foo2"
+ .long 0x37
+ .string "foo1"
+ .long 0x0
+ .section .debug_aranges,"",@progbits
+ .long 0x1c
+ .value 0x2
+ .long .Ldebug_info0
+ .byte 0x4
+ .byte 0x0
+ .value 0x0
+ .value 0x0
+ .long .Ltext0
+ .long .Letext0-.Ltext0
+ .long 0x0
+ .long 0x0
+ .section .debug_str,"MS",@progbits,1
+.LASF2:
+ .string "GNU C 4.4.4"
+.LASF0:
+ .string "foo2"
+.LASF1:
+ .string "foo1"
+.LASF4:
+ .string "."
+.LASF3:
+ .string "compressed-1.c"
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1a.d b/binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1a.d
new file mode 100644
index 00000000..f1883aa2
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1a.d
@@ -0,0 +1,160 @@
+#PROG: objcopy
+#source: compressed-1.s
+#as: --32 --compress-debug-sections
+#objcopy:
+#readelf: -w
+#name: objcopy on compressed debug sections
+
+Contents of the .[z]?debug_abbrev section:
+
+ Number TAG \(0x0\)
+ 1 DW_TAG_compile_unit \[has children\]
+ DW_AT_producer DW_FORM_strp
+ DW_AT_language DW_FORM_data1
+ DW_AT_name DW_FORM_strp
+ DW_AT_comp_dir DW_FORM_strp
+ DW_AT_low_pc DW_FORM_addr
+ DW_AT_high_pc DW_FORM_addr
+ DW_AT_stmt_list DW_FORM_data4
+ DW_AT value: 0 DW_FORM value: 0
+ 2 DW_TAG_subprogram \[no children\]
+ DW_AT_external DW_FORM_flag
+ DW_AT_name DW_FORM_strp
+ DW_AT_decl_file DW_FORM_data1
+ DW_AT_decl_line DW_FORM_data1
+ DW_AT_low_pc DW_FORM_addr
+ DW_AT_high_pc DW_FORM_addr
+ DW_AT_frame_base DW_FORM_block1
+ DW_AT value: 0 DW_FORM value: 0
+
+Contents of the .[z]?debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x46 \(32-bit\)
+ Version: 3
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 \(DW_TAG_compile_unit\)
+ <c> DW_AT_producer : \(indirect string, offset: 0x0\): GNU C 4.4.4
+ <10> DW_AT_language : 1 \(ANSI C\)
+ <11> DW_AT_name : \(indirect string, offset: 0x18\): compressed-1.c
+ <15> DW_AT_comp_dir : \(indirect string, offset: 0x16\): .
+ <19> DW_AT_low_pc : 0x0
+ <1d> DW_AT_high_pc : 0x1b
+ <21> DW_AT_stmt_list : 0x0
+ <1><25>: Abbrev Number: 2 \(DW_TAG_subprogram\)
+ <26> DW_AT_external : 1
+ <27> DW_AT_name : \(indirect string, offset: 0xc\): foo2
+ <2b> DW_AT_decl_file : 1
+ <2c> DW_AT_decl_line : 10
+ <2d> DW_AT_low_pc : 0x0
+ <31> DW_AT_high_pc : 0x2
+ <35> DW_AT_frame_base : 1 byte block: 9c \(DW_OP_call_frame_cfa\)
+ <1><37>: Abbrev Number: 2 \(DW_TAG_subprogram\)
+ <38> DW_AT_external : 1
+ <39> DW_AT_name : \(indirect string, offset: 0x11\): foo1
+ <3d> DW_AT_decl_file : 1
+ <3e> DW_AT_decl_line : 4
+ <3f> DW_AT_low_pc : 0x10
+ <43> DW_AT_high_pc : 0x1b
+ <47> DW_AT_frame_base : 1 byte block: 9c \(DW_OP_call_frame_cfa\)
+ <1><49>: Abbrev Number: 0
+
+Raw dump of debug contents of section .[z]?debug_line:
+
+ Offset: 0x0
+ Length: 64
+ DWARF Version: 2
+ Prologue Length: 37
+ Minimum Instruction Length: 1
+ Initial value of 'is_stmt': 1
+ Line Base: -5
+ Line Range: 14
+ Opcode Base: 13
+
+ Opcodes:
+ Opcode 1 has 0 args
+ Opcode 2 has 1 args
+ Opcode 3 has 1 args
+ Opcode 4 has 1 args
+ Opcode 5 has 1 args
+ Opcode 6 has 0 args
+ Opcode 7 has 0 args
+ Opcode 8 has 0 args
+ Opcode 9 has 1 args
+ Opcode 10 has 0 args
+ Opcode 11 has 0 args
+ Opcode 12 has 1 args
+
+ The Directory Table is empty.
+
+ The File Name Table \(offset 0x.*\):
+ Entry Dir Time Size Name
+ 1 0 0 0 compressed-1.c
+
+ Line Number Statements:
+ \[0x.*\] Extended opcode 2: set Address to 0x0
+ \[0x.*\] Advance Line by 10 to 11
+ \[0x.*\] Copy
+ \[0x.*\] Special opcode 6: advance Address by 0 to 0x0 and Line by 1 to 12
+ \[0x.*\] Advance Line by -7 to 5
+ \[0x.*\] Special opcode 229: advance Address by 16 to 0x10 and Line by 0 to 5
+ \[0x.*\] Special opcode 49: advance Address by 3 to 0x13 and Line by 2 to 7
+ \[0x.*\] Special opcode 46: advance Address by 3 to 0x16 and Line by -1 to 6
+ \[0x.*\] Advance PC by 5 to 0x1b
+ \[0x.*\] Extended opcode 1: End of Sequence
+
+
+Contents of the .[z]?debug_pubnames section:
+
+ Length: 32
+ Version: 2
+ Offset into .[z]?debug_info section: 0x0
+ Size of area in .[z]?debug_info section: 74
+
+ Offset Name
+ 25 foo2
+ 37 foo1
+
+Contents of the .[z]?debug_aranges section:
+
+ Length: 28
+ Version: 2
+ Offset into .[z]?debug_info: 0x0
+ Pointer Size: 4
+ Segment Size: 0
+
+ Address Length
+ 00000000 0000001b
+ 00000000 00000000
+
+Contents of the .[z]?debug_str section:
+
+ 0x00000000 474e5520 4320342e 342e3400 666f6f32 GNU C 4.4.4.foo2
+ 0x00000010 00666f6f 31002e00 636f6d70 72657373 .foo1...compress
+ 0x00000020 65642d31 2e6300 ed-1.c.
+
+Contents of the .[z]?debug_frame section:
+
+00000000 00000010 ffffffff CIE
+ Version: 1
+ Augmentation: ""
+ Code alignment factor: 1
+ Data alignment factor: -4
+ Return address column: 8
+
+ DW_CFA_def_cfa: r4 \(esp\) ofs 4
+ DW_CFA_offset: r8 \(eip\) at cfa-4
+ DW_CFA_nop
+ DW_CFA_nop
+
+00000014 0000000c 00000000 FDE cie=00000000 pc=00000000..00000002
+
+00000024 00000014 00000000 FDE cie=00000000 pc=00000010..0000001b
+ DW_CFA_advance_loc: 3 to 00000013
+ DW_CFA_def_cfa_offset: 16
+ DW_CFA_advance_loc: 3 to 00000016
+ DW_CFA_def_cfa_offset: 4
+ DW_CFA_nop
+ DW_CFA_nop
+
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1b.d b/binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1b.d
new file mode 100644
index 00000000..8cc9653e
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1b.d
@@ -0,0 +1,18 @@
+#PROG: strip
+#source: compressed-1.s
+#as: --32
+#strip:
+#readelf: -S --wide
+#name: strip on uncompressed debug sections
+
+There are 5 section headers, starting at offset 0x78:
+
+Section Headers:
+ \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
+ \[ 0\] NULL 00000000 000000 000000 00 0 0 0
+ \[ 1\] .text PROGBITS 00000000 000040 00001b 00 AX 0 0 16
+ \[ 2\] .data PROGBITS 00000000 00005b 000000 00 WA 0 0 1
+ \[ 3\] .bss NOBITS 00000000 00005b 000000 00 WA 0 0 1
+ \[ 4\] .shstrtab STRTAB 00000000 00005b 00001c 00 0 0 1
+Key to Flags:
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1c.d b/binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1c.d
new file mode 100644
index 00000000..f05380fc
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/i386/compressed-1c.d
@@ -0,0 +1,18 @@
+#PROG: strip
+#source: compressed-1.s
+#as: --32 --compress-debug-sections
+#strip:
+#readelf: -S --wide
+#name: strip on compressed debug sections
+
+There are 5 section headers, starting at offset 0x78:
+
+Section Headers:
+ \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
+ \[ 0\] NULL 00000000 000000 000000 00 0 0 0
+ \[ 1\] .text PROGBITS 00000000 000040 00001b 00 AX 0 0 16
+ \[ 2\] .data PROGBITS 00000000 00005b 000000 00 WA 0 0 1
+ \[ 3\] .bss NOBITS 00000000 00005b 000000 00 WA 0 0 1
+ \[ 4\] .shstrtab STRTAB 00000000 00005b 00001c 00 0 0 1
+Key to Flags:
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/i386/i386.exp b/binutils-2.25/binutils/testsuite/binutils-all/i386/i386.exp
new file mode 100644
index 00000000..4b9fffdc
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/i386/i386.exp
@@ -0,0 +1,38 @@
+# Copyright 2010, 2012
+# Free Software Foundation, Inc.
+
+# 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 {!([istarget "i*86-*-linux*"]
+ || [istarget "i*86-*-gnu*"]
+ || [istarget "i*86-*-nacl*"]
+ || [istarget "x86_64-*-linux*"]
+ || [istarget "x86_64-*-nacl*"])
+ || ![is_elf_format]
+ || [is_remote host]} then {
+ return
+}
+
+global tempfile
+global copyfile
+set tempfile tmpdir/i386temp.o
+set copyfile tmpdir/i386copy
+
+set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
+foreach t $test_list {
+ # We need to strip the ".d", but can leave the dirname.
+ verbose [file rootname $t]
+ run_dump_test [file rootname $t]
+}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/libdw2-compressed.out b/binutils-2.25/binutils/testsuite/binutils-all/libdw2-compressed.out
new file mode 100644
index 00000000..6c1f7f5e
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/libdw2-compressed.out
@@ -0,0 +1,5 @@
+#...
+ .* ZLIB.*
+#...
+ .* ZLIB.*
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/libdw2.out b/binutils-2.25/binutils/testsuite/binutils-all/libdw2.out
new file mode 100644
index 00000000..457774c0
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/libdw2.out
@@ -0,0 +1,13 @@
+#...
+ \[[ 0-9]+\] \.debug_info[ ]+(PROGBITS|MIPS_DWARF)[ 0-9a-z]+ [^Z]*
+#...
+ \[[ 0-9]+\] \.debug_line[ ]+(PROGBITS|MIPS_DWARF)[ 0-9a-z]+ [^Z]*
+#...
+ \[[ 0-9]+\] \.debug_abbrev[ ]+(PROGBITS|MIPS_DWARF)[ 0-9a-z]+ [^Z]*
+#...
+ \[[ 0-9]+\] \.debug_info[ ]+(PROGBITS|MIPS_DWARF)[ 0-9a-z]+ [^Z]*
+#...
+ \[[ 0-9]+\] \.debug_line[ ]+(PROGBITS|MIPS_DWARF)[ 0-9a-z]+ [^Z]*
+#...
+ \[[ 0-9]+\] \.debug_abbrev[ ]+(PROGBITS|MIPS_DWARF)[ 0-9a-z]+ [^Z]*
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/link-order.s b/binutils-2.25/binutils/testsuite/binutils-all/link-order.s
new file mode 100644
index 00000000..5994cb81
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/link-order.s
@@ -0,0 +1,13 @@
+ .text
+ .align 16
+ .global foo#
+ .proc foo#
+foo:
+ .prologue 2, 2
+ .vframe r2
+ mov r2 = r12
+ .body
+ .restore sp
+ mov r12 = r2
+ br.ret.sptk.many b0
+ .endp foo#
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-1.d b/binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-1.d
new file mode 100644
index 00000000..a5286ed1
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-1.d
@@ -0,0 +1,19 @@
+#PROG: objcopy
+#objdump: --syms
+#objcopy: --localize-hidden
+#name: --localize-hidden test 1
+#...
+0+1200 l .*\*ABS\* 0+ \.hidden Lhidden
+0+1300 l .*\*ABS\* 0+ \.internal Linternal
+0+1400 l .*\*ABS\* 0+ \.protected Lprotected
+0+1100 l .*\*ABS\* 0+ Ldefault
+#...
+0+2200 l .*\*ABS\* 0+ \.hidden Ghidden
+0+2300 l .*\*ABS\* 0+ \.internal Ginternal
+0+3200 l .*\*ABS\* 0+ \.hidden Whidden
+0+3300 l .*\*ABS\* 0+ \.internal Winternal
+0+2100 g .*\*ABS\* 0+ Gdefault
+0+2400 g .*\*ABS\* 0+ \.protected Gprotected
+0+3100 w.*\*ABS\* 0+ Wdefault
+0+3400 w.*\*ABS\* 0+ \.protected Wprotected
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-1.s b/binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-1.s
new file mode 100644
index 00000000..cb9f367e
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-1.s
@@ -0,0 +1,36 @@
+ .globl Gdefault
+ .globl Ghidden
+ .globl Ginternal
+ .globl Gprotected
+
+ .weak Wdefault
+ .weak Whidden
+ .weak Winternal
+ .weak Wprotected
+
+ .hidden Lhidden
+ .hidden Ghidden
+ .hidden Whidden
+
+ .internal Linternal
+ .internal Ginternal
+ .internal Winternal
+
+ .protected Lprotected
+ .protected Gprotected
+ .protected Wprotected
+
+ Ldefault == 0x1100
+ Lhidden == 0x1200
+ Linternal == 0x1300
+ Lprotected == 0x1400
+
+ Gdefault == 0x2100
+ Ghidden == 0x2200
+ Ginternal == 0x2300
+ Gprotected == 0x2400
+
+ Wdefault == 0x3100
+ Whidden == 0x3200
+ Winternal == 0x3300
+ Wprotected == 0x3400
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-2.d b/binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-2.d
new file mode 100644
index 00000000..ed3807ae
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-2.d
@@ -0,0 +1,7 @@
+#PROG: objcopy
+#nm: -n
+#objcopy: --localize-hidden
+#name: --localize-hidden test 2
+#...
+0+100 A G
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-2.s b/binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-2.s
new file mode 100644
index 00000000..443bad08
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/localize-hidden-2.s
@@ -0,0 +1,2 @@
+ .globl G
+ G == 0x100
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/m68k/fnop.s b/binutils-2.25/binutils/testsuite/binutils-all/m68k/fnop.s
new file mode 100644
index 00000000..628e1989
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/m68k/fnop.s
@@ -0,0 +1 @@
+ fnop
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/m68k/movem.s b/binutils-2.25/binutils/testsuite/binutils-all/m68k/movem.s
new file mode 100644
index 00000000..b3718d50
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/m68k/movem.s
@@ -0,0 +1,2 @@
+ movem.l %d0-%d3,-(%sp)
+ movem.l %d0-%d3,(%sp)
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/m68k/objdump.exp b/binutils-2.25/binutils/testsuite/binutils-all/m68k/objdump.exp
new file mode 100644
index 00000000..5043ef7e
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/m68k/objdump.exp
@@ -0,0 +1,79 @@
+# Copyright 2004, 2007, 2009, 2010
+# Free Software Foundation, Inc.
+
+# 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 {![istarget "m68*-*-*"] || [istarget "m68h*-*-*"] || [istarget "m681*-*-*"]} then {
+ return
+}
+
+if {[which $OBJDUMP] == 0} then {
+ perror "$OBJDUMP does not exist"
+ return
+}
+
+send_user "Version [binutil_version $OBJDUMP]"
+
+###########################
+# Set up the test of movem.s
+###########################
+
+if {![binutils_assemble $srcdir/$subdir/movem.s tmpdir/movem.o]} then {
+ return
+}
+
+if [is_remote host] {
+ set objfile [remote_download host tmpdir/movem.o]
+} else {
+ set objfile tmpdir/movem.o
+}
+
+# Make sure that the movem is correctly decoded.
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS --disassemble $objfile"]
+
+set want "moveml %d0-%d3,%sp@-.*moveml %d0-%d3,%sp@\[\r\n\]"
+
+if [regexp $want $got] then {
+ pass "movem test"
+} else {
+ fail "movem test"
+}
+
+###########################
+# Set up the test of fnop.s
+###########################
+
+if {![binutils_assemble $srcdir/$subdir/fnop.s tmpdir/fnop.o]} then {
+ return
+}
+
+if [is_remote host] {
+ set objfile [remote_download host tmpdir/fnop.o]
+} else {
+ set objfile tmpdir/fnop.o
+}
+
+# Make sure that fnop is decoded as fnop, not fbf.
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS --disassemble $objfile"]
+
+set want "fnop *\[\r\n\]"
+
+if [regexp $want $got] then {
+ pass "fnop test"
+} else {
+ fail "fnop test"
+}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/mips/mips.exp b/binutils-2.25/binutils/testsuite/binutils-all/mips/mips.exp
new file mode 100644
index 00000000..eba88680
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/mips/mips.exp
@@ -0,0 +1,26 @@
+# Copyright 2013
+# Free Software Foundation, Inc.
+
+# 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 ![istarget mips*-*-*] {
+ return
+}
+
+if [is_elf_format] {
+ run_dump_test "mixed-mips16"
+ run_dump_test "mixed-micromips"
+}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-micromips.d b/binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-micromips.d
new file mode 100644
index 00000000..0bc9e412
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-micromips.d
@@ -0,0 +1,30 @@
+#PROG: objcopy
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: Mixed MIPS and microMIPS disassembly
+#as: -32 -mips2
+
+# Test mixed-mode disassembly in overlapping sections.
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text\.foo:
+[0-9a-f]+ <[^>]*> 27bdffe0 addiu sp,sp,-32
+[0-9a-f]+ <[^>]*> afbf001c sw ra,28\(sp\)
+[0-9a-f]+ <[^>]*> 0c000000 jal 00000000 <.*>
+[ ]*[0-9a-f]+: R_MIPS_26 baz
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbf001c lw ra,28\(sp\)
+[0-9a-f]+ <[^>]*> 03e00008 jr ra
+[0-9a-f]+ <[^>]*> 27bd0020 addiu sp,sp,32
+ \.\.\.
+
+Disassembly of section \.text\.bar:
+[0-9a-f]+ <[^>]*> 4ff1 addiu sp,sp,-32
+[0-9a-f]+ <[^>]*> cbe7 sw ra,28\(sp\)
+[0-9a-f]+ <[^>]*> 7400 0000 jals 00000000 <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 baz
+[0-9a-f]+ <[^>]*> 0c00 nop
+[0-9a-f]+ <[^>]*> 4be7 lw ra,28\(sp\)
+[0-9a-f]+ <[^>]*> 4708 jraddiusp 32
+[0-9a-f]+ <[^>]*> 0c00 nop
+ \.\.\.
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-micromips.s b/binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-micromips.s
new file mode 100644
index 00000000..0528c904
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-micromips.s
@@ -0,0 +1,33 @@
+ .section .text.foo, "ax", @progbits
+ .set nomicromips
+ .globl foo
+ .ent foo
+foo:
+ addiu $sp, $sp, -32
+ sw $ra, 28($sp)
+ jal baz
+ lw $ra, 28($sp)
+ addiu $sp, $sp, 32
+ jr $ra
+ .end foo
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+ .align 2
+ .space 8
+
+
+ .section .text.bar, "ax", @progbits
+ .set micromips
+ .globl bar
+ .ent bar
+bar:
+ addiu $sp, $sp, -32
+ sw $ra, 28($sp)
+ jals baz
+ lw $ra, 28($sp)
+ jraddiusp 32
+ .end bar
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+ .align 2
+ .space 8
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-mips16.d b/binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-mips16.d
new file mode 100644
index 00000000..09e1821a
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-mips16.d
@@ -0,0 +1,30 @@
+#PROG: objcopy
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: Mixed MIPS and MIPS16 disassembly
+#as: -32 -mips2
+
+# Test mixed-mode disassembly in overlapping sections.
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text\.foo:
+[0-9a-f]+ <[^>]*> 27bdffe0 addiu sp,sp,-32
+[0-9a-f]+ <[^>]*> afbf001c sw ra,28\(sp\)
+[0-9a-f]+ <[^>]*> 0c000000 jal 00000000 <.*>
+[ ]*[0-9a-f]+: R_MIPS_26 baz
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbf001c lw ra,28\(sp\)
+[0-9a-f]+ <[^>]*> 03e00008 jr ra
+[0-9a-f]+ <[^>]*> 27bd0020 addiu sp,sp,32
+ \.\.\.
+
+Disassembly of section \.text\.bar:
+[0-9a-f]+ <[^>]*> 63fc addiu sp,-32
+[0-9a-f]+ <[^>]*> 6207 sw ra,28\(sp\)
+[0-9a-f]+ <[^>]*> 1800 0000 jal 00000000 <.*>
+[ ]*[0-9a-f]+: R_MIPS16_26 baz
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 9707 lw a3,28\(sp\)
+[0-9a-f]+ <[^>]*> ef00 jr a3
+[0-9a-f]+ <[^>]*> 6304 addiu sp,32
+ \.\.\.
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-mips16.s b/binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-mips16.s
new file mode 100644
index 00000000..338022c1
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/mips/mixed-mips16.s
@@ -0,0 +1,34 @@
+ .section .text.foo, "ax", @progbits
+ .set nomips16
+ .globl foo
+ .ent foo
+foo:
+ addiu $sp, $sp, -32
+ sw $ra, 28($sp)
+ jal baz
+ lw $ra, 28($sp)
+ addiu $sp, $sp, 32
+ jr $ra
+ .end foo
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+ .align 2
+ .space 8
+
+
+ .section .text.bar, "ax", @progbits
+ .set mips16
+ .globl bar
+ .ent bar
+bar:
+ addiu $sp, -32
+ sw $ra, 28($sp)
+ jal baz
+ lw $a3, 28($sp)
+ addiu $sp, 32
+ jr $a3
+ .end bar
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+ .align 2
+ .space 8
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/needed-by-reloc.s b/binutils-2.25/binutils/testsuite/binutils-all/needed-by-reloc.s
new file mode 100644
index 00000000..40ebdedf
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/needed-by-reloc.s
@@ -0,0 +1,7 @@
+ .globl foo
+
+ .data
+ .long foo
+ .text
+foo:
+ .long 1
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/nm-1.s b/binutils-2.25/binutils/testsuite/binutils-all/nm-1.s
new file mode 100644
index 00000000..7f1633c3
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/nm-1.s
@@ -0,0 +1,15 @@
+ .globl text_symbol1
+ .globl text_symbol2
+ .globl text_symbol3
+ .globl end_symbol
+ .text
+text_symbol1:
+ .byte 0,0,0,0
+ .byte 0,0,0,0
+ .byte 0,0,0,0
+text_symbol2:
+ .byte 0,0,0,0
+ .byte 0,0,0,0
+text_symbol3:
+ .byte 0,0,0,0
+end_symbol:
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/nm-elf-1.s b/binutils-2.25/binutils/testsuite/binutils-all/nm-elf-1.s
new file mode 100644
index 00000000..8e2f1f48
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/nm-elf-1.s
@@ -0,0 +1,16 @@
+ .globl text_symbol1
+ .globl text_symbol2
+ .globl text_symbol3
+ .text
+text_symbol1:
+ .long 0
+ .long 0
+ .long 0
+ .size text_symbol1, . - text_symbol1
+text_symbol2:
+ .long 0
+ .long 0
+ .size text_symbol2, . - text_symbol2
+text_symbol3:
+ .long 0
+ .size text_symbol3, . - text_symbol3
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/nm.exp b/binutils-2.25/binutils/testsuite/binutils-all/nm.exp
new file mode 100644
index 00000000..e9e7f5fb
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/nm.exp
@@ -0,0 +1,209 @@
+# Copyright 1993, 1994, 1995, 1997, 2007, 2009 Free Software Foundation, Inc.
+
+# 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.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-dejagnu@prep.ai.mit.edu
+
+# This file was written by Rob Savoye <rob@cygnus.com>
+# and rewritten by Ian Lance Taylor <ian@cygnus.com>
+
+if ![is_remote host] {
+ if {[which $NM] == 0} then {
+ perror "$NM does not exist"
+ return
+ }
+}
+
+send_user "Version [binutil_version $NM]"
+
+
+if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then {
+ return
+}
+
+if [is_remote host] {
+ set tempfile [remote_download host tmpdir/bintest.o]
+} else {
+ set tempfile tmpdir/bintest.o
+}
+
+# Test nm with no arguments.
+
+# This test does not work correctly on ECOFF targets, because ECOFF
+# stores most symbols twice, which messes up the nm output.
+setup_xfail "alpha*-*-osf*" "alpha*-*-netware*"
+setup_xfail "mips*-*-ultrix*" "mips*-*-ecoff*" "mips*-*-irix4*"
+setup_xfail "mips*-*-riscos*" "mips*-*-sysv3*" "mips*-sony-bsd*"
+
+# This test does not work correctly on XCOFF targets, because XCOFF
+# does not enter static symbols in the symbol table.
+setup_xfail "*-*-aix*"
+
+set got [binutils_run $NM "$NMFLAGS $tempfile"]
+
+if [info exists vars] then { unset vars }
+while {[regexp "(\[a-zA-Z\]) (\[a-z_\]*_symbol)(.*)" $got all type symbol rest]} {
+ set vars($symbol) $type
+ set got $rest
+}
+
+if {![info exists vars(text_symbol)] \
+ || $vars(text_symbol) != "T" \
+ || ![info exists vars(data_symbol)] \
+ || $vars(data_symbol) != "D" \
+ || ![info exists vars(common_symbol)] \
+ || $vars(common_symbol) != "C" \
+ || ![info exists vars(external_symbol)] \
+ || $vars(external_symbol) != "U" \
+ || ![info exists vars(static_text_symbol)] \
+ || $vars(static_text_symbol) != "t" \
+ || ![info exists vars(static_data_symbol)] \
+ || $vars(static_data_symbol) != "d"} {
+ fail "nm (no arguments)"
+} else {
+ pass "nm (no arguments)"
+}
+
+# Test nm -g
+
+set got [binutils_run $NM "$NMFLAGS -g $tempfile"]
+
+if [info exists vars] then { unset vars }
+while {[regexp "(\[a-z_\]*_symbol)(.*)" $got all symbol rest]} {
+ set vars($symbol) 1
+ set got $rest
+}
+
+if {![info exists vars(text_symbol)] \
+ || ![info exists vars(data_symbol)] \
+ || ![info exists vars(common_symbol)] \
+ || ![info exists vars(external_symbol)] \
+ || [info exists vars(static_text_symbol)] \
+ || [info exists vars(static_data_symbol)]} {
+ fail "nm -g"
+} else {
+ pass "nm -g"
+}
+
+if [is_elf_format] {
+ # PR binutils/12753
+ # Test nm -g on a unique global symbol.
+
+ # Only some targets support unique symbols.
+ if {([istarget "i?86-*-*"]
+ || [istarget "x86_64-*-*"]
+ || [istarget "arm-*-*"]
+ || [istarget "powerpc*-*-*"]
+ || [istarget "sparc*-*-*"])} then {
+
+ if {![binutils_assemble $srcdir/$subdir/unique.s tmpdir/unique.o]} then {
+ fail "nm -g on unique symbols (assembling)"
+ } else {
+ if [is_remote host] {
+ set tmpfile [remote_download host tmpdir/unique.o]
+ } else {
+ set tmpfile tmpdir/unique.o
+ }
+
+ set got [binutils_run $NM "$NMFLAGS -g $tmpfile"]
+
+ if [regexp "u foo" $got] then {
+ pass "nm -g on unique symbols"
+ } else {
+ fail "nm -g on unique symbols"
+ }
+
+ if { $verbose < 1 } {
+ remote_file host delete "tmpdir/unique.o"
+ }
+ }
+ }
+}
+
+# Test nm -P
+
+# This test does not work correctly on ECOFF targets, because ECOFF
+# stores most symbols twice, which messes up the nm output.
+setup_xfail "alpha*-*-osf*" "alpha*-*-netware*"
+setup_xfail "mips*-*-ultrix*" "mips*-*-ecoff*" "mips*-*-irix4*"
+setup_xfail "mips*-*-riscos*" "mips*-*-sysv3*" "mips*-sony-bsd*"
+
+# This test does not work correctly on XCOFF targets, because XCOFF
+# does not enter static symbols in the symbol table.
+setup_xfail "*-*-aix*"
+
+set got [binutils_run $NM "$NMFLAGS -P $tempfile"]
+
+set want "common_symbol C \[0\]*4.*data_symbol D \[0-9a-fA-F\]*.*external_symbol U.*static_data_symbol d \[0-9a-fA-F\]*.*static_text_symbol t \[0-9a-fA-F\]*.*text_symbol T \[0-9a-fA-F\]*"
+
+if [regexp $want $got] then {
+ pass "nm -P"
+} else {
+ fail "nm -P"
+}
+
+# Test nm --size-sort
+
+# The target exceptions here are intended for targets that have ELF as
+# an intermediate format or otherwise require the ELF-variant syntax
+# for proper size annotation. It would be nice if is_elf_format found
+# all the ELF variants, but adding the patterns here to that proc then
+# introduces a whole slew of new regressions in the GAS and LD testsuites.
+if { [is_elf_format]
+ || [istarget *-*-dragonfly*]
+ || [istarget *-*-*elf]
+ || [istarget *-*-freebsd*]
+ || [istarget *-*-lynxos*]
+ || [istarget "mmix-knuth-mmixware"]
+ || [istarget *-*-netware*]
+ || [istarget *-*-nto*]
+ || [istarget *-*-rdos*]
+ || [istarget *-*-tpf*]
+ || [istarget *-*-uclinux*]
+ || [istarget ia64-*-*vms*]
+ || [istarget *-*-vxworks*] } {
+ set nm_1_src "nm-elf-1.s"
+} else {
+ set nm_1_src "nm-1.s"
+}
+
+if {![binutils_assemble $srcdir/$subdir/$nm_1_src tmpdir/nm-1.o]} then {
+ return
+}
+
+if [is_remote host] {
+ set tempfile [remote_download host tmpdir/nm-1.o]
+} else {
+ set tempfile tmpdir/nm-1.o
+}
+
+# This test does not work correctly on ECOFF targets, because ECOFF
+# stores most symbols twice, which messes up the nm output.
+setup_xfail "alpha*-*-osf*" "alpha*-*-netware*"
+setup_xfail "mips*-*-ultrix*" "mips*-*-ecoff*" "mips*-*-irix4*"
+setup_xfail "mips*-*-riscos*" "mips*-*-sysv3*" "mips*-sony-bsd*"
+
+set got [binutils_run $NM "$NMFLAGS --size-sort $tempfile"]
+
+set want "0*4 T text_symbol3.*0*8 T text_symbol2.*0*c T text_symbol1"
+
+if [regexp $want $got] then {
+ pass "nm --size-sort"
+} else {
+ fail "nm --size-sort"
+}
+
+# There are certainly other tests that could be run.
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/note-1.d b/binutils-2.25/binutils/testsuite/binutils-all/note-1.d
new file mode 100644
index 00000000..17a7d59a
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/note-1.d
@@ -0,0 +1,13 @@
+#PROG: objcopy
+#readelf: -S --wide
+#objcopy: --add-section .note=$srcdir/note-1.d
+#name: add notes section
+#source: copytest.s
+#not-target: h8300-*-*
+
+There are .*
+
+Section Headers:
+#...
+ \[[ 0-9]*\] .note NOTE 0*0000000 0*...... 0*000... .*
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/objcopy.exp b/binutils-2.25/binutils/testsuite/binutils-all/objcopy.exp
new file mode 100644
index 00000000..4dfb73c7
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/objcopy.exp
@@ -0,0 +1,1006 @@
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+# 2004, 2006, 2007, 2009, 2010, 2011
+# Free Software Foundation, Inc.
+
+# 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.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-dejagnu@prep.ai.mit.edu
+
+# Written by Ian Lance Taylor <ian@cygnus.com>
+
+if ![is_remote host] {
+ if {[which $OBJCOPY] == 0} then {
+ perror "$OBJCOPY does not exist"
+ return
+ }
+}
+
+send_user "Version [binutil_version $OBJCOPY]"
+
+if ![is_remote host] {
+ set tempfile tmpdir/bintest.o
+ set copyfile tmpdir/copy
+} else {
+ set tempfile [remote_download host tmpdir/bintest.o]
+ set copyfile copy
+}
+
+# Test that objcopy does not modify a file when copying it.
+
+proc objcopy_test {testname srcfile} {
+ global OBJCOPY
+ global OBJCOPYFLAGS
+ global srcdir
+ global subdir
+ global tempfile
+ global copyfile
+
+ if {![binutils_assemble $srcdir/$subdir/${srcfile} tmpdir/bintest.o]} then {
+ perror "unresolved $testname"
+ unresolved "objcopy ($testname)"
+ return
+ }
+
+ set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS $tempfile ${copyfile}.o"]
+
+ if ![string match "" $got] then {
+ fail "objcopy ($testname)"
+ } else {
+ send_log "cmp $tempfile ${copyfile}.o\n"
+ verbose "cmp $tempfile ${copyfile}.o"
+ if [is_remote host] {
+ set src1 tmpdir/bintest.o
+ set src2 tmpdir/copy.o
+ remote_upload host $tempfile $src1
+ remote_upload host ${copyfile}.o $src2
+ } else {
+ set src1 ${tempfile}
+ set src2 ${copyfile}.o
+ }
+ set status [remote_exec build cmp "${src1} ${src2}"]
+ set exec_output [lindex $status 1]
+ set exec_output [prune_warnings $exec_output]
+
+ # On some systems the result of objcopy will not be identical.
+ # Usually this is just because gas isn't using bfd to write the
+ # files in the first place, and may order things a little
+ # differently. Those systems should use setup_xfail here.
+
+ setup_xfail "h8300-*-coff"
+ setup_xfail "h8500-*-rtems*" "h8500-*-coff"
+ setup_xfail "hppa*-*-*"
+ setup_xfail "i960-*"
+ setup_xfail "m68*-*-*coff" "m68*-*-hpux*" "m68*-*-lynxos*"
+ setup_xfail "m68*-*-sysv*" "m68*-apple-aux*"
+ setup_xfail "m8*-*"
+ setup_xfail "or32-*-rtems*" "or32-*-coff"
+ setup_xfail "sh-*-coff*"
+ setup_xfail "tic80-*-*" "w65-*"
+
+ clear_xfail "hppa*64*-*-hpux*" "hppa*-*-linux*" "hppa*-*-lites*"
+ clear_xfail "hppa*-*-*n*bsd*" "hppa*-*-rtems*" "*-*-*elf*"
+ clear_xfail "m68*-*-sysv4*"
+
+ if [string match "" $exec_output] then {
+ pass "objcopy ($testname)"
+ } else {
+ send_log "$exec_output\n"
+ verbose "$exec_output" 1
+
+ # On OSF/1, this succeeds with gas and fails with /bin/as.
+ setup_xfail "alpha*-*-osf*"
+
+ fail "objcopy ($testname)"
+ }
+ }
+}
+
+objcopy_test "simple copy" bintest.s
+
+# Test reversing bytes in a section.
+
+set reversed ${tempfile}-reversed
+set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -j .data --reverse-bytes=4 $tempfile $reversed"]
+
+if ![string match "" $got] then {
+ fail "objcopy --reverse-bytes"
+} else {
+ if [is_remote host] {
+ remote_upload host ${reversed} tmpdir/copy-reversed.o
+ set reversed tmpdir/copy-reversed.o
+ }
+
+ set origdata [binutils_run $OBJDUMP "$OBJDUMPFLAGS -s -j .data $tempfile"]
+ set revdata [binutils_run $OBJDUMP "$OBJDUMPFLAGS -s -j .data $reversed"]
+
+ set want "^ \[0-9\]+ (\[0-9\]+)"
+ set found_orig [regexp -lineanchor $want $origdata -> origdata]
+ set found_rev [regexp -lineanchor $want $revdata -> revdata]
+
+ if {$found_orig == 0 || $found_rev == 0} then {
+ # som doesn't have a .data section
+ setup_xfail "hppa*-*-hpux*"
+ clear_xfail "hppa*64*-*-hpux*"
+
+ fail "objcopy --reverse-bytes"
+ } else {
+ scan $origdata "%2x%2x%2x%2x" b1 b2 b3 b4
+ scan $revdata "%2x%2x%2x%2x" c4 c3 c2 c1
+
+ if {$b1 == $c1 && $b2 == $c2 && $b3 == $c3 && $b4 == $c4} then {
+ pass "objcopy --reverse-bytes"
+ } else {
+ fail "objcopy --reverse-bytes"
+ }
+ }
+}
+
+# Test interleaved copy of multiple byte width
+
+set sequence_file sequence_file
+set file [open ${sequence_file} w]
+puts ${file} "12345678"
+close ${file}
+
+if [is_remote host] {
+ remote_upload host ${sequence_file} tmpdir/sequence_file
+ set sequence_file tmpdir/sequence_file
+}
+
+set got [binutils_run $OBJCOPY "-I binary -i 4 -b 0 --interleave-width 2 ${sequence_file} ${copyfile}"]
+
+if ![string match "" $got] then {
+ fail "objcopy -i --interleave-width"
+} else {
+ if [is_remote host] {
+ remote_upload host ${copyfile} tmpdir/interleave_output
+ set interleave_output tmpdir/interleave_output
+ } else {
+ set interleave_output ${copyfile}
+ }
+
+ set file [open ${interleave_output} r]
+ gets $file line
+ send_log "$line\n"
+ verbose $line
+
+ if ![string match "1256" $line] then {
+ fail "objcopy -i --interleave-width"
+ }
+ pass "objcopy -i --interleave-width"
+
+ close $file
+}
+
+# Test generating S records.
+
+# We make the srec filename 8.3 compatible. Note that the header string
+# matched against depends on the name of the file. Ugh.
+
+if [is_remote host] {
+ set srecfile copy.sre
+ set header_string S00B0000636F70792E737265C1
+} else {
+ set srecfile ${copyfile}.srec
+ set header_string S0130000746D706469722F636F70792E7372656397
+}
+
+set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -O srec $tempfile ${srecfile}"]
+
+if ![string match "" $got] then {
+ fail "objcopy -O srec"
+} else {
+ if [is_remote host] {
+ remote_upload host ${srecfile} tmpdir/copy.srec
+ set srecfile tmpdir/copy.srec
+ }
+ set file [open ${srecfile} r]
+
+ # The first S record is fixed by the file name we are using.
+ gets $file line
+ send_log "$line\n"
+ verbose $line
+ if ![regexp "$header_string.*" $line] {
+ send_log "bad header\n"
+ fail "objcopy -O srec"
+ } else {
+ while {[gets $file line] != -1 \
+ && [regexp "^S\[123\]\[0-9a-fA-F\]+\[\r\n\]*$" $line]} {
+ send_log "$line\n"
+ verbose $line
+ set line "**EOF**"
+ }
+ send_log "$line\n"
+ verbose $line
+ if ![regexp "^S\[789\]\[0-9a-fA-F\]+\[\r\n\]*$" $line] then {
+ send_log "bad trailer\n"
+ fail "objcopy -O srec"
+ } else {
+ if {[gets $file line] != -1} then {
+ send_log "garbage at end\n"
+ send_log "$line\n"
+ verbose $line
+ fail "objcopy -O srec"
+ } else {
+ set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -f ${srecfile}"]
+ if ![regexp "file format srec" $got] then {
+ send_log "objdump failed\n"
+ fail "objcopy -O srec"
+ } else {
+ pass "objcopy -O srec"
+ }
+ }
+ }
+ }
+
+ close $file
+}
+
+# Test setting and adjusting the start address. We only test this
+# while generating S records, because we may not be able to set the
+# start address for other object file formats, and the S record case
+# is the only useful one anyhow.
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -f $tempfile"]
+if ![regexp "start address (\[0-9a-fA-FxX\]+)" $got all origstart] then {
+ perror "objdump can not recognize bintest.o"
+ set origstart ""
+} else {
+ set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -O srec --set-start 0x7654 $tempfile ${copyfile}.srec"]
+ if ![string match "" $got] then {
+ fail "objcopy --set-start"
+ } else {
+ set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -f ${copyfile}.srec"]
+ if ![regexp "file format srec.*start address (\[0-9a-fA-FxX\]+)" $got all srecstart] then {
+ fail "objcopy --set-start"
+ } else {
+ if {$srecstart != 0x7654} then {
+ send_log "$srecstart != 0x7654\n"
+ fail "objcopy --set-start"
+ } else {
+ pass "objcopy --set-start"
+ }
+ }
+ }
+
+ set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -O srec --adjust-start 0x123 $tempfile ${copyfile}.srec"]
+ if ![string match "" $got] then {
+ fail "objcopy --adjust-start"
+ } else {
+ set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -f ${copyfile}.srec"]
+ if ![regexp "file format srec.*start address (\[0-9a-fA-FxX\]+)" $got all srecstart] then {
+ fail "objcopy --adjust-start"
+ } else {
+ if {$srecstart != $origstart + 0x123} then {
+ send_log "$srecstart != $origstart + 0x123\n"
+ fail "objcopy --adjust-start"
+ } else {
+ pass "objcopy --adjust-start"
+ }
+ }
+ }
+}
+
+# Test adjusting the overall VMA, and adjusting the VMA of a
+# particular section. We again only test this when generating S
+# records.
+
+set low ""
+set lowname ""
+
+set headers [binutils_run $OBJDUMP "$OBJDUMPFLAGS -h $tempfile"]
+
+set headers_regexp "\[ 0-9\]+(\[^ \]+)\[ \]*(\[0-9a-fA-F\]+)\[ \]+\[0-9a-fA-F\]+\[ \]+(\[0-9a-fA-F\]+)\[ \]+\[0-9a-fA-F\]+\[ \]+2\[*\]\[*\]\[0-9\]+(.*)"
+
+set got $headers
+while {[regexp $headers_regexp $got all name size vma rest]} {
+ set vma 0x$vma
+ set size 0x$size
+ if {$size != 0} {
+ if {$low == "" || $vma < $low} {
+ set low $vma
+ set lowname $name
+ }
+ }
+ set got $rest
+}
+
+if {$low == "" || $origstart == ""} then {
+ perror "objdump can not recognize bintest.o"
+} else {
+ set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -O srec --adjust-vma 0x123 $tempfile ${copyfile}.srec"]
+ if ![string match "" $got] then {
+ fail "objcopy --adjust-vma"
+ } else {
+ set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -fh ${copyfile}.srec"]
+ set want "file format srec.*start address\[ \]*(\[0-9a-fA-FxX\]+).*sec1\[ \]+\[0-9a-fA-F\]+\[ \]+(\[0-9a-fA-F\]+)"
+ if ![regexp $want $got all start vma] then {
+ fail "objcopy --adjust-vma"
+ } else {
+ set vma 0x$vma
+ if {$vma != $low + 0x123} then {
+ send_log "$vma != $low + 0x123\n"
+ fail "objcopy --adjust-vma"
+ } else {
+ if {$start != $origstart + 0x123} then {
+ send_log "$start != $origstart + 0x123\n"
+ fail "objcopy --adjust-vma"
+ } else {
+ pass "objcopy --adjust-vma"
+ }
+ }
+ }
+ }
+
+ set arg ""
+ set got $headers
+ while {[regexp $headers_regexp $got all name size vma rest]} {
+ set vma 0x$vma
+ if {$vma == $low} then {
+ set arg "$arg --adjust-section-vma $name+4"
+ }
+ set got $rest
+ }
+
+ set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -O srec $arg $tempfile ${copyfile}.srec"]
+ if ![string match "" $got] then {
+ fail "objcopy --adjust-section-vma +"
+ } else {
+ set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -h ${copyfile}.srec"]
+ set want "file format srec.*sec1\[ \]+\[0-9a-fA-F\]+\[ \]+(\[0-9a-fA-F\]+)"
+ if ![regexp $want $got all vma] then {
+ fail "objcopy --adjust-section-vma +"
+ } else {
+ set vma 0x$vma
+ if {$vma != $low + 4} then {
+ send_log "$vma != $low + 4\n"
+ fail "objcopy --adjust-section-vma +"
+ } else {
+ pass "objcopy --adjust-section-vma +"
+ }
+ }
+ }
+
+ regsub -all "\\+4" $arg "=[expr $low + 4]" argeq
+ set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS -O srec $argeq $tempfile ${copyfile}.srec"]
+ if ![string match "" $got] then {
+ fail "objcopy --adjust-section-vma ="
+ } else {
+ set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -h ${copyfile}.srec"]
+ set want "file format srec.*sec1\[ \]+\[0-9a-fA-F\]+\[ \]+(\[0-9a-fA-F\]+)"
+ if ![regexp $want $got all vma] then {
+ fail "objcopy --adjust-section-vma ="
+ } else {
+ set vma 0x$vma
+ if {$vma != $low + 4} then {
+ send_log "$vma != $low + 4\n"
+ fail "objcopy --adjust-section-vma ="
+ } else {
+ pass "objcopy --adjust-section-vma ="
+ }
+ }
+ }
+}
+
+# Test stripping an object.
+
+proc strip_test { } {
+ global AR
+ global CC
+ global STRIP
+ global STRIPFLAGS
+ global NM
+ global NMFLAGS
+ global srcdir
+ global subdir
+ global READELF
+
+ set test "strip"
+
+ if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog.o object debug] != "" } {
+ untested $test
+ return
+ }
+
+ set osabi_fail "false"
+ if [is_elf_format] {
+ verbose -log "$READELF -a tmpdir/testprog.o > tmpdir/osabi.in"
+ set exec_output [remote_exec host "$READELF -h tmpdir/testprog.o" "" "/dev/null" "tmpdir/osabi.in"]
+ if { [lindex $exec_output 0] != 0 } then {
+ unresolved "$test preserving OS/ABI"
+ set osabi_fail "true"
+ } else {
+ verbose -log "grep OS/ABI tmpdir/osabi.in"
+ catch "exec grep OS/ABI tmpdir/osabi.in" osabi_in
+ }
+ }
+
+ if [is_remote host] {
+ set archive libstrip.a
+ set objfile [remote_download host tmpdir/testprog.o]
+ remote_file host delete $archive
+ } else {
+ set archive tmpdir/libstrip.a
+ set objfile tmpdir/testprog.o
+ }
+
+ remote_file build delete tmpdir/libstrip.a
+
+ set exec_output [binutils_run $AR "rc $archive ${objfile}"]
+ if ![string match "" $exec_output] {
+ fail $test
+ unresolved "$test preserving OS/ABI"
+ return
+ }
+
+ set exec_output [binutils_run $STRIP "-g $archive"]
+ if ![string match "" $exec_output] {
+ fail $test
+ unresolved "$test preserving OS/ABI"
+ return
+ }
+
+ set exec_output [binutils_run $STRIP "$STRIPFLAGS $archive"]
+ if ![string match "" $exec_output] {
+ fail $test
+ unresolved "$test preserving OS/ABI"
+ return
+ }
+
+ if { $osabi_fail != "true" && [is_elf_format] } {
+ verbose -log "$READELF -a tmpdir/testprog.o > tmpdir/osabi.out"
+ set exec_output [remote_exec host "$READELF -h tmpdir/testprog.o" "" "/dev/null" "tmpdir/osabi.out"]
+ if { [lindex $exec_output 0] != 0 } then {
+ unresolved "$test preserving OS/ABI"
+ } else {
+ verbose -log "grep OS/ABI tmpdir/osabi.out"
+ catch "exec grep OS/ABI tmpdir/osabi.out" osabi_out
+ if { "$osabi_in" == "$osabi_out" } {
+ pass "$test preserving OS/ABI"
+ } else {
+ fail "$test preserving OS/ABI"
+ }
+ }
+ }
+
+ if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog.o object debug] != "" } {
+ untested $test
+ return
+ }
+
+ if [is_remote host] {
+ set objfile [remote_download host tmpdir/testprog.o]
+ } else {
+ set objfile tmpdir/testprog.o
+ }
+
+ set exec_output [binutils_run $STRIP "$STRIPFLAGS $objfile"]
+ if ![string match "" $exec_output] {
+ fail $test
+ return
+ }
+
+ set exec_output [binutils_run $NM "-a $NMFLAGS $objfile"]
+ if ![string match "*: no symbols*" $exec_output] {
+ fail $test
+ return
+ }
+
+ pass $test
+}
+
+strip_test
+
+# Test stripping an object file with saving a symbol
+
+proc strip_test_with_saving_a_symbol { } {
+ global CC
+ global STRIP
+ global STRIPFLAGS
+ global NM
+ global NMFLAGS
+ global srcdir
+ global subdir
+
+ set test "strip with saving a symbol"
+
+ if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog.o object debug] != "" } {
+ untested $test
+ return
+ }
+
+ if [is_remote host] {
+ set objfile [remote_download host tmpdir/testprog.o]
+ } else {
+ set objfile tmpdir/testprog.o
+ }
+
+ set exec_output [binutils_run $STRIP "$STRIPFLAGS -K main -K _main $objfile"]
+ if ![string match "" $exec_output] {
+ fail $test
+ return
+ }
+
+ set exec_output [binutils_run $NM "$NMFLAGS $objfile"]
+ if {![regexp {^([0-9a-fA-F]+)?[ ]+[TD] main} $exec_output] \
+ && ![regexp {^([0-9a-fA-F]+)?[ ]+T _main} $exec_output]} {
+ fail $test
+ return
+ }
+
+ pass $test
+}
+
+strip_test_with_saving_a_symbol
+
+# Build a final executable.
+
+if { [istarget *-*-cygwin] || [istarget *-*-mingw*] } {
+ set test_prog "testprog.exe"
+} else {
+ set test_prog "testprog"
+}
+
+proc copy_setup { } {
+ global srcdir
+ global subdir
+ global gcc_gas_flag
+ global test_prog
+ global host_triplet
+
+ set res [build_wrapper testglue.o]
+ set flags { debug }
+
+ if { [istarget *-*-uclinux*] && ![istarget tic6x-*-*] } {
+ return 1
+ }
+
+ if { $res != "" } {
+ lappend flags "additional_flags=[lindex $res 1]"
+ set add_libs "testglue.o"
+ } else {
+ set add_libs ""
+ }
+
+ if { [istarget *-*-linux*]
+ || [istarget *-*-gnu*] } {
+ foreach i $gcc_gas_flag {
+ set flags "additional_flags=$i $flags"
+ }
+ }
+ if { [target_compile "$srcdir/$subdir/testprog.c $add_libs" tmpdir/$test_prog executable $flags] != "" } {
+ return 2
+ }
+
+ set result [remote_load target tmpdir/$test_prog]
+ set status [lindex $result 0]
+
+ if { $status != "pass" } {
+ send_log "cannot run executable, status = ${status} on ${host_triplet}\n"
+ if { [istarget $host_triplet] } {
+ return 3
+ }
+ set status "pass"
+ }
+
+ return 0
+}
+
+# Test copying an executable.
+
+proc copy_executable { prog flags test1 test2 } {
+ global test_prog
+ global host_triplet
+
+ if [is_remote host] {
+ set testfile [remote_download host tmpdir/$test_prog]
+ set testcopy copyprog
+ } else {
+ set testfile tmpdir/$test_prog
+ set testcopy tmpdir/copyprog
+ }
+ remote_file host delete $testcopy
+
+ set exec_output [binutils_run $prog "$flags $testfile $testcopy"]
+
+ if ![string match "" $exec_output] {
+ fail $test1
+ if [string match "" $test2] {
+ return
+ }
+ fail $test2
+ return
+ }
+
+ if [is_remote host] {
+ remote_upload host $testcopy tmpdir/copyprog
+ }
+
+ set status [remote_exec build "cmp" "tmpdir/$test_prog tmpdir/copyprog"]
+ set exec_output [lindex $status 1]
+
+ if [string match "" $exec_output] then {
+ pass $test1
+ } else {
+ send_log "$exec_output\n"
+ verbose "$exec_output"
+
+ # This will fail for many reasons. For example, it will most
+ # likely fail if a non-GNU linker is used. Therefore, we do
+ # not insist that it pass. If you are using an assembler and
+ # linker based on the same BFD as objcopy, it is worth
+ # investigating to see why this failure occurs. If we are
+ # cross compiling, we assume that a GNU linker is being used,
+ # and expect it to succeed.
+ if {[isnative]} then {
+ setup_xfail "*-*-*"
+ }
+
+ # This also fails for mips*-*-elf targets. See elf32-mips.c
+ # mips_elf_sym_is_global.
+ setup_xfail "mips*-*-elf"
+
+ setup_xfail "arm*-*-coff"
+ setup_xfail "arm*-*-pe"
+ setup_xfail "*-*-mingw*"
+ setup_xfail "*-*-cygwin*"
+
+ fail $test1
+ }
+
+ if [string match "" $test2] {
+ return
+ }
+
+ set output [remote_load target tmpdir/copyprog]
+ set status [lindex $output 0]
+ if { ![istarget $host_triplet] } {
+ set status "pass"
+ }
+ if { $status != "pass" } {
+ fail $test2
+ } else {
+ pass $test2
+ }
+}
+
+# Test stripping an executable
+
+proc strip_executable { prog flags test } {
+ global NM
+ global NMFLAGS
+ global READELF
+ global host_triplet
+
+ remote_file build delete tmpdir/striprog
+ remote_download build tmpdir/copyprog tmpdir/striprog
+ if [is_remote host] {
+ set copyfile [remote_download host tmpdir/striprog]
+ } else {
+ set copyfile tmpdir/striprog
+ }
+
+ set osabi_fail "false"
+ if [is_elf_format] {
+ verbose -log "$READELF -a ${copyfile} > tmpdir/osabi.in"
+ set exec_output [remote_exec host "$READELF -h ${copyfile}" "" "/dev/null" "tmpdir/osabi.in"]
+ if { [lindex $exec_output 0] != 0 } then {
+ unresolved "$test preserving OS/ABI"
+ set osabi_fail "true"
+ } else {
+ verbose -log "grep OS/ABI tmpdir/osabi.in"
+ catch "exec grep OS/ABI tmpdir/osabi.in" osabi_in
+ }
+ }
+
+ set exec_output [binutils_run $prog "$flags ${copyfile}"]
+ if ![string match "" $exec_output] {
+ fail $test
+ return
+ }
+
+ if [is_remote host] {
+ remote_upload host ${copyfile} tmpdir/striprog
+ }
+
+ set result [remote_load target tmpdir/striprog]
+ set status [lindex $result 0]
+ if { ![istarget $host_triplet] } {
+ set status "pass"
+ }
+ if { $status != "pass" } {
+ fail $test
+ return
+ }
+
+ if { $osabi_fail != "true" && [is_elf_format] } {
+ verbose -log "$READELF -a ${copyfile} > tmpdir/osabi.out"
+ set exec_output [remote_exec host "$READELF -h ${copyfile}" "" "/dev/null" "tmpdir/osabi.out"]
+ if { [lindex $exec_output 0] != 0 } then {
+ unresolved "$test preserving OS/ABI"
+ } else {
+ verbose -log "grep OS/ABI tmpdir/osabi.out"
+ catch "exec grep OS/ABI tmpdir/osabi.out" osabi_out
+ if { "$osabi_in" == "$osabi_out" } {
+ pass "$test preserving OS/ABI"
+ } else {
+ fail "$test preserving OS/ABI"
+ }
+ }
+ }
+
+ set exec_output [binutils_run $NM "$NMFLAGS ${copyfile}"]
+ if ![string match "*: no symbols*" $exec_output] {
+ fail $test
+ return
+ }
+ pass $test
+}
+
+# Test stripping an executable with saving a symbol
+
+proc strip_executable_with_saving_a_symbol { prog flags test } {
+ global NM
+ global NMFLAGS
+ global host_triplet
+
+ remote_file build delete tmpdir/striprog
+ remote_download build tmpdir/copyprog tmpdir/striprog
+ if [is_remote host] {
+ set copyfile [remote_download host tmpdir/striprog]
+ } else {
+ set copyfile tmpdir/striprog
+ }
+
+ set exec_output [binutils_run $prog "$flags ${copyfile}"]
+ if ![string match "" $exec_output] {
+ fail $test
+ return
+ }
+
+ if [is_remote host] {
+ remote_upload host ${copyfile} tmpdir/striprog
+ }
+
+ set result [remote_load target tmpdir/striprog]
+ set status [lindex $result 0]
+ if { ![istarget $host_triplet] } {
+ set status "pass"
+ }
+ if { $status != "pass" } {
+ fail $test
+ return
+ }
+
+ set exec_output [binutils_run $NM "$NMFLAGS ${copyfile}"]
+ if { [istarget mmix-knuth-mmixware] } {
+ # Whenever there's a symbol in the mmo format, there's the symbol
+ # Main, so remove it manually from the expected output for sake of
+ # this test.
+
+ # Using "" not {} to get the \n and \r translated.
+ regsub "^\[0-9a-fA-F\]+\[ \]+T Main\[\n\r\]+" $exec_output "" exec_output
+ }
+
+ if {![regexp {^([0-9a-fA-F]+)?[ ]+[TD] main} $exec_output] \
+ && ![regexp {^([0-9a-fA-F]+)?[ ]+[TD] _main} $exec_output]} {
+ fail $test
+ return
+ }
+ pass $test
+}
+
+# Test keeping only debug symbols of an executable
+
+proc keep_debug_symbols_and_test_copy { prog1 flags1 test1 prog2 flags2 test2 } {
+ global NM
+ global NMFLAGS
+
+ remote_file build delete tmpdir/striprog
+ remote_download build tmpdir/copyprog tmpdir/striprog
+ if [is_remote host] {
+ set copyfile [remote_download host tmpdir/striprog]
+ } else {
+ set copyfile tmpdir/striprog
+ }
+
+ set exec_output [binutils_run $prog1 "$flags1 ${copyfile}"]
+ if ![string match "" $exec_output] {
+ fail $test1
+ return
+ }
+ pass $test1
+
+ set exec_output [binutils_run $prog2 "$flags2 ${copyfile}"]
+ if ![string match "" $exec_output] {
+ fail $test2
+ return
+ }
+ pass $test2
+}
+
+set test1 "simple objcopy of executable"
+set test2 "run objcopy of executable"
+set test3 "run stripped executable"
+set test4 "run stripped executable with saving a symbol"
+set test5 "keep only debug data"
+set test6 "simple objcopy of debug data"
+
+switch [copy_setup] {
+ "1" {
+ # do nothing
+ }
+ "2" {
+ untested $test1
+ untested $test2
+ untested $test3
+ untested $test4
+ untested $test5
+ untested $test6
+ }
+ "3" {
+ copy_executable "$OBJCOPY" "$OBJCOPYFLAGS" "$test1" ""
+ unsupported $test2
+ unsupported $test3
+ unsupported $test4
+ unsupported $test5
+ unsupported $test6
+ }
+ "0" {
+ copy_executable "$OBJCOPY" "$OBJCOPYFLAGS" "$test1" "$test2"
+ strip_executable "$STRIP" "$STRIPFLAGS" "$test3"
+ strip_executable_with_saving_a_symbol "$STRIP" "-K main -K _main $STRIPFLAGS" "$test4"
+ keep_debug_symbols_and_test_copy "$STRIP" "--only-keep-debug $STRIPFLAGS" "$test5" \
+ "$OBJCOPY" "$OBJCOPYFLAGS" "$test6"
+ }
+}
+
+proc objcopy_test_readelf {testname srcfile} {
+ global OBJCOPY
+ global OBJCOPYFLAGS
+ global READELF
+ global srcdir
+ global subdir
+
+ if {![binutils_assemble $srcdir/$subdir/${srcfile} tmpdir/bintest.o]} then {
+ unresolved "objcopy ($testname)"
+ return
+ }
+
+ verbose -log "$OBJCOPY $OBJCOPYFLAGS tmpdir/bintest.o tmpdir/copy.o"
+ set exec_output [remote_exec host "$OBJCOPY $OBJCOPYFLAGS tmpdir/bintest.o tmpdir/copy.o"]
+ if { [lindex $exec_output 0] != 0
+ || ![string match "" [lindex $exec_output 1]] } then {
+ fail "objcopy ($testname)"
+ return
+ }
+
+ verbose -log "$READELF -a tmpdir/bintest.o > tmpdir/bintest.o.out"
+ set exec_output [remote_exec host "$READELF -a tmpdir/bintest.o" "" "/dev/null" "tmpdir/bintest.o.out"]
+ if { [lindex $exec_output 0] != 0 } then {
+ unresolved "objcopy ($testname)"
+ return
+ }
+ set exec_output [prune_warnings [lindex $exec_output 1]]
+ if ![string match "" $exec_output] then {
+ unresolved "objcopy ($testname)"
+ return
+ }
+
+ verbose -log "$READELF -a tmpdir/copy.o > tmpdir/copy.o.out"
+ set exec_output [remote_exec host "$READELF -a tmpdir/copy.o" "" "/dev/null" "tmpdir/copy.o.out"]
+ if { [lindex $exec_output 0] != 0 } then {
+ unresolved "objcopy ($testname)"
+ return
+ }
+ set exec_output [prune_warnings [lindex $exec_output 1]]
+ if ![string match "" $exec_output] then {
+ unresolved "objcopy ($testname)"
+ return
+ }
+
+ verbose -log "diff tmpdir/bintest.o.out tmpdir/copy.o.out"
+ catch "exec diff tmpdir/bintest.o.out tmpdir/copy.o.out" exec_output
+ set exec_output [prune_warnings $exec_output]
+
+ if [string match "" $exec_output] then {
+ pass "objcopy ($testname)"
+ } else {
+ fail "objcopy ($testname)"
+ }
+}
+
+# ia64 specific tests
+if { ([istarget "ia64-*-elf*"]
+ || [istarget "ia64-*-linux*"]) } {
+ objcopy_test "ia64 link order" link-order.s
+}
+
+# ELF specific tests
+if [is_elf_format] {
+ objcopy_test "ELF unknown section type" unknown.s
+ objcopy_test_readelf "ELF group" group.s
+ objcopy_test_readelf "ELF group" group-2.s
+ objcopy_test_readelf "ELF group" group-3.s
+ objcopy_test_readelf "ELF group" group-4.s
+ run_dump_test "group-5"
+ run_dump_test "group-6"
+ run_dump_test "copy-1"
+ run_dump_test "note-1"
+}
+
+run_dump_test "copy-2"
+run_dump_test "copy-3"
+run_dump_test "copy-4"
+
+if [is_elf_format] {
+ run_dump_test "strip-1"
+ run_dump_test "strip-2"
+ run_dump_test "strip-3"
+ run_dump_test "strip-4"
+ run_dump_test "strip-5"
+ run_dump_test "strip-6"
+ run_dump_test "strip-7"
+ run_dump_test "strip-8"
+ run_dump_test "strip-9"
+ if { ![istarget "*-*-hpux*"]
+ && ![istarget "msp*-*-*"] } {
+ run_dump_test "strip-10"
+ }
+
+ if { [istarget "i*86-*"] || [istarget "x86_64-*-*"] } {
+ # Check to make sure we don't strip a symbol named in relocations.
+ set test "objcopy keeps symbols needed by relocs"
+
+ set srcfile $srcdir/$subdir/needed-by-reloc.s
+
+ if {![binutils_assemble $srcfile tmpdir/bintest.o]} then {
+ unresolved $test
+ } else {
+ set got [binutils_run $OBJCOPY "$OBJCOPYFLAGS --strip-symbol=foo tmpdir/bintest.o ${copyfile}.o"]
+
+ if [regexp "not stripping symbol `foo' because it is named in a relocation" $got] {
+ pass $test
+ } else {
+ fail $test
+ }
+ }
+ }
+
+ # The symbol table for some MIPS targets is sorted differently than
+ # the ELF canonical order, so the regexps in localize-hidden-1.d fail
+ # to match. These tests must be matched to targets for which
+ # targ_defvec=bfd_elf32_bigmips_vec,
+ # targ_defvec=bfd_elf32_littlemips_vec,
+ # targ_defvec=bfd_elf32_nbigmips_vec or
+ # targ_defvec=bfd_elf32_nlittlemips_vec in config.bfd. When syncing,
+ # don't forget that earlier case-matches trump later ones.
+ if { ![istarget "mips*-sde-elf*"] && ![istarget "mips64*-*-openbsd*"] } {
+ setup_xfail "mips*-*-irix5*" "mips*-*-irix6*" "mips*-*-elf*" \
+ "mips*-*-rtems*" "mips*-*-windiss" "mips*-*-none" \
+ "mips*-*-openbsd*" "mips*-*-chorus*"
+ }
+ run_dump_test "localize-hidden-1"
+ run_dump_test "testranges"
+ run_dump_test "testranges-ia64"
+
+ run_dump_test "add-section"
+ run_dump_test "add-empty-section"
+
+ run_dump_test "exclude-1a"
+ run_dump_test "exclude-1b"
+}
+run_dump_test "localize-hidden-2"
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/objdump.W b/binutils-2.25/binutils/testsuite/binutils-all/objdump.W
new file mode 100644
index 00000000..f544d829
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/objdump.W
@@ -0,0 +1,103 @@
+
+.*dw2-compressed.o: file format .*
+
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x4e \(32-bit\)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 \(DW_TAG_compile_unit\)
+ <c> DW_AT_stmt_list : 0x0
+ <10> DW_AT_high_pc : 0x.
+ <14> DW_AT_low_pc : 0x.
+ <18> DW_AT_name : file1.txt
+ <22> DW_AT_producer : GNU C 3.3.3
+ <2e> DW_AT_language : 1 \(ANSI C\)
+ <1><2f>: Abbrev Number: 2 \(DW_TAG_subprogram\)
+ <30> DW_AT_external : 1
+ <31> DW_AT_decl_file : 1
+ <32> DW_AT_decl_line : 2
+ <33> DW_AT_name : func_cu1
+ <3c> DW_AT_type : <0x4a>
+ <40> DW_AT_low_pc : 0x.
+ <44> DW_AT_high_pc : 0x.
+ <48> DW_AT_frame_base : 1 byte block: 55 \(DW_OP_reg5 \([^()]*\)\)
+ <1><4a>: Abbrev Number: 3 \(DW_TAG_base_type\)
+ <4b> DW_AT_name : int
+ <4f> DW_AT_byte_size : 4
+ <50> DW_AT_encoding : 5 \(signed\)
+ <1><51>: Abbrev Number: 0
+
+Raw dump of debug contents of section .debug_line:
+
+ Offset: 0x0
+ Length: 62
+ DWARF Version: 2
+ Prologue Length: 35
+ Minimum Instruction Length: 1
+ Initial value of 'is_stmt': 1
+ Line Base: 1
+ Line Range: 1
+ Opcode Base: 16
+
+ Opcodes:
+ Opcode 1 has 0 args
+ Opcode 2 has 1 args
+ Opcode 3 has 1 args
+ Opcode 4 has 1 args
+ Opcode 5 has 1 args
+ Opcode 6 has 0 args
+ Opcode 7 has 0 args
+ Opcode 8 has 0 args
+ Opcode 9 has 1 args
+ Opcode 10 has 0 args
+ Opcode 11 has 0 args
+ Opcode 12 has 1 args
+ Opcode 13 has 0 args
+ Opcode 14 has 0 args
+ Opcode 15 has 0 args
+
+ The Directory Table is empty.
+
+ The File Name Table \(offset 0x.*\):
+ Entry Dir Time Size Name
+ 1 0 0 0 file1.txt
+
+ Line Number Statements:
+ \[0x.*\] Extended opcode 2: set Address to .*
+ \[0x.*\] Advance Line by 3 to 4
+ \[0x.*\] Copy
+ \[0x.*\] Copy
+ \[0x.*\] Extended opcode 2: set Address to .*
+ \[0x.*\] Extended opcode 1: End of Sequence
+
+
+Contents of the .debug_abbrev section:
+
+ Number TAG \(0x0\)
+ 1 DW_TAG_compile_unit \[has children\]
+ DW_AT_stmt_list DW_FORM_data4
+ DW_AT_high_pc DW_FORM_addr
+ DW_AT_low_pc DW_FORM_addr
+ DW_AT_name DW_FORM_string
+ DW_AT_producer DW_FORM_string
+ DW_AT_language DW_FORM_data1
+ DW_AT value: 0 DW_FORM value: 0
+ 2 DW_TAG_subprogram \[no children\]
+ DW_AT_external DW_FORM_flag
+ DW_AT_decl_file DW_FORM_data1
+ DW_AT_decl_line DW_FORM_data1
+ DW_AT_name DW_FORM_string
+ DW_AT_type DW_FORM_ref4
+ DW_AT_low_pc DW_FORM_addr
+ DW_AT_high_pc DW_FORM_addr
+ DW_AT_frame_base DW_FORM_block1
+ DW_AT value: 0 DW_FORM value: 0
+ 3 DW_TAG_base_type \[no children\]
+ DW_AT_name DW_FORM_string
+ DW_AT_byte_size DW_FORM_data1
+ DW_AT_encoding DW_FORM_data1
+ DW_AT value: 0 DW_FORM value: 0
+
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/objdump.WL b/binutils-2.25/binutils/testsuite/binutils-all/objdump.WL
new file mode 100644
index 00000000..3846f4fc
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/objdump.WL
@@ -0,0 +1,15 @@
+
+.*dw2-decodedline.o: file format .*
+
+Decoded dump of debug contents of section \.debug_line:
+
+CU: \./dw2-decodedline\.c:
+File name Line number Starting address
+
+directory/file1\.c:
+file1\.c 1 .*
+
+
+\./dw2-decodedline\.c:\[\+\+\]
+dw2-decodedline\.c 2 .*
+
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/objdump.exp b/binutils-2.25/binutils/testsuite/binutils-all/objdump.exp
new file mode 100644
index 00000000..b330a321
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/objdump.exp
@@ -0,0 +1,249 @@
+# Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2007, 2008, 2009, 2011, 2012
+# Free Software Foundation, Inc.
+
+# 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.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-dejagnu@prep.ai.mit.edu
+
+# This file was written by Rob Savoye <rob@cygnus.com>
+# and rewritten by Ian Lance Taylor <ian@cygnus.com>
+
+if ![is_remote host] {
+ if {[which $OBJDUMP] == 0} then {
+ perror "$OBJDUMP does not exist"
+ return
+ }
+}
+
+send_user "Version [binutil_version $OBJDUMP]"
+
+# Simple test of objdump -i
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -i"]
+
+set cpus_expected [list]
+lappend cpus_expected aarch64 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 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 tilegx tms320c30 tms320c4x tms320c54x
+lappend cpus_expected v850 vax we32k x86-64 xscale xtensa z8k z8001 z8002
+
+# Make sure the target CPU shows up in the list.
+lappend cpus_expected ${target_cpu}
+
+# Create regexp
+set cpus_regex "([join $cpus_expected | ])"
+
+verbose -log "CPU regex: $cpus_regex"
+
+set want "BFD header file version.*srec\[^\n\]*\n\[^\n\]*header \[^\n\]*endian\[^\n\]*, data \[^\n\]*endian.*$cpus_regex"
+
+if [regexp $want $got] then {
+ pass "objdump -i"
+} else {
+ fail "objdump -i"
+}
+
+# The remaining tests require a test file.
+
+
+if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then {
+ return
+}
+if [is_remote host] {
+ set testfile [remote_download host tmpdir/bintest.o]
+} else {
+ set testfile tmpdir/bintest.o
+}
+
+# Test objdump -f
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -f $testfile"]
+
+set want "$testfile:\[ \]*file format.*architecture:\[ \]*${cpus_regex}.*HAS_RELOC.*HAS_SYMS"
+
+if ![regexp $want $got] then {
+ fail "objdump -f"
+} else {
+ pass "objdump -f"
+}
+
+# Test objdump -h
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -h $testfile"]
+
+set want "$testfile:\[ \]*file format.*Sections.*\[0-9\]+\[ \]+\[^ \]*(text|TEXT|\\\$CODE\\\$)\[^ \]*\[ \]*(\[0-9a-fA-F\]+).*\[0-9\]+\[ \]+\[^ \]*(\\.data|DATA)\[^ \]*\[ \]*(\[0-9a-fA-F\]+)"
+
+if ![regexp $want $got all text_name text_size data_name data_size] then {
+ fail "objdump -h"
+} else {
+ verbose "text name is $text_name size is $text_size"
+ verbose "data name is $data_name size is $data_size"
+ set ets 8
+ set eds 4
+ # The [ti]c4x target has the property sizeof(char)=sizeof(long)=1
+ if [istarget *c4x*-*-*] then {
+ set ets 2
+ set eds 1
+ }
+ # c54x section sizes are in bytes, not octets; adjust accordingly
+ if [istarget *c54x*-*-*] then {
+ set ets 4
+ set eds 2
+ }
+ if {[expr "0x$text_size"] < $ets || [expr "0x$data_size"] < $eds} then {
+ send_log "sizes too small\n"
+ fail "objdump -h"
+ } else {
+ pass "objdump -h"
+ }
+}
+
+# Test objdump -t
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -t $testfile"]
+
+if [info exists vars] then { unset vars }
+while {[regexp "(\[a-z\]*_symbol)(.*)" $got all symbol rest]} {
+ set vars($symbol) 1
+ set got $rest
+}
+
+if {![info exists vars(text_symbol)] \
+ || ![info exists vars(data_symbol)] \
+ || ![info exists vars(common_symbol)] \
+ || ![info exists vars(external_symbol)]} then {
+ fail "objdump -t"
+} else {
+ pass "objdump -t"
+}
+
+# Test objdump -r
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -r $testfile"]
+
+set want "$testfile:\[ \]*file format.*RELOCATION RECORDS FOR \\\[\[^\]\]*(text|TEXT|\\\$CODE\\\$)\[^\]\]*\\\].*external_symbol"
+
+if [regexp $want $got] then {
+ pass "objdump -r"
+} else {
+ fail "objdump -r"
+}
+
+# Test objdump -s
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -s $testfile"]
+
+set want "$testfile:\[ \]*file format.*Contents.*(text|TEXT|\\\$CODE\\\$)\[^0-9\]*\[ \]*\[0-9a-fA-F\]*\[ \]*(00000001|01000000|00000100).*Contents.*(data|DATA)\[^0-9\]*\[ \]*\[0-9a-fA-F\]*\[ \]*(00000002|02000000|00000200)"
+
+if [regexp $want $got] then {
+ pass "objdump -s"
+} else {
+ fail "objdump -s"
+}
+
+# Test objdump -s on a file that contains a compressed .debug section
+
+if { ![is_elf_format] || ![is_zlib_supported] } then {
+ unsupported "objdump compressed debug"
+} elseif { ![binutils_assemble $srcdir/$subdir/dw2-compressed.S tmpdir/dw2-compressed.o] } then {
+ fail "objdump compressed debug"
+} else {
+ if [is_remote host] {
+ set compressed_testfile [remote_download host tmpdir/dw2-compressed.o]
+ } else {
+ set compressed_testfile tmpdir/dw2-compressed.o
+ }
+
+ set got [remote_exec host "$OBJDUMP $OBJDUMPFLAGS -s -j .zdebug_abbrev $compressed_testfile" "" "/dev/null" "objdump.out"]
+
+ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
+ fail "objdump -s -j .zdebug_abbrev (reason: unexpected output)"
+ send_log $got
+ send_log "\n"
+ }
+
+ if { [regexp_diff objdump.out $srcdir/$subdir/objdump.s] } then {
+ fail "objdump -s -j .zdebug_abbrev"
+ } else {
+ pass "objdump -s -j .zdebug_abbrev"
+ }
+
+ # Test objdump -W on a file that contains some compressed .debug sections
+
+ set got [remote_exec host "$OBJDUMP $OBJDUMPFLAGS -W $compressed_testfile" "" "/dev/null" "objdump.out"]
+
+ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
+ fail "objdump -W (reason: unexpected output)"
+ send_log $got
+ send_log "\n"
+ }
+
+ if { [regexp_diff objdump.out $srcdir/$subdir/objdump.W] } then {
+ fail "objdump -W"
+ } else {
+ pass "objdump -W"
+ }
+}
+
+# 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 "hppa64*-*-hpux*"]
+ || [istarget "i370-*-*"]
+ || [istarget "i960-*-*"]
+ || [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.
+# Tests could be written for specific targets, and that should be done
+# if specific problems are found.
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/objdump.s b/binutils-2.25/binutils/testsuite/binutils-all/objdump.s
new file mode 100644
index 00000000..aea35dfa
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/objdump.s
@@ -0,0 +1,9 @@
+
+.*dw2-compressed.o: file format .*
+
+Contents of section .zdebug_abbrev:
+ 0000 5a4c4942 00000000 00000033 785e6314 ZLIB.......3x\^c.
+ 0010 64146013 62146464 e650e510 e6666060 d.`.b.dd.P...f``
+ 0020 d263b0e7 b1e2b6e6 66e6f014 16641462 .c......f....d.b
+ 0030 74e00200 25780281 789c6360 60566160 t...%x..x.c``Va`
+ 0040 e6e0e6b6 e3660002 00049c00 92 .....f.......
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/readelf.exp b/binutils-2.25/binutils/testsuite/binutils-all/readelf.exp
new file mode 100644
index 00000000..db56a868
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/readelf.exp
@@ -0,0 +1,361 @@
+# Copyright 1999-2013 Free Software Foundation, Inc.
+
+# 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.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-dejagnu@prep.ai.mit.edu
+
+# Written by Nick Clifton <nickc@cygnus.com>
+# Based on scripts written by Ian Lance Taylor <ian@cygnus.com>
+# and Ken Raeburn <raeburn@cygnus.com>.
+
+# Exclude non-ELF targets.
+if ![is_elf_format] {
+ verbose "$READELF is only intended for ELF targets" 2
+ return
+}
+
+# First some helpful procedures, then the tests themselves
+
+# Return the contents of the filename given
+proc file_contents { filename } {
+ set file [open $filename r]
+ set contents [read $file]
+ close $file
+ return $contents
+}
+
+# Find out the size by reading the output of the EI_CLASS field.
+# Similar to the test for readelf -h, but we're just looking for the
+# EI_CLASS line here.
+proc readelf_find_size { binary_file } {
+ global READELF
+ global READELFFLAGS
+ global readelf_size
+
+ set readelf_size ""
+ set testname "finding out ELF size with readelf -h"
+ set got [remote_exec host "$READELF $READELFFLAGS -h $binary_file" "" "/dev/null" "readelf.out"]
+ if [is_remote host] then {
+ remote_upload host "readelf.out"
+ }
+
+ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]]} then {
+ send_log $got
+ fail $testname
+ return
+ }
+
+ if { ! [regexp "\n\[ \]*Class:\[ \]*ELF(\[0-9\]+)\n" \
+ [file_contents readelf.out] nil readelf_size] } {
+ verbose -log "EI_CLASS field not found in output"
+ verbose -log "output is \n[file_contents readelf.out]"
+ fail $testname
+ return
+ } else {
+ verbose -log "ELF size is $readelf_size"
+ }
+
+ pass $testname
+}
+
+# Run an individual readelf test.
+# Basically readelf is run on the binary_file with the given options.
+# Readelf's output is captured and then compared against the contents
+# of the regexp_file-readelf_size if it exists, else regexp_file.
+
+proc readelf_test { options binary_file regexp_file xfails } {
+
+ global READELF
+ global READELFFLAGS
+ global readelf_size
+ global srcdir
+ global subdir
+
+ send_log "exec $READELF $READELFFLAGS $options $binary_file > readelf.out\n"
+ set got [remote_exec host "$READELF $READELFFLAGS $options $binary_file" "" "/dev/null" "readelf.out"]
+
+ foreach xfail $xfails {
+ setup_xfail $xfail
+ }
+
+ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
+ fail "readelf $options (reason: unexpected output)"
+ send_log $got
+ send_log "\n"
+ return
+ }
+
+ set target_machine ""
+ if [istarget "mips*-*-*"] then {
+ if { [istarget "mips*-*-*linux*"]
+ || [istarget "mips*-sde-elf*"]
+ || [istarget "mips*-*freebsd*"] } then {
+ set target_machine tmips
+ } else {
+ set target_machine mips
+ }
+ }
+
+ if { $target_machine != "" && [file exists $srcdir/$subdir/$regexp_file-$readelf_size-$target_machine] } then {
+ set regexp_file $regexp_file-$readelf_size-$target_machine
+ } elseif { $target_machine != "" && [file exists $srcdir/$subdir/$regexp_file-$target_machine] } then {
+ set regexp_file $regexp_file-$target_machine
+ } elseif { [file exists $srcdir/$subdir/$regexp_file-$readelf_size] } then {
+ set regexp_file $regexp_file-$readelf_size
+ }
+
+ if { [regexp_diff readelf.out $srcdir/$subdir/$regexp_file] } then {
+ fail "readelf $options"
+ verbose "output is \n[file_contents readelf.out]" 2
+ return
+ }
+
+ pass "readelf $options"
+}
+
+# Simple proc to skip certain expected warning messages.
+
+proc prune_readelf_wi_warnings { text } {
+ regsub -all "(^|\n)(.*Skipping unexpected symbol type.*)" $text "\\1" text
+ return $text
+}
+
+# Testing the "readelf -wi" option is difficult because there
+# is no guaranteed order to the output, and because some ports
+# will use indirect string references, whilst others will use
+# direct references. So instead of having an expected output
+# file, like the other readelf tests, we grep for strings that
+# really ought to be there.
+
+proc readelf_wi_test {} {
+ global READELF
+ global READELFFLAGS
+ global srcdir
+ global subdir
+
+ # Compile the second test file.
+ if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog.o object debug] != "" } {
+ verbose "Unable to compile test file."
+ untested "readelf -wi"
+ return
+ }
+
+ # Download it.
+ set tempfile [remote_download host tmpdir/testprog.o]
+
+ # Run "readelf -wi" on it.
+ set got [remote_exec host "$READELF $READELFFLAGS -wi $tempfile" "" "/dev/null" "readelf.out"]
+
+ # Upload the results.
+ set output [remote_upload host readelf.out]
+
+ file_on_host delete $tempfile
+
+ # Strip any superflous warnings.
+ set got [prune_readelf_wi_warnings [lindex $got 1]]
+
+ if ![string match "" $got] then {
+ fail "readelf $READELFFLAGS -wi (reason: unexpected output)"
+ send_log $got
+ send_log "\n"
+ return
+ }
+
+ if ![file size $output] then {
+ # If the output file is empty, then this target does not
+ # generate dwarf2 output. This is not a failure.
+ verbose "No output from 'readelf -wi'"
+ untested "readelf -wi"
+ return
+ }
+
+ # Search for strings that should be in the output.
+ set sought {
+ ".*DW_TAG_compile_unit.*"
+ ".*DW_TAG_subprogram.*"
+ ".*DW_TAG_base_type.*"
+ ".*DW_AT_producer.*(GNU C|indirect string).*"
+ ".*DW_AT_language.*ANSI C.*"
+ ".*DW_AT_name.*(testprog.c|indirect string).*"
+ ".*DW_AT_name.*fn.*"
+ ".*DW_AT_name.*(main|indirect string).*"
+ ".*\(DW_OP_addr: 0\).*"
+ }
+
+ # The MSP430 in LARGE mode does not generate a DW_OP_addr.
+ setup_xfail msp430*-*-*
+
+ foreach looked_for $sought {
+ set lines [grep $output $looked_for]
+ if ![llength $lines] then {
+ fail "readelf -wi: missing: $looked_for"
+ send_log readelf.out
+ return
+ }
+ }
+
+ file_on_host delete $output
+
+ # All done.
+ pass "readelf -wi"
+}
+
+# This tests "readelf -wa", but on a file with a compressed
+# .debug_abbrev section.
+
+proc readelf_compressed_wa_test {} {
+ global READELF
+ global READELFFLAGS
+ global srcdir
+ global subdir
+
+ if { ![is_zlib_supported] } {
+ unsupported "readelf -wa (compressed)"
+ return
+ }
+
+ # Compile the compressed-debug-section test file.
+ if { [target_compile $srcdir/$subdir/dw2-compressed.S tmpdir/dw2-compressed.o object debug] != "" } {
+ verbose "Unable to compile test file."
+ untested "readelf -wa (compressed)"
+ return
+ }
+
+ # Download it.
+ set tempfile [remote_download host tmpdir/dw2-compressed.o]
+
+ # Run "readelf -wa" on it.
+ set got [remote_exec host "$READELF $READELFFLAGS -wa $tempfile" "" "/dev/null" "readelf.out"]
+
+ # Upload the results.
+ set output [remote_upload host readelf.out]
+
+ file_on_host delete $tempfile
+
+ if { [string compare [file_contents readelf.out] [file_contents $srcdir/$subdir/readelf.wa]] != 0 } then {
+ fail "readelf -wa (compressed)"
+ verbose "output is \n[file_contents readelf.out]" 2
+ verbose "expected is \n[file_contents $srcdir/$subdir/readelf.wa]" 2
+ return
+ }
+
+ pass "readelf -wa (compressed)"
+}
+
+# Test readelf's dumping abilities.
+
+proc readelf_dump_test {} {
+ global READELF
+ global READELFFLAGS
+ global srcdir
+ global subdir
+
+ # Assemble the dump test file.
+ if {![binutils_assemble $srcdir/$subdir/dumptest.s tmpdir/dumptest.o]} then {
+ unresolved "readelf -p: failed to assemble dump test file"
+ return
+ }
+ # Download it.
+ set tempfile [remote_download host tmpdir/dumptest.o]
+
+ # Run "readelf -p.data" on it.
+ set got [remote_exec host "$READELF $READELFFLAGS -p.data $tempfile" "" "/dev/null" "readelf.out"]
+ set got [lindex $got 1]
+
+ # Upload the results.
+ set output [remote_upload host readelf.out]
+
+ # Check for something going wrong.
+ if ![string match "" $got] then {
+ fail "readelf -p: unexpected output"
+ send_log $got
+ send_log "\n"
+ return
+ }
+
+ # Search for strings that should be in the output.
+ set sought {
+ ".*test_string.*"
+ }
+
+ foreach looked_for $sought {
+ set lines [grep $output $looked_for]
+ if ![llength $lines] then {
+ fail "readelf -p: missing: $looked_for"
+ send_log readelf.out
+ return
+ }
+ }
+
+ file_on_host delete $tempfile
+ file_on_host delete $output
+
+ # All done.
+ pass "readelf -p"
+
+ # XXX FIXME: Add test of readelf -x here
+}
+
+if ![is_remote host] {
+ if {[which $READELF] == 0} then {
+ perror "$READELF does not exist"
+ return
+ }
+}
+
+send_user "Version [binutil_version $READELF]"
+
+# Assemble the test file.
+if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then {
+ perror "could not assemble test file"
+ unresolved "readelf - failed to assemble"
+ return
+}
+
+if ![is_remote host] {
+ set tempfile tmpdir/bintest.o
+} else {
+ set tempfile [remote_download host tmpdir/bintest.o]
+}
+
+# First, determine the size, so specific output matchers can be used.
+readelf_find_size $tempfile
+
+# Run the tests.
+readelf_test -h $tempfile readelf.h {}
+readelf_test -S $tempfile readelf.s {}
+readelf_test -s $tempfile readelf.ss {}
+readelf_test -r $tempfile readelf.r {}
+
+readelf_wi_test
+readelf_compressed_wa_test
+
+readelf_dump_test
+
+# PR 13482 - Check for off-by-one errors when dumping .note sections.
+if {![binutils_assemble $srcdir/$subdir/version.s tmpdir/version.o]} then {
+ perror "could not assemble version note test file"
+ unresolved "readelf - failed to assemble"
+ return
+}
+
+if ![is_remote host] {
+ set tempfile tmpdir/version.o
+} else {
+ set tempfile [remote_download host tmpdir/version.o]
+}
+
+readelf_test -n $tempfile readelf.n {}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/readelf.h b/binutils-2.25/binutils/testsuite/binutils-all/readelf.h
new file mode 100644
index 00000000..01103fba
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/readelf.h
@@ -0,0 +1,20 @@
+ELF Header:
+ Magic: 7f 45 4c 46 0[12] 0[12] 01 .. .. 00 00 00 00 00 00 00
+ Class: ELF[36][24]
+ Data: 2's complement,.* endian
+ Version: 1 \(current\)
+ OS/ABI: .*
+ ABI Version: .*
+ Type: REL \(Relocatable file\)
+ Machine: .*
+ Version: 0x1
+ Entry point address: 0x0
+ Start of program headers: 0 \(bytes into file\)
+ Start of section headers: .* \(bytes into file\)
+ Flags: .*
+ Size of this header: .* \(bytes\)
+ Size of program headers: 0 \(bytes\)
+ Number of program headers: 0
+ Size of section headers: .* \(bytes\)
+ Number of section headers: .*
+ Section header string table index: .*
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/readelf.n b/binutils-2.25/binutils/testsuite/binutils-all/readelf.n
new file mode 100644
index 00000000..7a44731f
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/readelf.n
@@ -0,0 +1,5 @@
+
+Displaying notes found at file offset 0x0*0.. with length 0x0*018:
+ Owner[ ]*Data size[ ]*Description
+ Version 1.0[ ]*0x0*0[ ]*NT_VERSION \(version\)
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/readelf.r b/binutils-2.25/binutils/testsuite/binutils-all/readelf.r
new file mode 100644
index 00000000..689049f1
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/readelf.r
@@ -0,0 +1,4 @@
+
+Relocation section '.rel.*text' at offset 0x.* contains 1 entries:
+ Offset Info Type Sym.Value Sym. Name.*
+00000004 [0-9A-Fa-f]+ *R_.*00000000 external_symbol.*
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/readelf.r-64 b/binutils-2.25/binutils/testsuite/binutils-all/readelf.r-64
new file mode 100644
index 00000000..3e3b0a4a
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/readelf.r-64
@@ -0,0 +1,4 @@
+
+Relocation section '.rel.*text' at offset 0x.* contains 1 entries:
+ Offset Info Type Sym. Value Sym. Name.*
+0+04 [0-9A-Fa-f]+ *R_.*0+00 external_symbol.*
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/readelf.s b/binutils-2.25/binutils/testsuite/binutils-all/readelf.s
new file mode 100644
index 00000000..8361a7eb
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/readelf.s
@@ -0,0 +1,21 @@
+There are .* section headers, starting at offset .*:
+
+Section Headers:
+ +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
+ +\[ 0\] +NULL +00000000 000000 000000 00 +0 +0 +0
+# On the normal MIPS systems, sections must be aligned to 16 byte
+# boundaries. On IA64, text sections are aligned to 16 byte boundaries.
+ +\[ 1\] .text +PROGBITS +00000000 0000(34|40) 0000(08|10) 00 +AX +0 +0 +(.|..)
+ +\[ 2\] .rel.+text +REL. +0+ 0+.* 00000. 0. +. +1 +4
+# MIPS targets put .rela.text here.
+#...
+ +\[ .\] .data +PROGBITS +00000000 0000(3c|48|50) 0000(04|10) 00 +WA +0 +0 +(.|..)
+ +\[ .\] .bss +NOBITS +00000000 0000(40|4c|60) 000000 00 +WA +0 +0 +(.|..)
+# MIPS targets put .reginfo and .mdebug here.
+# v850 targets put .call_table_data and .call_table_text here.
+#...
+ +\[ .\] .shstrtab +STRTAB +00000000 0+.* 0+.* 00 +0 +0 +.
+ +\[ .\] .symtab +SYMTAB +00000000 0+.* 0+.* 10 +.. +. +4
+ +\[..\] .strtab +STRTAB +00000000 0+.* 0+.* 00 +0 +0 +1
+Key to Flags:
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/readelf.s-64 b/binutils-2.25/binutils/testsuite/binutils-all/readelf.s-64
new file mode 100644
index 00000000..ec31f3f2
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/readelf.s-64
@@ -0,0 +1,23 @@
+There are .* section headers, starting at offset .*:
+
+Section Headers:
+ +\[Nr\] Name +Type +Address +Offset
+ +Size +EntSize +Flags +Link +Info +Align
+ +\[ 0\] +NULL +0000000000000000 +00000000
+ +0000000000000000 +0000000000000000 +0 +0 +0
+ +\[ 1\] .text +PROGBITS +0000000000000000 +00000040
+ +00000000000000.. +0000000000000000 +AX +0 +0 +.*
+ +\[ 2\] .rel.+text +REL. +0+ +0+.*
+ +000000000000001. +000000000000001. +. +1 +8
+ +\[ 3\] .data +PROGBITS +0000000000000000 +000000(48|50)
+ +000000000000000[48] +0000000000000000 +WA +0 +0 +.*
+ +\[ 4\] .bss +NOBITS +0000000000000000 +000000(4c|50|54|58)
+ +0000000000000000 +0000000000000000 +WA +0 +0 +.*
+ +\[ 5\] .shstrtab +STRTAB +0000000000000000 +000000(4c|50|54|58)
+ +00000000000000.. +0000000000000000 +0 +0 +.*
+ +\[ 6\] .symtab +SYMTAB +0000000000000000 +0+.*
+ +0+.* +0000000000000018 +7 +6 +8
+ +\[ 7\] .strtab +STRTAB +0000000000000000 +0+.*
+ +0+.* +0000000000000000 +0 +0 +1
+Key to Flags:
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/readelf.ss b/binutils-2.25/binutils/testsuite/binutils-all/readelf.ss
new file mode 100644
index 00000000..9bb0f2ed
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/readelf.ss
@@ -0,0 +1,18 @@
+
+Symbol table '.symtab' contains .* entries:
+ +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+ +0: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+ +1: 00000000 +0 +SECTION +LOCAL +DEFAULT +1
+ +2: 00000000 +0 +SECTION +LOCAL +DEFAULT +[34]
+ +3: 00000000 +0 +SECTION +LOCAL +DEFAULT +[45]
+ +4: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +1 static_text_symbol
+# arm-elf targets add the $d mapping symbol here...
+#...
+ +.: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +[34] static_data_symbol
+# v850 targets include extra SECTION symbols here for the .call_table_data
+# and .call_table_text sections.
+#...
+ +.: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +1 text_symbol
+ +..: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND external_symbol
+ +..: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +[34] data_symbol
+ +..: 00000004 +4 +(COMMON|OBJECT) +GLOBAL +DEFAULT +(COM|ANSI_COM) common_symbol
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/readelf.ss-64 b/binutils-2.25/binutils/testsuite/binutils-all/readelf.ss-64
new file mode 100644
index 00000000..c100c14e
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/readelf.ss-64
@@ -0,0 +1,13 @@
+
+Symbol table '.symtab' contains .* entries:
+ +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+ +0: 0000000000000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+ +1: 0000000000000000 +0 +SECTION +LOCAL +DEFAULT +1
+ +2: 0000000000000000 +0 +SECTION +LOCAL +DEFAULT +3
+ +3: 0000000000000000 +0 +SECTION +LOCAL +DEFAULT +4
+ +4: 0000000000000000 +0 +NOTYPE +LOCAL +DEFAULT +1 static_text_symbol
+ +5: 0000000000000000 +0 +NOTYPE +LOCAL +DEFAULT +3 static_data_symbol
+.* +.: 0000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +1 text_symbol
+ +.: 0000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND external_symbol
+ +.: 0000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +3 data_symbol
+ +.: 0000000000000004 +4 +(COMMON|OBJECT) +GLOBAL +DEFAULT +COM common_symbol
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/readelf.ss-mips b/binutils-2.25/binutils/testsuite/binutils-all/readelf.ss-mips
new file mode 100644
index 00000000..fd975520
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/readelf.ss-mips
@@ -0,0 +1,15 @@
+
+Symbol table '.symtab' contains 12 entries:
+ +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+ +0: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+ +1: 00000000 +0 +SECTION +LOCAL +DEFAULT +. (|\.text)
+ +2: 00000000 +0 +SECTION +LOCAL +DEFAULT +. (|\.data)
+ +3: 00000000 +0 +SECTION +LOCAL +DEFAULT +. (|\.bss)
+ +4: 00000000 +0 +SECTION +LOCAL +DEFAULT +. (|\.reginfo)
+ +5: 00000000 +0 +SECTION +LOCAL +DEFAULT +. (|\.pdr)
+ +6: 00000000 +0 +OBJECT +GLOBAL +DEFAULT +. text_symbol
+ +7: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +. static_text_symbol
+ +8: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND external_symbol
+ +9: 00000000 +0 +OBJECT +GLOBAL +DEFAULT +. data_symbol
+ +10: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +. static_data_symbol
+ +11: 00000004 +4 +(COMMON|OBJECT) +GLOBAL +DEFAULT +(PRC|COM) common_symbol
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/readelf.ss-tmips b/binutils-2.25/binutils/testsuite/binutils-all/readelf.ss-tmips
new file mode 100644
index 00000000..1f872489
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/readelf.ss-tmips
@@ -0,0 +1,15 @@
+
+Symbol table '.symtab' contains 12 entries:
+ +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+ +0: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+ +1: 00000000 +0 +SECTION +LOCAL +DEFAULT +1
+ +2: 00000000 +0 +SECTION +LOCAL +DEFAULT +3
+ +3: 00000000 +0 +SECTION +LOCAL +DEFAULT +4
+ +4: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +1 static_text_symbol
+ +5: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +3 static_data_symbol
+ +6: 00000000 +0 +SECTION +LOCAL +DEFAULT +5
+ +7: 00000000 +0 +SECTION +LOCAL +DEFAULT +6
+ +8: 00000000 +0 +OBJECT +GLOBAL +DEFAULT +1 text_symbol
+ +9: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND external_symbol
+ +10: 00000000 +0 +OBJECT +GLOBAL +DEFAULT +3 data_symbol
+ +11: 00000004 +4 +(COMMON|OBJECT) +GLOBAL +DEFAULT +(PRC|COM) common_symbol
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/readelf.wa b/binutils-2.25/binutils/testsuite/binutils-all/readelf.wa
new file mode 100644
index 00000000..43d60b17
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/readelf.wa
@@ -0,0 +1,27 @@
+Contents of the .zdebug_abbrev section:
+
+ Number TAG (0x0)
+ 1 DW_TAG_compile_unit [has children]
+ DW_AT_stmt_list DW_FORM_data4
+ DW_AT_high_pc DW_FORM_addr
+ DW_AT_low_pc DW_FORM_addr
+ DW_AT_name DW_FORM_string
+ DW_AT_producer DW_FORM_string
+ DW_AT_language DW_FORM_data1
+ DW_AT value: 0 DW_FORM value: 0
+ 2 DW_TAG_subprogram [no children]
+ DW_AT_external DW_FORM_flag
+ DW_AT_decl_file DW_FORM_data1
+ DW_AT_decl_line DW_FORM_data1
+ DW_AT_name DW_FORM_string
+ DW_AT_type DW_FORM_ref4
+ DW_AT_low_pc DW_FORM_addr
+ DW_AT_high_pc DW_FORM_addr
+ DW_AT_frame_base DW_FORM_block1
+ DW_AT value: 0 DW_FORM value: 0
+ 3 DW_TAG_base_type [no children]
+ DW_AT_name DW_FORM_string
+ DW_AT_byte_size DW_FORM_data1
+ DW_AT_encoding DW_FORM_data1
+ DW_AT value: 0 DW_FORM value: 0
+
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/size.exp b/binutils-2.25/binutils/testsuite/binutils-all/size.exp
new file mode 100644
index 00000000..5050a548
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/size.exp
@@ -0,0 +1,82 @@
+# Copyright 1993, 1994, 1995, 1997, 1998, 2007, 2009
+# Free Software Foundation, Inc.
+
+# 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.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-dejagnu@prep.ai.mit.edu
+
+# This file was written by Rob Savoye <rob@cygnus.com>
+# and rewritten by Ian Lance Taylor <ian@cygnus.com>
+
+if ![is_remote host] {
+ if {[which $SIZE] == 0} then {
+ perror "$SIZE does not exist"
+ return
+ }
+}
+
+send_user "Version [binutil_version $SIZE]"
+
+
+if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then {
+ return
+}
+
+if [is_remote host] {
+ set testfile [remote_download host tmpdir/bintest.o]
+} else {
+ set testfile tmpdir/bintest.o
+}
+
+set dec "\[0-9\]+"
+set hex "\[0-9a-fA-F\]+"
+
+# Test size with no arguments
+
+set got [binutils_run $SIZE "$SIZEFLAGS $testfile"]
+
+set want "($dec)\[ \]+($dec)\[ \]+($dec)\[ \]+($dec)\[ \]+($hex)\[ \]+${testfile}"
+
+if ![regexp $want $got all text data bss dtot hextot] then {
+ fail "size (no arguments)"
+} else {
+ if {$text < 8 || $data < 4} then {
+ # The z80-coff port defaults to a "binary" like output
+ # file format which does not include a data section.
+ setup_xfail "z80-*-coff"
+ fail "size (no arguments)"
+ } else {
+ pass "size (no arguments)"
+ }
+}
+
+# Test size -A
+
+set got [binutils_run $SIZE "$SIZEFLAGS -A ${testfile}"]
+
+set want "${testfile}.*(text|TEXT)\[^\n\r\]*\[ \]($dec)\[ \]+$dec.*(\\.data|DATA)\[^\n\r\]*\[ \]($dec)\[ \]+$dec"
+
+if ![regexp $want $got all textname textsize dataname datasize] then {
+ fail "size -A"
+} else {
+ verbose "text size: $textsize"
+ verbose "data size: $datasize"
+ if {$textsize < 8 || $datasize < 4} then {
+ fail "size -A"
+ } else {
+ pass "size -A"
+ }
+}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/strip-1.d b/binutils-2.25/binutils/testsuite/binutils-all/strip-1.d
new file mode 100644
index 00000000..20098321
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/strip-1.d
@@ -0,0 +1,11 @@
+#PROG: strip
+#source: group.s
+#readelf: -Sg --wide
+#name: strip with section group 1
+
+#...
+ \[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AX[ \t]+.*
+#...
+ \[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WA[ \t]+.*
+#...
+There are no section groups in this file.
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/strip-10.d b/binutils-2.25/binutils/testsuite/binutils-all/strip-10.d
new file mode 100644
index 00000000..588c7d12
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/strip-10.d
@@ -0,0 +1,8 @@
+#PROG: strip
+#source: unique.s
+#strip: -g
+#readelf: -s
+#name: strip on STB_GNU_UNIQUE
+
+#...
+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +OBJECT +(UNIQUE|<OS specific>: 10) +DEFAULT +[1-9] foo
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/strip-2.d b/binutils-2.25/binutils/testsuite/binutils-all/strip-2.d
new file mode 100644
index 00000000..9922f475
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/strip-2.d
@@ -0,0 +1,18 @@
+#PROG: strip
+#source: group.s
+#strip: --strip-unneeded
+#readelf: -Sg --wide
+#name: strip with section group 2
+
+#...
+ \[[ 0-9]+\] \.group[ \t]+GROUP[ \t]+.*
+#...
+ \[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AXG[ \t]+.*
+#...
+ \[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WAG[ \t]+.*
+#...
+COMDAT group section \[[ 0-9]+\] `\.group' \[foo_group\] contains 2 sections:
+ \[Index\] Name
+ \[[ 0-9]+\] .text.*
+ \[[ 0-9]+\] .data.*
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/strip-3.d b/binutils-2.25/binutils/testsuite/binutils-all/strip-3.d
new file mode 100644
index 00000000..acfec85d
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/strip-3.d
@@ -0,0 +1,11 @@
+#PROG: strip
+#source: empty.s
+#strip: -R .text -R .data -R .bss -R .ARM.attributes -R .reginfo -R .pdr -R .xtensa.info
+#readelf: -S --wide
+#name: strip empty file
+#target: *-*-linux* *-*-gnu*
+
+#...
+ \[[ 0]+\][ \t]+NULL[ \t]+.*
+ \[[ 1]+\] \.shstrtab.*[ \t]+STRTAB[ \t]+.*
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/strip-4.d b/binutils-2.25/binutils/testsuite/binutils-all/strip-4.d
new file mode 100644
index 00000000..c8c2509f
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/strip-4.d
@@ -0,0 +1,11 @@
+#PROG: strip
+#source: group-2.s
+#readelf: -Sg --wide
+#name: strip with section group 4
+
+#...
+ \[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AX[ \t]+.*
+#...
+ \[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WA[ \t]+.*
+#...
+There are no section groups in this file.
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/strip-5.d b/binutils-2.25/binutils/testsuite/binutils-all/strip-5.d
new file mode 100644
index 00000000..8dd23318
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/strip-5.d
@@ -0,0 +1,18 @@
+#PROG: strip
+#source: group-2.s
+#strip: --strip-unneeded
+#readelf: -Sg --wide
+#name: strip with section group 5
+
+#...
+ \[[ 0-9]+\] .group[ \t]+GROUP[ \t]+.*
+#...
+ \[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AXG[ \t]+.*
+#...
+ \[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WAG[ \t]+.*
+#...
+COMDAT group section \[[ 0-9]+\] `.group' \[.text.foo\] contains 2 sections:
+ \[Index\] Name
+ \[[ 0-9]+\] .text.*
+ \[[ 0-9]+\] .data.*
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/strip-6.d b/binutils-2.25/binutils/testsuite/binutils-all/strip-6.d
new file mode 100644
index 00000000..c5d42887
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/strip-6.d
@@ -0,0 +1,11 @@
+#PROG: strip
+#source: group-3.s
+#readelf: -Sg --wide
+#name: strip with section group 6
+
+#...
+ \[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AX[ \t]+.*
+#...
+ \[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WA[ \t]+.*
+#...
+There are no section groups in this file.
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/strip-7.d b/binutils-2.25/binutils/testsuite/binutils-all/strip-7.d
new file mode 100644
index 00000000..791463b8
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/strip-7.d
@@ -0,0 +1,18 @@
+#PROG: strip
+#source: group-3.s
+#strip: --strip-unneeded
+#readelf: -Sg --wide
+#name: strip with section group 7
+
+#...
+ \[[ 0-9]+\] .group[ \t]+GROUP[ \t]+.*
+#...
+ \[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AXG[ \t]+.*
+#...
+ \[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WAG[ \t]+.*
+#...
+COMDAT group section \[[ 0-9]+\] `.group' \[foo3\] contains 2 sections:
+ \[Index\] Name
+ \[[ 0-9]+\] .text.*
+ \[[ 0-9]+\] .data.*
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/strip-8.d b/binutils-2.25/binutils/testsuite/binutils-all/strip-8.d
new file mode 100644
index 00000000..56185103
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/strip-8.d
@@ -0,0 +1,11 @@
+#PROG: strip
+#source: group-4.s
+#readelf: -Sg --wide
+#name: strip with section group 8
+
+#...
+ \[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AX[ \t]+.*
+#...
+ \[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WA[ \t]+.*
+#...
+There are no section groups in this file.
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/strip-9.d b/binutils-2.25/binutils/testsuite/binutils-all/strip-9.d
new file mode 100644
index 00000000..7f07a0da
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/strip-9.d
@@ -0,0 +1,18 @@
+#PROG: strip
+#source: group-4.s
+#strip: --strip-unneeded
+#readelf: -Sg --wide
+#name: strip with section group 9
+
+#...
+ \[[ 0-9]+\] .group[ \t]+GROUP[ \t]+.*
+#...
+ \[[ 0-9]+\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AXG[ \t]+.*
+#...
+ \[[ 0-9]+\] \.data.*[ \t]+PROGBITS[ \t0-9a-f]+WAG[ \t]+.*
+#...
+COMDAT group section \[[ 0-9]+\] `.group' \[foo4\] contains 2 sections:
+ \[Index\] Name
+ \[[ 0-9]+\] .text.*
+ \[[ 0-9]+\] .data.*
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/testprog.c b/binutils-2.25/binutils/testsuite/binutils-all/testprog.c
new file mode 100644
index 00000000..6ead98e7
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/testprog.c
@@ -0,0 +1,31 @@
+/* This program is used to test objcopy, readelf and strip. */
+
+extern int strcmp (char *, const char *);
+extern int printf (const char *, ...);
+
+int common;
+int global = 1;
+static int local = 2;
+static char string[] = "string";
+
+int
+fn (void)
+{
+ return 3;
+}
+
+int
+main (void)
+{
+ if (common != 0
+ || global != 1
+ || local != 2
+ || strcmp (string, "string") != 0)
+ {
+ printf ("failed\n");
+ return 1;
+ }
+
+ printf ("ok\n");
+ return 0;
+}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/testranges-ia64.d b/binutils-2.25/binutils/testsuite/binutils-all/testranges-ia64.d
new file mode 100644
index 00000000..9713236b
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/testranges-ia64.d
@@ -0,0 +1,15 @@
+#PROG: objcopy
+#source: testranges-ia64.s
+#readelf: -wR --wide
+#name: unordered .debug_info references to .debug_ranges
+#target: ia64-*-*
+
+Contents of the .debug_ranges section:
+
+ Offset Begin End
+ 00000000 00000001 00000002
+ 00000000 <End of list>
+ 00000010 00000000 00000002
+ 00000010 <End of list>
+
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/testranges-ia64.s b/binutils-2.25/binutils/testsuite/binutils-all/testranges-ia64.s
new file mode 100644
index 00000000..9af6b634
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/testranges-ia64.s
@@ -0,0 +1,57 @@
+# Test .debug_info can reference .debug_ranges entries without ordering the
+# offsets strictly as increasing.
+
+ .text
+start:
+ .byte 1
+sub:
+ .byte 2
+end:
+
+ .section .debug_ranges,"",@progbits
+range:
+
+range_sub:
+ data4.ua @secrel(sub), @secrel(end)
+ data4.ua 0, 0 /* range terminator */
+
+range_cu:
+ data4.ua @secrel(start), @secrel(end)
+ data4.ua 0, 0 /* range terminator */
+
+ .section .debug_info,"",@progbits
+ data4.ua debugE - debugS /* Length of Compilation Unit Info */
+debugS:
+ .short 0x2 /* DWARF version number */
+ data4.ua @secrel(abbrev0) /* Offset Into Abbrev. Section */
+ .byte 0x4 /* Pointer Size (in bytes) */
+
+ .uleb128 0x1 /* (DIE (0xb) DW_TAG_compile_unit) */
+ data4.ua range_cu - range /* DW_AT_ranges */
+
+ .uleb128 0x2 /* (DIE (0x6d) DW_TAG_subprogram) */
+ .ascii "A\0" /* DW_AT_name */
+ data4.ua range_sub - range /* DW_AT_ranges */
+debugE:
+
+ .section .debug_abbrev,"",@progbits
+abbrev0:
+ .uleb128 0x1 /* (abbrev code) */
+ .uleb128 0x11 /* (TAG: DW_TAG_compile_unit) */
+ .byte 0x0 /* DW_children_no */
+ .uleb128 0x55 /* (DW_AT_ranges) */
+ .uleb128 0x6 /* (DW_FORM_data4) */
+ .byte 0x0
+ .byte 0x0
+
+ .uleb128 0x2 /* (abbrev code) */
+ .uleb128 0x2e /* (TAG: DW_TAG_subprogram) */
+ .byte 0x0 /* DW_children_no */
+ .uleb128 0x3 /* (DW_AT_name) */
+ .uleb128 0x8 /* (DW_FORM_string) */
+ .uleb128 0x55 /* (DW_AT_ranges) */
+ .uleb128 0x6 /* (DW_FORM_data4) */
+ .byte 0x0
+ .byte 0x0
+
+ .byte 0x0 /* abbrevs terminator */
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/testranges.d b/binutils-2.25/binutils/testsuite/binutils-all/testranges.d
new file mode 100644
index 00000000..07f97503
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/testranges.d
@@ -0,0 +1,15 @@
+#PROG: objcopy
+#source: testranges.s
+#readelf: -wR --wide
+#name: unordered .debug_info references to .debug_ranges
+#not-target: ia64-*-*
+
+Contents of the \.z?debug_ranges section:
+
+ Offset Begin End
+ 00000000 00000001 00000002
+ 00000000 <End of list>
+ 00000010 00000000 00000002
+ 00000010 <End of list>
+
+#pass
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/testranges.s b/binutils-2.25/binutils/testsuite/binutils-all/testranges.s
new file mode 100644
index 00000000..e1f9931b
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/testranges.s
@@ -0,0 +1,61 @@
+# Test .debug_info can reference .debug_ranges entries without ordering the
+# offsets strictly as increasing.
+
+ .text
+start:
+ .byte 1
+sub:
+ .byte 2
+end:
+
+ .section .debug_ranges,"",%progbits
+range:
+
+range_sub:
+ .4byte sub, end
+ .4byte 0, 0 ;# range terminator
+
+range_cu:
+ .4byte start, end
+ .4byte 0, 0 ;# range terminator
+
+ .section .debug_info,"",%progbits
+ .4byte debugE - debugS ;# Length of Compilation Unit Info
+debugS:
+ .short 0x2 ;# DWARF version number
+ .4byte abbrev0 ;# Offset Into Abbrev. Section
+ .byte 0x4 ;# Pointer Size (in bytes)
+
+ .uleb128 0x1 ;# (DIE (0xb) DW_TAG_compile_unit)
+ .4byte range_cu - range ;# DW_AT_ranges
+
+ .uleb128 0x2 ;# (DIE (0x6d) DW_TAG_subprogram)
+ .ascii "A\0" ;# DW_AT_name
+ .4byte range_sub - range ;# DW_AT_ranges
+
+ ;# minimal section alignment on alpha-* is 2, ensure no new invalid CU
+ ;# will be started.
+ .balign 2
+debugE:
+
+ .section .debug_abbrev,"",%progbits
+abbrev0:
+ .uleb128 0x1 ;# (abbrev code)
+ .uleb128 0x11 ;# (TAG: DW_TAG_compile_unit)
+ .byte 0x0 ;# DW_children_no
+ .uleb128 0x55 ;# (DW_AT_ranges)
+ .uleb128 0x6 ;# (DW_FORM_data4)
+ .byte 0x0
+ .byte 0x0
+
+ .uleb128 0x2 ;# (abbrev code)
+ .uleb128 0x2e ;# (TAG: DW_TAG_subprogram)
+ .byte 0x0 ;# DW_children_no
+ .uleb128 0x3 ;# (DW_AT_name)
+ .uleb128 0x8 ;# (DW_FORM_string)
+ .uleb128 0x55 ;# (DW_AT_ranges)
+ .uleb128 0x6 ;# (DW_FORM_data4)
+ .byte 0x0
+ .byte 0x0
+
+ .byte 0x0 ;# abbrevs terminator
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/unique.s b/binutils-2.25/binutils/testsuite/binutils-all/unique.s
new file mode 100644
index 00000000..44fb7a09
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/unique.s
@@ -0,0 +1,4 @@
+ .data
+ .type foo,%gnu_unique_object
+foo:
+ .byte 0
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/unknown.s b/binutils-2.25/binutils/testsuite/binutils-all/unknown.s
new file mode 100644
index 00000000..e1b53c01
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/unknown.s
@@ -0,0 +1,4 @@
+ .section .foo,"a","note"
+ .global _start
+_start:
+ .long 0
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/vax/entrymask.s b/binutils-2.25/binutils/testsuite/binutils-all/vax/entrymask.s
new file mode 100644
index 00000000..18f90106
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/vax/entrymask.s
@@ -0,0 +1,11 @@
+.text
+
+.global label1
+label1:
+ .word 0x0110
+
+.global label2
+.type label2,@function
+label2:
+ .word 0x0224
+
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/vax/objdump.exp b/binutils-2.25/binutils/testsuite/binutils-all/vax/objdump.exp
new file mode 100644
index 00000000..f4734a5b
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/vax/objdump.exp
@@ -0,0 +1,64 @@
+#
+# Copyright 1993, 1994, 1995, 1997, 1999, 2000, 2002, 2005, 2007, 2009
+# Free Software Foundation, Inc.
+#
+# 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.
+#
+
+#
+# This file was written by Jan-Benedict Glaw <jbglaw@lug-owl.de>. It's goal
+# is to check the VAX-specific support of the -M entry:0xf00 switch, which
+# allows to force function entry masks at given addresses.
+#
+
+if ![istarget vax*-*-*] then {
+ return
+}
+
+if {[which $OBJDUMP] == 0} then {
+ perror "$OBJDUMP does not exist"
+ return
+}
+
+send_user "Version [binutil_version $OBJDUMP]"
+
+if {![binutils_assemble $srcdir/$subdir/entrymask.s tmpdir/entrymask.o]} then {
+ return
+}
+
+if [is_remote host] {
+ set objfile [remote_download host tmpdir/entrymask.o]
+} else {
+ set objfile tmpdir/entrymask.o
+}
+
+#
+# We check both function entry points. The second one at offset 2 will
+# show up automatically on ELF targets, but needs to be set on a.out
+# targets.
+#
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -d -M entry:0x0 -M entry:2 $objfile"]
+set want1 "\[ \]+0:\[ \]+10 01\[ \]+\\.word 0x0110.\*r8 r4"
+set want2 "\[ \]+2:\[ \]+24 02\[ \]+\\.word 0x0224.\*r9 r5 r2"
+if [regexp $want1 $got] then {
+ pass "entrymask test 1"
+} else {
+ fail "entrymask test 1"
+}
+if [regexp $want2 $got] then {
+ pass "entrymask test 2"
+} else {
+ fail "entrymask test 2"
+}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/version.def b/binutils-2.25/binutils/testsuite/binutils-all/version.def
new file mode 100644
index 00000000..ce1c4b54
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/version.def
@@ -0,0 +1,17 @@
+LIBRARY VERSION.dll
+EXPORTS
+GetFileVersionInfoA1
+GetFileVersionInfoSizeA2
+GetFileVersionInfoSizeW3
+GetFileVersionInfoW4
+VerFindFileA5
+VerFindFileW6
+VerInstallFileA7
+VerInstallFileW8
+VerLanguageNameA9
+VerLanguageNameW10
+VerQueryValueA11
+VerQueryValueIndexA12
+VerQueryValueIndexW13
+VerQueryValueW14
+
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/version.s b/binutils-2.25/binutils/testsuite/binutils-all/version.s
new file mode 100644
index 00000000..66a0566b
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/version.s
@@ -0,0 +1 @@
+ .version "Version 1.0"
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/MSG00001.bin b/binutils-2.25/binutils/testsuite/binutils-all/windres/MSG00001.bin
new file mode 100644
index 00000000..0092b834
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/MSG00001.bin
Binary files differ
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/README b/binutils-2.25/binutils/testsuite/binutils-all/windres/README
new file mode 100644
index 00000000..67114461
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/README
@@ -0,0 +1,33 @@
+Instructions for adding tests:
+
+The files *.rc are hand-edited or copied from elsewhere.
+
+The script msupdate is used to generate the *.rsd files, which are
+dumps of the RES formatted output of MSVC's RC utility.
+
+Within the *.rc file, the first N lines beginning with a special
+comment can control the test. Comments are // /* or # (// is
+recommended, as both rc and windres support those). Each line
+contains one command:
+
+ // parse-only
+ // xfail *-*-*
+ // cpparg <preprocessor options passed via --preprocessor-arg>
+
+parse-only must preceed any xfail commands, and indicates that a
+comparison with the *.rsd file will not happen. xfail indicates when
+a failure is expected. This should only be used for when you are
+adding a new test that is known to fail because of a bug in windres,
+and it should be removed when the bug is fixed.
+
+You can use pfail or cfail instead of xfail to indicate that only the
+parsing or comparing should be xfailed.
+
+The windres tests only run for ix86 targets, because the
+MSVC-generated *.rsd files are generated for that.
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/bmp1.bmp b/binutils-2.25/binutils/testsuite/binutils-all/windres/bmp1.bmp
new file mode 100644
index 00000000..208a8aa2
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/bmp1.bmp
Binary files differ
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/bmpalign.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/bmpalign.rc
new file mode 100644
index 00000000..7cb5583d
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/bmpalign.rc
@@ -0,0 +1,9 @@
+LANGUAGE 0, 0
+
+A BITMAP MOVEABLE PURE DISCARDABLE "bmp1.bmp"
+
+AB BITMAP MOVEABLE PURE DISCARDABLE "bmp1.bmp"
+
+ABC BITMAP MOVEABLE PURE DISCARDABLE "bmp1.bmp"
+
+ABCD BITMAP MOVEABLE PURE DISCARDABLE "bmp1.bmp"
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/bmpalign.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/bmpalign.rsd
new file mode 100644
index 00000000..3ee53965
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/bmpalign.rsd
@@ -0,0 +1,38 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 6c000000 20000000 ffff0200 41000000 l... .......A...
+ 0030 00000000 30100000 00000000 00000000 ....0...........
+ 0040 28000000 01000000 01000000 01000400 (...............
+ 0050 00000000 04000000 00000000 00000000 ................
+ 0060 00000000 00000000 00000000 00008000 ................
+ 0070 00800000 00808000 80000000 80008000 ................
+ 0080 80800000 c0c0c000 80808000 0000ff00 ................
+ 0090 00ff0000 00ffff00 ff000000 ff00ff00 ................
+ 00a0 ffff0000 ffffff00 90000000 6c000000 ............l...
+ 00b0 24000000 ffff0200 41004200 00000000 $.......A.B.....
+ 00c0 00000000 30100000 00000000 00000000 ....0...........
+ 00d0 28000000 01000000 01000000 01000400 (...............
+ 00e0 00000000 04000000 00000000 00000000 ................
+ 00f0 00000000 00000000 00000000 00008000 ................
+ 0100 00800000 00808000 80000000 80008000 ................
+ 0110 80800000 c0c0c000 80808000 0000ff00 ................
+ 0120 00ff0000 00ffff00 ff000000 ff00ff00 ................
+ 0130 ffff0000 ffffff00 90000000 6c000000 ............l...
+ 0140 24000000 ffff0200 41004200 43000000 $.......A.B.C...
+ 0150 00000000 30100000 00000000 00000000 ....0...........
+ 0160 28000000 01000000 01000000 01000400 (...............
+ 0170 00000000 04000000 00000000 00000000 ................
+ 0180 00000000 00000000 00000000 00008000 ................
+ 0190 00800000 00808000 80000000 80008000 ................
+ 01a0 80800000 c0c0c000 80808000 0000ff00 ................
+ 01b0 00ff0000 00ffff00 ff000000 ff00ff00 ................
+ 01c0 ffff0000 ffffff00 90000000 6c000000 ............l...
+ 01d0 28000000 ffff0200 41004200 43004400 (.......A.B.C.D.
+ 01e0 00000000 00000000 30100000 00000000 ........0.......
+ 01f0 00000000 28000000 01000000 01000000 ....(...........
+ 0200 01000400 00000000 04000000 00000000 ................
+ 0210 00000000 00000000 00000000 00000000 ................
+ 0220 00008000 00800000 00808000 80000000 ................
+ 0230 80008000 80800000 c0c0c000 80808000 ................
+ 0240 0000ff00 00ff0000 00ffff00 ff000000 ................
+ 0250 ff00ff00 ffff0000 ffffff00 90000000 ................
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/capstyle.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/capstyle.rc
new file mode 100644
index 00000000..238d21ea
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/capstyle.rc
@@ -0,0 +1,5 @@
+101 DIALOG DISCARDABLE 0, 0, 186, 95
+CAPTION ""
+BEGIN
+ DEFPUSHBUTTON "OK",1,129,7,50,14
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/capstyle.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/capstyle.rsd
new file mode 100644
index 00000000..fef81169
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/capstyle.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 36000000 20000000 ffff0500 ffff6500 6... .........e.
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 0000c880 00000000 01000000 0000ba00 ................
+ 0050 5f000000 00000000 01000150 00000000 _..........P....
+ 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O.
+ 0070 4b000000 00000000 K.......
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/checkbox.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/checkbox.rc
new file mode 100644
index 00000000..a941d6a5
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/checkbox.rc
@@ -0,0 +1,5 @@
+501 DIALOGEX DISCARDABLE 0, 0, 168, 137
+BEGIN
+ CHECKBOX 108, 1002, 12, 76, 123, 41
+ CHECKBOX "tick me", 1001, 12, 15, 123, 41
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/checkbox.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/checkbox.rsd
new file mode 100644
index 00000000..f3ea5a04
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/checkbox.rsd
@@ -0,0 +1,12 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 72000000 20000000 ffff0500 fffff501 r... ...........
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 0100ffff 00000000 00000000 00008880 ................
+ 0050 02000000 0000a800 89000000 00000000 ................
+ 0060 00000000 00000000 02000150 0c004c00 ...........P..L.
+ 0070 7b002900 ea030000 ffff8000 ffff6c00 {.)...........l.
+ 0080 00000000 00000000 00000000 02000150 ...............P
+ 0090 0c000f00 7b002900 e9030000 ffff8000 ....{.).........
+ 00a0 74006900 63006b00 20006d00 65000000 t.i.c.k. .m.e...
+ 00b0 00000000 ....
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/combobox.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/combobox.rc
new file mode 100644
index 00000000..f9f52d18
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/combobox.rc
@@ -0,0 +1,8 @@
+#define CBS_SIMPLE 0x1
+#define WS_TABSTOP 0x10000
+
+501 DIALOG DISCARDABLE 0, 0, 168, 137
+BEGIN
+ COMBOBOX 1001,10,10,50,54, CBS_SIMPLE | WS_TABSTOP
+END
+
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/combobox.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/combobox.rsd
new file mode 100644
index 00000000..509c7382
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/combobox.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 32000000 20000000 ffff0500 fffff501 2... ...........
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 00008880 00000000 01000000 0000a800 ................
+ 0050 89000000 00000000 01000150 00000000 ...........P....
+ 0060 0a000a00 32003600 e903ffff 85000000 ....2.6.........
+ 0070 00000000 ....
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/deflang.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/deflang.rc
new file mode 100644
index 00000000..1f3c20f5
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/deflang.rc
@@ -0,0 +1,4 @@
+101 DIALOG DISCARDABLE 0, 0, 186, 95
+BEGIN
+ DEFPUSHBUTTON "OK",1,129,7,50,14
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/deflang.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/deflang.rsd
new file mode 100644
index 00000000..270b6223
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/deflang.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 36000000 20000000 ffff0500 ffff6500 6... .........e.
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 00008880 00000000 01000000 0000ba00 ................
+ 0050 5f000000 00000000 01000150 00000000 _..........P....
+ 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O.
+ 0070 4b000000 00000000 K.......
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/dialog0.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialog0.rc
new file mode 100644
index 00000000..fba7ed77
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialog0.rc
@@ -0,0 +1,4 @@
+101 DIALOG 0, 0, 186, 95
+BEGIN
+ DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/dialog0.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialog0.rsd
new file mode 100644
index 00000000..270b6223
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialog0.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 36000000 20000000 ffff0500 ffff6500 6... .........e.
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 00008880 00000000 01000000 0000ba00 ................
+ 0050 5f000000 00000000 01000150 00000000 _..........P....
+ 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O.
+ 0070 4b000000 00000000 K.......
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/dialog1.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialog1.rc
new file mode 100644
index 00000000..71deb4a5
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialog1.rc
@@ -0,0 +1,5 @@
+101 DIALOG DISCARDABLE 0, 0, 186, 95
+BEGIN
+ DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14
+END
+
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/dialog1.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialog1.rsd
new file mode 100644
index 00000000..270b6223
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialog1.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 36000000 20000000 ffff0500 ffff6500 6... .........e.
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 00008880 00000000 01000000 0000ba00 ................
+ 0050 5f000000 00000000 01000150 00000000 _..........P....
+ 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O.
+ 0070 4b000000 00000000 K.......
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/dialogid.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialogid.rc
new file mode 100644
index 00000000..43bf1ec8
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialogid.rc
@@ -0,0 +1,9 @@
+// Test created based on bug report submitted to binutils mailing list
+// See: http://sources.redhat.com/ml/binutils/2003-03/msg00312.html
+
+101 DIALOGEX 0, 0, 200, 200
+
+BEGIN
+CONTROL 108, -1, "classname", 77, 11, 11, 83, 162
+CONTROL "stringid", 102, "classname", 0x5000120e, 5, 5, 10, 10
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/dialogid.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialogid.rsd
new file mode 100644
index 00000000..6c655a1c
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialogid.rsd
@@ -0,0 +1,18 @@
+
+fred.res: file format binary
+
+Contents of section .data:
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 94000000 20000000 ffff0500 ffff6500 .... .........e.
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 0100ffff 00000000 00000000 00008880 ................
+ 0050 02000000 0000c800 c8000000 00000000 ................
+ 0060 00000000 00000000 4d000050 0b000b00 ........M..P....
+ 0070 5300a200 ffffffff 43004c00 41005300 S.......C.L.A.S.
+ 0080 53004e00 41004d00 45000000 ffff6c00 S.N.A.M.E.....l.
+ 0090 00000000 00000000 00000000 0e120050 ...............P
+ 00a0 05000500 0a000a00 66000000 43004c00 ........f...C.L.
+ 00b0 41005300 53004e00 41004d00 45000000 A.S.S.N.A.M.E...
+ 00c0 73007400 72006900 6e006700 69006400 s.t.r.i.n.g.i.d.
+ 00d0 00000000 ....
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/dialogsignature.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialogsignature.rc
new file mode 100644
index 00000000..a05ce190
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialogsignature.rc
@@ -0,0 +1,5 @@
+101 DIALOG DISCARDABLE 0, 0, 186, 95
+STYLE 1
+BEGIN
+ DEFPUSHBUTTON "OK",1,129,7,50,14
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/dialogsignature.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialogsignature.rsd
new file mode 100644
index 00000000..a01c14de
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/dialogsignature.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 36000000 20000000 ffff0500 ffff6500 6... .........e.
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 01000000 00000000 01000000 0000ba00 ................
+ 0050 5f000000 00000000 01000150 00000000 _..........P....
+ 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O.
+ 0070 4b000000 00000000 K.......
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/dlgfont.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/dlgfont.rc
new file mode 100644
index 00000000..9c763e59
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/dlgfont.rc
@@ -0,0 +1,29 @@
+101 DIALOG DISCARDABLE 0, 0, 186, 95
+FONT 8, "Tahoma"
+BEGIN
+ DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14
+END
+
+102 DIALOGEX DISCARDABLE 0, 0, 186, 95
+FONT 8, "Tahoma"
+BEGIN
+ DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14
+END
+
+103 DIALOGEX DISCARDABLE 0, 0, 186, 95
+FONT 8, "Tahoma", 0
+BEGIN
+ DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14
+END
+
+104 DIALOGEX DISCARDABLE 0, 0, 186, 95
+FONT 8, "Tahoma", 0, 0
+BEGIN
+ DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14
+END
+
+105 DIALOGEX DISCARDABLE 0, 0, 186, 95
+FONT 8, "Tahoma", 0, 0, 1
+BEGIN
+ DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/dlgfont.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/dlgfont.rsd
new file mode 100644
index 00000000..8a25cfa6
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/dlgfont.rsd
@@ -0,0 +1,39 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 46000000 20000000 ffff0500 ffff6500 F... .........e.
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 40008880 00000000 01000000 0000ba00 @...............
+ 0050 5f000000 00000000 08005400 61006800 _.........T.a.h.
+ 0060 6f006d00 61000000 01000150 00000000 o.m.a......P....
+ 0070 81000700 32000e00 0100ffff 80004f00 ....2.........O.
+ 0080 4b000000 00000000 58000000 20000000 K.......X... ...
+ 0090 ffff0500 ffff6600 00000000 30100904 ......f.....0...
+ 00a0 00000000 00000000 0100ffff 00000000 ................
+ 00b0 00000000 40008880 01000000 0000ba00 ....@...........
+ 00c0 5f000000 00000000 08000000 00015400 _.............T.
+ 00d0 61006800 6f006d00 61000000 00000000 a.h.o.m.a.......
+ 00e0 00000000 01000150 81000700 32000e00 .......P....2...
+ 00f0 01000000 ffff8000 4f004b00 00000000 ........O.K.....
+ 0100 58000000 20000000 ffff0500 ffff6700 X... .........g.
+ 0110 00000000 30100904 00000000 00000000 ....0...........
+ 0120 0100ffff 00000000 00000000 40008880 ............@...
+ 0130 01000000 0000ba00 5f000000 00000000 ........_.......
+ 0140 08000000 00015400 61006800 6f006d00 ......T.a.h.o.m.
+ 0150 61000000 00000000 00000000 01000150 a..............P
+ 0160 81000700 32000e00 01000000 ffff8000 ....2...........
+ 0170 4f004b00 00000000 58000000 20000000 O.K.....X... ...
+ 0180 ffff0500 ffff6800 00000000 30100904 ......h.....0...
+ 0190 00000000 00000000 0100ffff 00000000 ................
+ 01a0 00000000 40008880 01000000 0000ba00 ....@...........
+ 01b0 5f000000 00000000 08000000 00015400 _.............T.
+ 01c0 61006800 6f006d00 61000000 00000000 a.h.o.m.a.......
+ 01d0 00000000 01000150 81000700 32000e00 .......P....2...
+ 01e0 01000000 ffff8000 4f004b00 00000000 ........O.K.....
+ 01f0 58000000 20000000 ffff0500 ffff6900 X... .........i.
+ 0200 00000000 30100904 00000000 00000000 ....0...........
+ 0210 0100ffff 00000000 00000000 40008880 ............@...
+ 0220 01000000 0000ba00 5f000000 00000000 ........_.......
+ 0230 08000000 00015400 61006800 6f006d00 ......T.a.h.o.m.
+ 0240 61000000 00000000 00000000 01000150 a..............P
+ 0250 81000700 32000e00 01000000 ffff8000 ....2...........
+ 0260 4f004b00 00000000 O.K.....
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/edittext.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/edittext.rc
new file mode 100644
index 00000000..0fd70001
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/edittext.rc
@@ -0,0 +1,4 @@
+501 DIALOG DISCARDABLE 0, 0, 168, 137
+BEGIN
+ EDITTEXT 1001, 28, 63, 137, 52
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/edittext.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/edittext.rsd
new file mode 100644
index 00000000..7132b20f
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/edittext.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 32000000 20000000 ffff0500 fffff501 2... ...........
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 00008880 00000000 01000000 0000a800 ................
+ 0050 89000000 00000000 00008150 00000000 ...........P....
+ 0060 1c003f00 89003400 e903ffff 81000000 ..?...4.........
+ 0070 00000000 ....
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/escapea.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/escapea.rc
new file mode 100644
index 00000000..0e3e9670
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/escapea.rc
@@ -0,0 +1,7 @@
+20 MENU DISCARDABLE
+BEGIN
+ POPUP "&File"
+ BEGIN
+ MENUITEM "&Open\a^O", 17
+ END
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/escapea.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/escapea.rsd
new file mode 100644
index 00000000..c8a7f4eb
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/escapea.rsd
@@ -0,0 +1,7 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 28000000 20000000 ffff0400 ffff1400 (... ...........
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 00000000 90002600 46006900 6c006500 ......&.F.i.l.e.
+ 0050 00008000 11002600 4f007000 65006e00 ......&.O.p.e.n.
+ 0060 08005e00 4f000000 ..^.O...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/escapex-2.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/escapex-2.rc
new file mode 100755
index 00000000..ed35b214
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/escapex-2.rc
@@ -0,0 +1,5 @@
+101 DIALOG DISCARDABLE 0, 0, 186, 95
+BEGIN
+ LTEXT "\xB0ABC",-1,23,46,28,8
+END
+
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/escapex-2.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/escapex-2.rsd
new file mode 100644
index 00000000..774c648c
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/escapex-2.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 3a000000 20000000 ffff0500 ffff6500 :... .........e.
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 00008880 00000000 01000000 0000ba00 ................
+ 0050 5f000000 00000000 00000250 00000000 _..........P....
+ 0060 17002e00 1c000800 ffffffff 8200b000 ................
+ 0070 41004200 43000000 00000000 A.B.C.......
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/escapex.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/escapex.rc
new file mode 100644
index 00000000..1a025f65
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/escapex.rc
@@ -0,0 +1,4 @@
+101 DIALOG DISCARDABLE 0, 0, 186, 95
+BEGIN
+ LTEXT "\xB0",-1,23,46,28,8
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/escapex.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/escapex.rsd
new file mode 100644
index 00000000..280aead0
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/escapex.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 34000000 20000000 ffff0500 ffff6500 4... .........e.
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 00008880 00000000 01000000 0000ba00 ................
+ 0050 5f000000 00000000 00000250 00000000 _..........P....
+ 0060 17002e00 1c000800 ffffffff 8200b000 ................
+ 0070 00000000 ....
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/html.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/html.rc
new file mode 100644
index 00000000..d85f5653
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/html.rc
@@ -0,0 +1,6 @@
+#include "windows.h"
+
+LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
+
+129 HTML "html1.hm"
+130 HTML "html2.hm"
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/html.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/html.rsd
new file mode 100644
index 00000000..c124a82b
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/html.rsd
@@ -0,0 +1,45 @@
+
+html.res: file format binary
+
+Contents of section .data:
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 0d010000 20000000 ffff1700 ffff8100 .... ...........
+ 0030 00000000 30100704 00000000 00000000 ....0...........
+ 0040 3c21444f 43545950 4520646f 63747970 <!DOCTYPE doctyp
+ 0050 65205055 424c4943 20222d2f 2f773363 e PUBLIC "-//w3c
+ 0060 2f2f6474 64206874 6d6c2034 2e302074 //dtd html 4.0 t
+ 0070 72616e73 6974696f 6e616c2f 2f656e22 ransitional//en"
+ 0080 3e0d0a3c 68746d6c 3e0d0a3c 68656164 >..<html>..<head
+ 0090 3e0d0a20 203c6d65 74612063 6f6e7465 >.. <meta conte
+ 00a0 6e743d22 74657874 2f68746d 6c3b2063 nt="text/html; c
+ 00b0 68617273 65743d69 736f2d38 3835392d harset=iso-8859-
+ 00c0 31222020 68747470 2d657175 69763d22 1" http-equiv="
+ 00d0 436f6e74 656e742d 54797065 223e0d0a Content-Type">..
+ 00e0 20203c74 69746c65 3e57696e 64726573 <title>Windres
+ 00f0 3c2f7469 746c653e 0d0a3c2f 68656164 </title>..</head
+ 0100 3e0d0a0d 0a3c626f 64793e0d 0a546869 >....<body>..Thi
+ 0110 73206973 20612074 65737420 70616765 s is a test page
+ 0120 20666f72 2077696e 64726573 2048544d for windres HTM
+ 0130 4c207265 736f7572 63652e0d 0a3c2f62 L resource...</b
+ 0140 6f64793e 0d0a3c2f 68746d6c 3e000000 ody>..</html>...
+ 0150 14010000 20000000 ffff1700 ffff8200 .... ...........
+ 0160 00000000 30100704 00000000 00000000 ....0...........
+ 0170 3c21444f 43545950 4520646f 63747970 <!DOCTYPE doctyp
+ 0180 65205055 424c4943 20222d2f 2f773363 e PUBLIC "-//w3c
+ 0190 2f2f6474 64206874 6d6c2034 2e302074 //dtd html 4.0 t
+ 01a0 72616e73 6974696f 6e616c2f 2f656e22 ransitional//en"
+ 01b0 3e0d0a3c 68746d6c 3e0d0a3c 68656164 >..<html>..<head
+ 01c0 3e0d0a20 203c6d65 74612063 6f6e7465 >.. <meta conte
+ 01d0 6e743d22 74657874 2f68746d 6c3b2063 nt="text/html; c
+ 01e0 68617273 65743d69 736f2d38 3835392d harset=iso-8859-
+ 01f0 31222020 68747470 2d657175 69763d22 1" http-equiv="
+ 0200 436f6e74 656e742d 54797065 223e0d0a Content-Type">..
+ 0210 20203c74 69746c65 3e57696e 64726573 <title>Windres
+ 0220 3c2f7469 746c653e 0d0a3c2f 68656164 </title>..</head
+ 0230 3e0d0a0d 0a3c626f 64793e0d 0a546869 >....<body>..Thi
+ 0240 73206973 20612073 65636f6e 64207465 s is a second te
+ 0250 73742070 61676520 666f7220 77696e64 st page for wind
+ 0260 72657320 48544d4c 20726573 6f757263 res HTML resourc
+ 0270 652e0d0a 3c2f626f 64793e0d 0a3c2f68 e...</body>..</h
+ 0280 746d6c3e tml>
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/html1.hm b/binutils-2.25/binutils/testsuite/binutils-all/windres/html1.hm
new file mode 100644
index 00000000..ffc5a182
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/html1.hm
@@ -0,0 +1,11 @@
+<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
+ <title>Windres</title>
+</head>
+
+<body>
+This is a test page for windres HTML resource.
+</body>
+</html> \ No newline at end of file
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/html2.hm b/binutils-2.25/binutils/testsuite/binutils-all/windres/html2.hm
new file mode 100644
index 00000000..2fb343bf
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/html2.hm
@@ -0,0 +1,11 @@
+<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
+ <title>Windres</title>
+</head>
+
+<body>
+This is a second test page for windres HTML resource.
+</body>
+</html> \ No newline at end of file
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/lang.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/lang.rc
new file mode 100644
index 00000000..d8943155
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/lang.rc
@@ -0,0 +1,15 @@
+#include "windows.h"
+
+LANGUAGE 0, 0
+
+1 MENU MOVEABLE PURE DISCARDABLE
+LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
+BEGIN
+ POPUP "&Datei" { MENUITEM "foo", 1 }
+END
+
+1 MENU MOVEABLE PURE DISCARDABLE
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+BEGIN
+ POPUP "&File" { MENUITEM "foo", 1 }
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/lang.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/lang.rsd
new file mode 100644
index 00000000..9e0045f6
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/lang.rsd
@@ -0,0 +1,10 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 20000000 20000000 ffff0400 ffff0100 ... ...........
+ 0030 00000000 30100704 00000000 00000000 ....0...........
+ 0040 00000000 90002600 44006100 74006500 ......&.D.a.t.e.
+ 0050 69000000 80000100 66006f00 6f000000 i.......f.o.o...
+ 0060 1e000000 20000000 ffff0400 ffff0100 .... ...........
+ 0070 00000000 30100904 00000000 00000000 ....0...........
+ 0080 00000000 90002600 46006900 6c006500 ......&.F.i.l.e.
+ 0090 00008000 01006600 6f006f00 00000000 ......f.o.o.....
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/listbox.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/listbox.rc
new file mode 100644
index 00000000..bb7c121e
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/listbox.rc
@@ -0,0 +1,4 @@
+501 DIALOG DISCARDABLE 0, 0, 168, 137
+BEGIN
+ LISTBOX 1001, 28, 63, 137, 52
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/listbox.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/listbox.rsd
new file mode 100644
index 00000000..4c3eadfc
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/listbox.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 32000000 20000000 ffff0500 fffff501 2... ...........
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 00008880 00000000 01000000 0000a800 ................
+ 0050 89000000 00000000 01008050 00000000 ...........P....
+ 0060 1c003f00 89003400 e903ffff 83000000 ..?...4.........
+ 0070 00000000 ....
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/messagetable.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/messagetable.rc
new file mode 100644
index 00000000..250d2417
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/messagetable.rc
@@ -0,0 +1,5 @@
+#include "windows.h"
+
+LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
+
+888 MESSAGETABLE MSG00001.bin
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/messagetable.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/messagetable.rsd
new file mode 100644
index 00000000..9d108a58
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/messagetable.rsd
@@ -0,0 +1,15 @@
+
+messagetable.res: file format binary
+
+Contents of section .data:
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 70000000 20000000 ffff0b00 ffff7803 p... .........x.
+ 0030 00000000 30100704 00000000 00000000 ....0...........
+ 0040 01000000 00000000 05000000 10000000 ................
+ 0050 14000000 4e6f7469 63653a20 25310d0a ....Notice: %1..
+ 0060 00000000 0c000000 25310d0a 00000000 ........%1......
+ 0070 10000000 5761726e 3a202531 0d0a0000 ....Warn: %1....
+ 0080 10000000 4572726f 723a2025 310d0a00 ....Error: %1...
+ 0090 10000000 46617461 6c3a2025 310d0a00 ....Fatal: %1...
+ 00a0 10000000 25310d0a 25320d0a 00000000 ....%1..%2......
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/msupdate b/binutils-2.25/binutils/testsuite/binutils-all/windres/msupdate
new file mode 100755
index 00000000..94d36988
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/msupdate
@@ -0,0 +1,40 @@
+#!/bin/sh
+# Copyright 2001, 2007, 2009 Free Software Foundation, Inc.
+
+# 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.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-dejagnu@prep.ai.mit.edu
+
+# Written by DJ Delorie <dj@redhat.com>
+
+# Run this on a machine with Cygwin and Microsoft Visual C to create
+# the RES files we match against.
+
+RC="rc"
+if test x"$1" != x""
+then
+ RC="$1"
+fi
+
+for i in *.rc
+do
+ o=`echo $i | sed s/.rc/.res/`
+ d=`echo $i | sed s/.rc/.rsd/`
+ echo "$i -> $o -> $d"
+ $RC /fo$o $i
+ objdump -b binary -s $o | sed -n '/^ [0-9a-f][0-9a-f]* /p' > $d
+ rm $o
+done
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/nocaption.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/nocaption.rc
new file mode 100644
index 00000000..1f3c20f5
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/nocaption.rc
@@ -0,0 +1,4 @@
+101 DIALOG DISCARDABLE 0, 0, 186, 95
+BEGIN
+ DEFPUSHBUTTON "OK",1,129,7,50,14
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/nocaption.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/nocaption.rsd
new file mode 100644
index 00000000..270b6223
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/nocaption.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 36000000 20000000 ffff0500 ffff6500 6... .........e.
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 00008880 00000000 01000000 0000ba00 ................
+ 0050 5f000000 00000000 01000150 00000000 _..........P....
+ 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O.
+ 0070 4b000000 00000000 K.......
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/printstyle.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/printstyle.rc
new file mode 100644
index 00000000..0066c995
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/printstyle.rc
@@ -0,0 +1,6 @@
+101 DIALOG DISCARDABLE 0, 0, 186, 95
+STYLE 0
+BEGIN
+ DEFPUSHBUTTON "OK",1,129,7,50,14
+END
+
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/printstyle.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/printstyle.rsd
new file mode 100644
index 00000000..6a4a919c
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/printstyle.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 36000000 20000000 ffff0500 ffff6500 6... .........e.
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 00000000 00000000 01000000 0000ba00 ................
+ 0050 5f000000 00000000 01000150 00000000 _..........P....
+ 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O.
+ 0070 4b000000 00000000 K.......
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/quoteclass.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/quoteclass.rc
new file mode 100644
index 00000000..c1f98e19
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/quoteclass.rc
@@ -0,0 +1,8 @@
+// parse-only
+
+101 DIALOG DISCARDABLE 0, 0, 186, 95
+CLASS "myclass"
+BEGIN
+ DEFPUSHBUTTON "OK",1,129,7,50,14
+END
+
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/scrollbar.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/scrollbar.rc
new file mode 100644
index 00000000..9391d1ab
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/scrollbar.rc
@@ -0,0 +1,4 @@
+501 DIALOGEX 0, 0, 168, 137
+BEGIN
+ SCROLLBAR 1001,43,68,105,10,0,0,0x81f503e9
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/scrollbar.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/scrollbar.rsd
new file mode 100644
index 00000000..c509c4cd
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/scrollbar.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 40000000 20000000 ffff0500 fffff501 @... ...........
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 0100ffff 00000000 00000000 00008880 ................
+ 0050 01000000 0000a800 89000000 00000000 ................
+ 0060 e903f581 00000000 00000050 2b004400 ...........P+.D.
+ 0070 69000a00 e9030000 ffff8400 00000000 i...............
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab1.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab1.rc
new file mode 100644
index 00000000..a1a246d8
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab1.rc
@@ -0,0 +1,8 @@
+#include "windows.h"
+
+LANGUAGE 0, 0
+
+STRINGTABLE MOVEABLE PURE DISCARDABLE
+BEGIN
+ 1 "hello, world"
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab1.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab1.rsd
new file mode 100644
index 00000000..4d610739
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab1.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 38000000 20000000 ffff0600 ffff0100 8... ...........
+ 0030 00000000 30100000 00000000 00000000 ....0...........
+ 0040 00000c00 68006500 6c006c00 6f002c00 ....h.e.l.l.o.,.
+ 0050 20007700 6f007200 6c006400 00000000 .w.o.r.l.d.....
+ 0060 00000000 00000000 00000000 00000000 ................
+ 0070 00000000 00000000 ........
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab2.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab2.rc
new file mode 100644
index 00000000..2721d159
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab2.rc
@@ -0,0 +1,8 @@
+#include "windows.h"
+
+LANGUAGE 0, 0
+
+STRINGTABLE MOVEABLE PURE DISCARDABLE
+BEGIN
+ 1 L"hello, world"
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab2.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab2.rsd
new file mode 100644
index 00000000..4d610739
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab2.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 38000000 20000000 ffff0600 ffff0100 8... ...........
+ 0030 00000000 30100000 00000000 00000000 ....0...........
+ 0040 00000c00 68006500 6c006c00 6f002c00 ....h.e.l.l.o.,.
+ 0050 20007700 6f007200 6c006400 00000000 .w.o.r.l.d.....
+ 0060 00000000 00000000 00000000 00000000 ................
+ 0070 00000000 00000000 ........
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab3.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab3.rc
new file mode 100644
index 00000000..542e9dc6
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab3.rc
@@ -0,0 +1,14 @@
+// cpparg -DTEST=1
+
+#include "windows.h"
+
+LANGUAGE 0, 0
+
+STRINGTABLE MOVEABLE PURE DISCARDABLE
+BEGIN
+#ifdef TEST
+ 1 "hello, world"
+#else
+ 1 "fail"
+#endif
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab3.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab3.rsd
new file mode 100644
index 00000000..4d610739
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab3.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 38000000 20000000 ffff0600 ffff0100 8... ...........
+ 0030 00000000 30100000 00000000 00000000 ....0...........
+ 0040 00000c00 68006500 6c006c00 6f002c00 ....h.e.l.l.o.,.
+ 0050 20007700 6f007200 6c006400 00000000 .w.o.r.l.d.....
+ 0060 00000000 00000000 00000000 00000000 ................
+ 0070 00000000 00000000 ........
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab4.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab4.rc
new file mode 100644
index 00000000..cd532980
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab4.rc
@@ -0,0 +1,10 @@
+// cpparg -DTEST=1
+
+#include "windows.h"
+
+LANGUAGE 0, 0
+
+STRINGTABLE MOVEABLE PURE DISCARDABLE
+BEGIN
+ 1 "hello\0 world"
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab4.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab4.rsd
new file mode 100644
index 00000000..9fa055d7
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/strtab4.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 38000000 20000000 ffff0600 ffff0100 8... ...........
+ 0030 00000000 30100000 00000000 00000000 ....0...........
+ 0040 00000c00 68006500 6c006c00 6f000000 ....h.e.l.l.o...
+ 0050 20007700 6f007200 6c006400 00000000 .w.o.r.l.d.....
+ 0060 00000000 00000000 00000000 00000000 ................
+ 0070 00000000 00000000 ........
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/sublang.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/sublang.rc
new file mode 100644
index 00000000..a37921b3
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/sublang.rc
@@ -0,0 +1,5 @@
+LANGUAGE 9, 1
+101 DIALOG DISCARDABLE 0, 0, 186, 95
+BEGIN
+ DEFPUSHBUTTON "OK",1,129,7,50,14
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/sublang.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/sublang.rsd
new file mode 100644
index 00000000..270b6223
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/sublang.rsd
@@ -0,0 +1,8 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 36000000 20000000 ffff0500 ffff6500 6... .........e.
+ 0030 00000000 30100904 00000000 00000000 ....0...........
+ 0040 00008880 00000000 01000000 0000ba00 ................
+ 0050 5f000000 00000000 01000150 00000000 _..........P....
+ 0060 81000700 32000e00 0100ffff 80004f00 ....2.........O.
+ 0070 4b000000 00000000 K.......
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/version.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/version.rc
new file mode 100644
index 00000000..59c8743a
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/version.rc
@@ -0,0 +1,32 @@
+#include "windows.h"
+
+LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+ FILEFLAGS 0x0L
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040704e4"
+ BEGIN
+ VALUE L"CompanyName", L"binutil\x0073"
+ VALUE "FileDescription", "RC compiler."
+ VALUE "FileVersion", "1.0.0.1"
+ VALUE "InternalName", "windres.exe"
+ VALUE "LegalCopyright", "(c) FSF. All rights are reserved."
+ VALUE "OriginalFilename", "windres.exe"
+ VALUE "ProductName", "windows resource compiler"
+ VALUE "ProductVersion", "1.0.0.1"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x407, 1252
+ END
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/version.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/version.rsd
new file mode 100644
index 00000000..8ad479c1
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/version.rsd
@@ -0,0 +1,51 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 ec020000 20000000 ffff1000 ffff0100 .... ...........
+ 0030 00000000 00000704 00000000 00000000 ................
+ 0040 ec023400 00005600 53005f00 56004500 ..4...V.S._.V.E.
+ 0050 52005300 49004f00 4e005f00 49004e00 R.S.I.O.N._.I.N.
+ 0060 46004f00 00000000 bd04effe 00000100 F.O.............
+ 0070 00000100 01000000 00000100 01000000 ................
+ 0080 3f000000 00000000 04000000 01000000 ?...............
+ 0090 00000000 00000000 00000000 4c020000 ............L...
+ 00a0 01005300 74007200 69006e00 67004600 ..S.t.r.i.n.g.F.
+ 00b0 69006c00 65004900 6e006600 6f000000 i.l.e.I.n.f.o...
+ 00c0 28020000 01003000 34003000 37003000 (.....0.4.0.7.0.
+ 00d0 34006500 34000000 32000900 01004300 4.e.4...2.....C.
+ 00e0 6f006d00 70006100 6e007900 4e006100 o.m.p.a.n.y.N.a.
+ 00f0 6d006500 00000000 62006900 6e007500 m.e.....b.i.n.u.
+ 0100 74006900 6c007300 00000000 42000d00 t.i.l.s.....B...
+ 0110 01004600 69006c00 65004400 65007300 ..F.i.l.e.D.e.s.
+ 0120 63007200 69007000 74006900 6f006e00 c.r.i.p.t.i.o.n.
+ 0130 00000000 52004300 20006300 6f006d00 ....R.C. .c.o.m.
+ 0140 70006900 6c006500 72002e00 00000000 p.i.l.e.r.......
+ 0150 30000800 01004600 69006c00 65005600 0.....F.i.l.e.V.
+ 0160 65007200 73006900 6f006e00 00000000 e.r.s.i.o.n.....
+ 0170 31002e00 30002e00 30002e00 31000000 1...0...0...1...
+ 0180 38000c00 01004900 6e007400 65007200 8.....I.n.t.e.r.
+ 0190 6e006100 6c004e00 61006d00 65000000 n.a.l.N.a.m.e...
+ 01a0 77006900 6e006400 72006500 73002e00 w.i.n.d.r.e.s...
+ 01b0 65007800 65000000 68002200 01004c00 e.x.e...h."...L.
+ 01c0 65006700 61006c00 43006f00 70007900 e.g.a.l.C.o.p.y.
+ 01d0 72006900 67006800 74000000 28006300 r.i.g.h.t...(.c.
+ 01e0 29002000 46005300 46002e00 20004100 ). .F.S.F... .A.
+ 01f0 6c006c00 20007200 69006700 68007400 l.l. .r.i.g.h.t.
+ 0200 73002000 61007200 65002000 72006500 s. .a.r.e. .r.e.
+ 0210 73006500 72007600 65006400 2e000000 s.e.r.v.e.d.....
+ 0220 40000c00 01004f00 72006900 67006900 @.....O.r.i.g.i.
+ 0230 6e006100 6c004600 69006c00 65006e00 n.a.l.F.i.l.e.n.
+ 0240 61006d00 65000000 77006900 6e006400 a.m.e...w.i.n.d.
+ 0250 72006500 73002e00 65007800 65000000 r.e.s...e.x.e...
+ 0260 54001a00 01005000 72006f00 64007500 T.....P.r.o.d.u.
+ 0270 63007400 4e006100 6d006500 00000000 c.t.N.a.m.e.....
+ 0280 77006900 6e006400 6f007700 73002000 w.i.n.d.o.w.s. .
+ 0290 72006500 73006f00 75007200 63006500 r.e.s.o.u.r.c.e.
+ 02a0 20006300 6f006d00 70006900 6c006500 .c.o.m.p.i.l.e.
+ 02b0 72000000 34000800 01005000 72006f00 r...4.....P.r.o.
+ 02c0 64007500 63007400 56006500 72007300 d.u.c.t.V.e.r.s.
+ 02d0 69006f00 6e000000 31002e00 30002e00 i.o.n...1...0...
+ 02e0 30002e00 31000000 44000000 01005600 0...1...D.....V.
+ 02f0 61007200 46006900 6c006500 49006e00 a.r.F.i.l.e.I.n.
+ 0300 66006f00 00000000 24000400 00005400 f.o.....$.....T.
+ 0310 72006100 6e007300 6c006100 74006900 r.a.n.s.l.a.t.i.
+ 0320 6f006e00 00000000 0704e404 o.n.........
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/version_cat.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/version_cat.rc
new file mode 100644
index 00000000..8368aa12
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/version_cat.rc
@@ -0,0 +1,32 @@
+#include "windows.h"
+
+LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+ FILEFLAGS 0x0L
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040704e4"
+ BEGIN
+ VALUE L"Company" "Name", L"binutil\x0073"
+ VALUE "File" "Description", L"RC " L"compiler."
+ VALUE "File" "Version", "1.0.0.1"
+ VALUE "Internal" "Name", "windres" L".exe"
+ VALUE "Legal" "Copyright", "(c) FSF." " All rights are reserved."
+ VALUE "Original" "Filename", L"windres" ".exe"
+ VALUE "Product" "Name", "windows resource " "compiler"
+ VALUE "Product" "Version", "1.0.0.1"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x407, 1252
+ END
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/version_cat.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/version_cat.rsd
new file mode 100644
index 00000000..4e575121
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/version_cat.rsd
@@ -0,0 +1,55 @@
+
+version.res: file format binary
+
+Contents of section .data:
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 ec020000 20000000 ffff1000 ffff0100 .... ...........
+ 0030 00000000 00000704 00000000 00000000 ................
+ 0040 ec023400 00005600 53005f00 56004500 ..4...V.S._.V.E.
+ 0050 52005300 49004f00 4e005f00 49004e00 R.S.I.O.N._.I.N.
+ 0060 46004f00 00000000 bd04effe 00000100 F.O.............
+ 0070 00000100 01000000 00000100 01000000 ................
+ 0080 3f000000 00000000 04000000 01000000 ?...............
+ 0090 00000000 00000000 00000000 4c020000 ............L...
+ 00a0 01005300 74007200 69006e00 67004600 ..S.t.r.i.n.g.F.
+ 00b0 69006c00 65004900 6e006600 6f000000 i.l.e.I.n.f.o...
+ 00c0 28020000 01003000 34003000 37003000 (.....0.4.0.7.0.
+ 00d0 34006500 34000000 32000900 01004300 4.e.4...2.....C.
+ 00e0 6f006d00 70006100 6e007900 4e006100 o.m.p.a.n.y.N.a.
+ 00f0 6d006500 00000000 62006900 6e007500 m.e.....b.i.n.u.
+ 0100 74006900 6c007300 00000000 42000d00 t.i.l.s.....B...
+ 0110 01004600 69006c00 65004400 65007300 ..F.i.l.e.D.e.s.
+ 0120 63007200 69007000 74006900 6f006e00 c.r.i.p.t.i.o.n.
+ 0130 00000000 52004300 20006300 6f006d00 ....R.C. .c.o.m.
+ 0140 70006900 6c006500 72002e00 00000000 p.i.l.e.r.......
+ 0150 30000800 01004600 69006c00 65005600 0.....F.i.l.e.V.
+ 0160 65007200 73006900 6f006e00 00000000 e.r.s.i.o.n.....
+ 0170 31002e00 30002e00 30002e00 31000000 1...0...0...1...
+ 0180 38000c00 01004900 6e007400 65007200 8.....I.n.t.e.r.
+ 0190 6e006100 6c004e00 61006d00 65000000 n.a.l.N.a.m.e...
+ 01a0 77006900 6e006400 72006500 73002e00 w.i.n.d.r.e.s...
+ 01b0 65007800 65000000 68002200 01004c00 e.x.e...h."...L.
+ 01c0 65006700 61006c00 43006f00 70007900 e.g.a.l.C.o.p.y.
+ 01d0 72006900 67006800 74000000 28006300 r.i.g.h.t...(.c.
+ 01e0 29002000 46005300 46002e00 20004100 ). .F.S.F... .A.
+ 01f0 6c006c00 20007200 69006700 68007400 l.l. .r.i.g.h.t.
+ 0200 73002000 61007200 65002000 72006500 s. .a.r.e. .r.e.
+ 0210 73006500 72007600 65006400 2e000000 s.e.r.v.e.d.....
+ 0220 40000c00 01004f00 72006900 67006900 @.....O.r.i.g.i.
+ 0230 6e006100 6c004600 69006c00 65006e00 n.a.l.F.i.l.e.n.
+ 0240 61006d00 65000000 77006900 6e006400 a.m.e...w.i.n.d.
+ 0250 72006500 73002e00 65007800 65000000 r.e.s...e.x.e...
+ 0260 54001a00 01005000 72006f00 64007500 T.....P.r.o.d.u.
+ 0270 63007400 4e006100 6d006500 00000000 c.t.N.a.m.e.....
+ 0280 77006900 6e006400 6f007700 73002000 w.i.n.d.o.w.s. .
+ 0290 72006500 73006f00 75007200 63006500 r.e.s.o.u.r.c.e.
+ 02a0 20006300 6f006d00 70006900 6c006500 .c.o.m.p.i.l.e.
+ 02b0 72000000 34000800 01005000 72006f00 r...4.....P.r.o.
+ 02c0 64007500 63007400 56006500 72007300 d.u.c.t.V.e.r.s.
+ 02d0 69006f00 6e000000 31002e00 30002e00 i.o.n...1...0...
+ 02e0 30002e00 31000000 44000000 01005600 0...1...D.....V.
+ 02f0 61007200 46006900 6c006500 49006e00 a.r.F.i.l.e.I.n.
+ 0300 66006f00 00000000 24000400 00005400 f.o.....$.....T.
+ 0310 72006100 6e007300 6c006100 74006900 r.a.n.s.l.a.t.i.
+ 0320 6f006e00 00000000 0704e404 o.n.........
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/version_mlang.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/version_mlang.rc
new file mode 100644
index 00000000..e796ca95
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/version_mlang.rc
@@ -0,0 +1,43 @@
+#include "windows.h"
+
+LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+ FILEFLAGS 0x0L
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "binutils"
+ VALUE "FileDescription", "RC compiler."
+ VALUE "FileVersion", "1.0.0.1"
+ VALUE "InternalName", "windres.exe"
+ VALUE "LegalCopyright", "(c) FSF. All rights are reserved."
+ VALUE "OriginalFilename", "windres.exe"
+ VALUE "ProductName", "windows resource compiler"
+ VALUE "ProductVersion", "1.0.0.1"
+ END
+ BLOCK "041504b0"
+ BEGIN
+ VALUE "CompanyName", "binutils"
+ VALUE "FileDescription", "Kompilator RC."
+ VALUE "FileVersion", "1.0.0.1"
+ VALUE "InternalName", "windres.exe"
+ VALUE "LegalCopyright", "(c) FSF. Wszystkie prawa zastrzezone."
+ VALUE "OriginalFilename", "windres.exe"
+ VALUE "ProductName", "windows resource compiler"
+ VALUE "ProductVersion", "1.0.0.1"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0409, 0x04b0, 0x0415, 0x04b0
+ END
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/version_mlang.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/version_mlang.rsd
new file mode 100644
index 00000000..05ed4883
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/version_mlang.rsd
@@ -0,0 +1,87 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 24050000 20000000 ffff1000 ffff0100 $... ...........
+ 0030 00000000 00000000 00000000 00000000 ................
+ 0040 24053400 00005600 53005f00 56004500 $.4...V.S._.V.E.
+ 0050 52005300 49004f00 4e005f00 49004e00 R.S.I.O.N._.I.N.
+ 0060 46004f00 00000000 bd04effe 00000100 F.O.............
+ 0070 00000100 01000000 00000100 01000000 ................
+ 0080 3f000000 00000000 04000000 01000000 ?...............
+ 0090 00000000 00000000 00000000 80040000 ................
+ 00a0 01005300 74007200 69006e00 67004600 ..S.t.r.i.n.g.F.
+ 00b0 69006c00 65004900 6e006600 6f000000 i.l.e.I.n.f.o...
+ 00c0 28020000 01003000 34003000 39003000 (.....0.4.0.9.0.
+ 00d0 34006200 30000000 32000900 01004300 4.b.0...2.....C.
+ 00e0 6f006d00 70006100 6e007900 4e006100 o.m.p.a.n.y.N.a.
+ 00f0 6d006500 00000000 62006900 6e007500 m.e.....b.i.n.u.
+ 0100 74006900 6c007300 00000000 42000d00 t.i.l.s.....B...
+ 0110 01004600 69006c00 65004400 65007300 ..F.i.l.e.D.e.s.
+ 0120 63007200 69007000 74006900 6f006e00 c.r.i.p.t.i.o.n.
+ 0130 00000000 52004300 20006300 6f006d00 ....R.C. .c.o.m.
+ 0140 70006900 6c006500 72002e00 00000000 p.i.l.e.r.......
+ 0150 30000800 01004600 69006c00 65005600 0.....F.i.l.e.V.
+ 0160 65007200 73006900 6f006e00 00000000 e.r.s.i.o.n.....
+ 0170 31002e00 30002e00 30002e00 31000000 1...0...0...1...
+ 0180 38000c00 01004900 6e007400 65007200 8.....I.n.t.e.r.
+ 0190 6e006100 6c004e00 61006d00 65000000 n.a.l.N.a.m.e...
+ 01a0 77006900 6e006400 72006500 73002e00 w.i.n.d.r.e.s...
+ 01b0 65007800 65000000 68002200 01004c00 e.x.e...h."...L.
+ 01c0 65006700 61006c00 43006f00 70007900 e.g.a.l.C.o.p.y.
+ 01d0 72006900 67006800 74000000 28006300 r.i.g.h.t...(.c.
+ 01e0 29002000 46005300 46002e00 20004100 ). .F.S.F... .A.
+ 01f0 6c006c00 20007200 69006700 68007400 l.l. .r.i.g.h.t.
+ 0200 73002000 61007200 65002000 72006500 s. .a.r.e. .r.e.
+ 0210 73006500 72007600 65006400 2e000000 s.e.r.v.e.d.....
+ 0220 40000c00 01004f00 72006900 67006900 @.....O.r.i.g.i.
+ 0230 6e006100 6c004600 69006c00 65006e00 n.a.l.F.i.l.e.n.
+ 0240 61006d00 65000000 77006900 6e006400 a.m.e...w.i.n.d.
+ 0250 72006500 73002e00 65007800 65000000 r.e.s...e.x.e...
+ 0260 54001a00 01005000 72006f00 64007500 T.....P.r.o.d.u.
+ 0270 63007400 4e006100 6d006500 00000000 c.t.N.a.m.e.....
+ 0280 77006900 6e006400 6f007700 73002000 w.i.n.d.o.w.s. .
+ 0290 72006500 73006f00 75007200 63006500 r.e.s.o.u.r.c.e.
+ 02a0 20006300 6f006d00 70006900 6c006500 .c.o.m.p.i.l.e.
+ 02b0 72000000 34000800 01005000 72006f00 r...4.....P.r.o.
+ 02c0 64007500 63007400 56006500 72007300 d.u.c.t.V.e.r.s.
+ 02d0 69006f00 6e000000 31002e00 30002e00 i.o.n...1...0...
+ 02e0 30002e00 31000000 34020000 01003000 0...1...4.....0.
+ 02f0 34003100 35003000 34006200 30000000 4.1.5.0.4.b.0...
+ 0300 32000900 01004300 6f006d00 70006100 2.....C.o.m.p.a.
+ 0310 6e007900 4e006100 6d006500 00000000 n.y.N.a.m.e.....
+ 0320 62006900 6e007500 74006900 6c007300 b.i.n.u.t.i.l.s.
+ 0330 00000000 46000f00 01004600 69006c00 ....F.....F.i.l.
+ 0340 65004400 65007300 63007200 69007000 e.D.e.s.c.r.i.p.
+ 0350 74006900 6f006e00 00000000 4b006f00 t.i.o.n.....K.o.
+ 0360 6d007000 69006c00 61007400 6f007200 m.p.i.l.a.t.o.r.
+ 0370 20005200 43002e00 00000000 30000800 .R.C.......0...
+ 0380 01004600 69006c00 65005600 65007200 ..F.i.l.e.V.e.r.
+ 0390 73006900 6f006e00 00000000 31002e00 s.i.o.n.....1...
+ 03a0 30002e00 30002e00 31000000 38000c00 0...0...1...8...
+ 03b0 01004900 6e007400 65007200 6e006100 ..I.n.t.e.r.n.a.
+ 03c0 6c004e00 61006d00 65000000 77006900 l.N.a.m.e...w.i.
+ 03d0 6e006400 72006500 73002e00 65007800 n.d.r.e.s...e.x.
+ 03e0 65000000 70002600 01004c00 65006700 e...p.&...L.e.g.
+ 03f0 61006c00 43006f00 70007900 72006900 a.l.C.o.p.y.r.i.
+ 0400 67006800 74000000 28006300 29002000 g.h.t...(.c.). .
+ 0410 46005300 46002e00 20005700 73007a00 F.S.F... .W.s.z.
+ 0420 79007300 74006b00 69006500 20007000 y.s.t.k.i.e. .p.
+ 0430 72006100 77006100 20007a00 61007300 r.a.w.a. .z.a.s.
+ 0440 74007200 7a006500 7a006f00 6e006500 t.r.z.e.z.o.n.e.
+ 0450 2e000000 40000c00 01004f00 72006900 ....@.....O.r.i.
+ 0460 67006900 6e006100 6c004600 69006c00 g.i.n.a.l.F.i.l.
+ 0470 65006e00 61006d00 65000000 77006900 e.n.a.m.e...w.i.
+ 0480 6e006400 72006500 73002e00 65007800 n.d.r.e.s...e.x.
+ 0490 65000000 54001a00 01005000 72006f00 e...T.....P.r.o.
+ 04a0 64007500 63007400 4e006100 6d006500 d.u.c.t.N.a.m.e.
+ 04b0 00000000 77006900 6e006400 6f007700 ....w.i.n.d.o.w.
+ 04c0 73002000 72006500 73006f00 75007200 s. .r.e.s.o.u.r.
+ 04d0 63006500 20006300 6f006d00 70006900 c.e. .c.o.m.p.i.
+ 04e0 6c006500 72000000 34000800 01005000 l.e.r...4.....P.
+ 04f0 72006f00 64007500 63007400 56006500 r.o.d.u.c.t.V.e.
+ 0500 72007300 69006f00 6e000000 31002e00 r.s.i.o.n...1...
+ 0510 30002e00 30002e00 31000000 48000000 0...0...1...H...
+ 0520 01005600 61007200 46006900 6c006500 ..V.a.r.F.i.l.e.
+ 0530 49006e00 66006f00 00000000 28000800 I.n.f.o.....(...
+ 0540 00005400 72006100 6e007300 6c006100 ..T.r.a.n.s.l.a.
+ 0550 74006900 6f006e00 00000000 0904b004 t.i.o.n.........
+ 0560 1504b004 ....
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/version_small.rc b/binutils-2.25/binutils/testsuite/binutils-all/windres/version_small.rc
new file mode 100755
index 00000000..add98551
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/version_small.rc
@@ -0,0 +1,32 @@
+#include "windows.h"
+
+LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,1
+ PRODUCTVERSION 1,1
+ FILEFLAGSMASK 0x3fL
+ FILEFLAGS 0x0L
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040704e4"
+ BEGIN
+ VALUE L"CompanyName", L"binutil\x0073"
+ VALUE "FileDescription", "RC compiler."
+ VALUE "FileVersion", "1.0.1.0"
+ VALUE "InternalName", "windres.exe"
+ VALUE "LegalCopyright", "(c) FSF. All rights are reserved."
+ VALUE "OriginalFilename", "windres.exe"
+ VALUE "ProductName", "windows resource compiler"
+ VALUE "ProductVersion", "1.1.0.0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x407, 1252
+ END
+END
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/version_small.rsd b/binutils-2.25/binutils/testsuite/binutils-all/windres/version_small.rsd
new file mode 100755
index 00000000..141ddb14
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/version_small.rsd
@@ -0,0 +1,51 @@
+ 0000 00000000 20000000 ffff0000 ffff0000 .... ...........
+ 0010 00000000 00000000 00000000 00000000 ................
+ 0020 ec020000 20000000 ffff1000 ffff0100 .... ...........
+ 0030 00000000 00000704 00000000 00000000 ................
+ 0040 ec023400 00005600 53005f00 56004500 ..4...V.S._.V.E.
+ 0050 52005300 49004f00 4e005f00 49004e00 R.S.I.O.N._.I.N.
+ 0060 46004f00 00000000 bd04effe 00000100 F.O.............
+ 0070 00000100 00000100 01000100 00000000 ................
+ 0080 3f000000 00000000 04000000 01000000 ?...............
+ 0090 00000000 00000000 00000000 4c020000 ............L...
+ 00a0 01005300 74007200 69006e00 67004600 ..S.t.r.i.n.g.F.
+ 00b0 69006c00 65004900 6e006600 6f000000 i.l.e.I.n.f.o...
+ 00c0 28020000 01003000 34003000 37003000 (.....0.4.0.7.0.
+ 00d0 34006500 34000000 32000900 01004300 4.e.4...2.....C.
+ 00e0 6f006d00 70006100 6e007900 4e006100 o.m.p.a.n.y.N.a.
+ 00f0 6d006500 00000000 62006900 6e007500 m.e.....b.i.n.u.
+ 0100 74006900 6c007300 00000000 42000d00 t.i.l.s.....B...
+ 0110 01004600 69006c00 65004400 65007300 ..F.i.l.e.D.e.s.
+ 0120 63007200 69007000 74006900 6f006e00 c.r.i.p.t.i.o.n.
+ 0130 00000000 52004300 20006300 6f006d00 ....R.C. .c.o.m.
+ 0140 70006900 6c006500 72002e00 00000000 p.i.l.e.r.......
+ 0150 30000800 01004600 69006c00 65005600 0.....F.i.l.e.V.
+ 0160 65007200 73006900 6f006e00 00000000 e.r.s.i.o.n.....
+ 0170 31002e00 30002e00 31002e00 30000000 1...0...1...0...
+ 0180 38000c00 01004900 6e007400 65007200 8.....I.n.t.e.r.
+ 0190 6e006100 6c004e00 61006d00 65000000 n.a.l.N.a.m.e...
+ 01a0 77006900 6e006400 72006500 73002e00 w.i.n.d.r.e.s...
+ 01b0 65007800 65000000 68002200 01004c00 e.x.e...h."...L.
+ 01c0 65006700 61006c00 43006f00 70007900 e.g.a.l.C.o.p.y.
+ 01d0 72006900 67006800 74000000 28006300 r.i.g.h.t...(.c.
+ 01e0 29002000 46005300 46002e00 20004100 ). .F.S.F... .A.
+ 01f0 6c006c00 20007200 69006700 68007400 l.l. .r.i.g.h.t.
+ 0200 73002000 61007200 65002000 72006500 s. .a.r.e. .r.e.
+ 0210 73006500 72007600 65006400 2e000000 s.e.r.v.e.d.....
+ 0220 40000c00 01004f00 72006900 67006900 @.....O.r.i.g.i.
+ 0230 6e006100 6c004600 69006c00 65006e00 n.a.l.F.i.l.e.n.
+ 0240 61006d00 65000000 77006900 6e006400 a.m.e...w.i.n.d.
+ 0250 72006500 73002e00 65007800 65000000 r.e.s...e.x.e...
+ 0260 54001a00 01005000 72006f00 64007500 T.....P.r.o.d.u.
+ 0270 63007400 4e006100 6d006500 00000000 c.t.N.a.m.e.....
+ 0280 77006900 6e006400 6f007700 73002000 w.i.n.d.o.w.s. .
+ 0290 72006500 73006f00 75007200 63006500 r.e.s.o.u.r.c.e.
+ 02a0 20006300 6f006d00 70006900 6c006500 .c.o.m.p.i.l.e.
+ 02b0 72000000 34000800 01005000 72006f00 r...4.....P.r.o.
+ 02c0 64007500 63007400 56006500 72007300 d.u.c.t.V.e.r.s.
+ 02d0 69006f00 6e000000 31002e00 31002e00 i.o.n...1...1...
+ 02e0 30002e00 30000000 44000000 01005600 0...0...D.....V.
+ 02f0 61007200 46006900 6c006500 49006e00 a.r.F.i.l.e.I.n.
+ 0300 66006f00 00000000 24000400 00005400 f.o.....$.....T.
+ 0310 72006100 6e007300 6c006100 74006900 r.a.n.s.l.a.t.i.
+ 0320 6f006e00 00000000 0704e404 o.n.........
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/windres/windres.exp b/binutils-2.25/binutils/testsuite/binutils-all/windres/windres.exp
new file mode 100644
index 00000000..2ef73ffe
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/windres/windres.exp
@@ -0,0 +1,141 @@
+# Copyright 2001, 2003, 2004, 2006, 2007, 2009 Free Software Foundation, Inc.
+
+# 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.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-dejagnu@prep.ai.mit.edu
+
+# Written by DJ Delorie <dj@redhat.com>
+
+if {![istarget "i*86-*-*"] && ![istarget "x86_64-*-mingw*"] } {
+ return
+}
+
+if {![info exists WINDRES]} then {
+ return
+}
+
+if {[which $WINDRES] == 0} then {
+ return
+}
+
+set wr "$WINDRES --include-dir $srcdir/$subdir"
+
+if [file exists "$srcdir/../../winsup/w32api/include"] {
+ set wr "$wr --include-dir $srcdir/../../winsup/w32api/include"
+} else {
+ send_log "\nWarning: Assuming windres can find the win32 headers\n\n"
+}
+
+set res_list [lsort [glob -nocomplain $srcdir/$subdir/*.rc]]
+
+proc oneline { file } {
+ while { 1 } {
+ if { [gets $file line] == -1 } {
+ return ""
+ }
+ if [regexp "^ \[0-9a-z\]\[0-9a-z\]* " $line] {
+ return $line
+ }
+ }
+}
+
+foreach res $res_list {
+ set sroot [file rootname $res]
+ set broot [file tail $sroot]
+ set done 0
+ set cpp_opts ""
+
+ set rc [open $res]
+ while { [gets $rc line] != -1 } {
+ if ![regexp "^(//|/\*|#)" $line] {
+ break
+ }
+ if [regexp "\[xp\]fail *(\[^ \]*)" $line junk sys] {
+ setup_xfail $sys
+ continue
+ }
+ if [regexp "cpparg *(\[^ \]*)" $line junk cppopt] {
+ set cpp_opts "--preprocessor-arg \"$cppopt\""
+ continue
+ }
+ }
+
+ verbose "$wr -J rc -O res $res tmpdir/$broot.res" 1
+ catch "exec $wr $cpp_opts -J rc -O res $res tmpdir/$broot.res" err
+
+ if ![string match "" $err] then {
+ send_log "$err\n"
+ verbose "$err" 1
+ if [string match "*windows.h: No such file*" $err] then {
+ unsupported "windres/$broot (parse)"
+ } else {
+ fail "windres/$broot (parse)"
+ }
+ continue
+ }
+ pass "windres/$broot (parse)"
+
+ set rc [open $res]
+ while { [gets $rc line] != -1 } {
+ if ![regexp "^(//|/\*|#)" $line] {
+ break
+ }
+ if [regexp "parse-only" $line] {
+ file delete "tmpdir/$broot.res"
+ set done 1
+ break
+ }
+ if [regexp "\[xc\]fail *(\[^ \]*)" $line junk sys] {
+ setup_xfail $sys
+ continue
+ }
+ }
+ if { $done != 0 } {
+ continue
+ }
+
+ verbose "$OBJDUMP -b binary -s tmpdir/$broot.res > tmpdir/$broot.dump" 1
+ catch "exec $OBJDUMP -b binary -s tmpdir/$broot.res > tmpdir/$broot.dump" err
+
+ if ![string match "" $err] then {
+ send_log "$err\n"
+ verbose "$err" 1
+ fail "windres/$broot (compare)"
+ continue
+ }
+
+ set pat [open "$sroot.rsd"]
+ set out [open "tmpdir/$broot.dump"]
+ set patline "foo"
+
+ while { ![string match $patline ""] } {
+ set patline [oneline $pat]
+ set outline [oneline $out]
+
+ if ![string match $patline $outline] {
+ send_log "< $patline\n"
+ send_log "> $outline\n"
+ fail "windres/$broot (compare)"
+ set done 1
+ break
+ }
+ }
+ if { $done == 0 } {
+ pass "windres/$broot (compare)"
+ file delete "tmpdir/$broot.res"
+ file delete "tmpdir/$broot.dump"
+ }
+}
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1.s b/binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1.s
new file mode 100644
index 00000000..e0ffc82b
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1.s
@@ -0,0 +1,142 @@
+ .file "compressed-1.c"
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .text
+.Ltext0:
+ .cfi_sections .debug_frame
+ .p2align 4,,15
+.globl foo2
+ .type foo2, @function
+foo2:
+.LFB1:
+ .file 1 "compressed-1.c"
+ .loc 1 11 0
+ .cfi_startproc
+ .loc 1 12 0
+ rep
+ ret
+ .cfi_endproc
+.LFE1:
+ .size foo2, .-foo2
+ .p2align 4,,15
+.globl foo1
+ .type foo1, @function
+foo1:
+.LFB0:
+ .loc 1 5 0
+ .cfi_startproc
+ .loc 1 6 0
+ jmp bar
+ .cfi_endproc
+.LFE0:
+ .size foo1, .-foo1
+.Letext0:
+ .section .debug_info
+ .long 0x5e
+ .value 0x3
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .uleb128 0x1
+ .long .LASF2
+ .byte 0x1
+ .long .LASF3
+ .long .LASF4
+ .quad .Ltext0
+ .quad .Letext0
+ .long .Ldebug_line0
+ .uleb128 0x2
+ .byte 0x1
+ .long .LASF0
+ .byte 0x1
+ .byte 0xa
+ .quad .LFB1
+ .quad .LFE1
+ .byte 0x1
+ .byte 0x9c
+ .uleb128 0x2
+ .byte 0x1
+ .long .LASF1
+ .byte 0x1
+ .byte 0x4
+ .quad .LFB0
+ .quad .LFE0
+ .byte 0x1
+ .byte 0x9c
+ .byte 0x0
+ .section .debug_abbrev
+ .uleb128 0x1
+ .uleb128 0x11
+ .byte 0x1
+ .uleb128 0x25
+ .uleb128 0xe
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x1b
+ .uleb128 0xe
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x1
+ .uleb128 0x10
+ .uleb128 0x6
+ .byte 0x0
+ .byte 0x0
+ .uleb128 0x2
+ .uleb128 0x2e
+ .byte 0x0
+ .uleb128 0x3f
+ .uleb128 0xc
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x1
+ .uleb128 0x40
+ .uleb128 0xa
+ .byte 0x0
+ .byte 0x0
+ .byte 0x0
+ .section .debug_pubnames,"",@progbits
+ .long 0x20
+ .value 0x2
+ .long .Ldebug_info0
+ .long 0x62
+ .long 0x2d
+ .string "foo2"
+ .long 0x47
+ .string "foo1"
+ .long 0x0
+ .section .debug_aranges,"",@progbits
+ .long 0x2c
+ .value 0x2
+ .long .Ldebug_info0
+ .byte 0x8
+ .byte 0x0
+ .value 0x0
+ .value 0x0
+ .quad .Ltext0
+ .quad .Letext0-.Ltext0
+ .quad 0x0
+ .quad 0x0
+ .section .debug_str,"MS",@progbits,1
+.LASF2:
+ .string "GNU C 4.4.4"
+.LASF0:
+ .string "foo2"
+.LASF1:
+ .string "foo1"
+.LASF4:
+ .string "."
+.LASF3:
+ .string "compressed-1.c"
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1a.d b/binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1a.d
new file mode 100644
index 00000000..f1e4bbcd
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1a.d
@@ -0,0 +1,157 @@
+#PROG: objcopy
+#source: compressed-1.s
+#as: --64 --compress-debug-sections
+#objcopy:
+#readelf: -w
+#name: objcopy on compressed debug sections
+
+Contents of the .[z]?debug_abbrev section:
+
+ Number TAG \(0x0\)
+ 1 DW_TAG_compile_unit \[has children\]
+ DW_AT_producer DW_FORM_strp
+ DW_AT_language DW_FORM_data1
+ DW_AT_name DW_FORM_strp
+ DW_AT_comp_dir DW_FORM_strp
+ DW_AT_low_pc DW_FORM_addr
+ DW_AT_high_pc DW_FORM_addr
+ DW_AT_stmt_list DW_FORM_data4
+ DW_AT value: 0 DW_FORM value: 0
+ 2 DW_TAG_subprogram \[no children\]
+ DW_AT_external DW_FORM_flag
+ DW_AT_name DW_FORM_strp
+ DW_AT_decl_file DW_FORM_data1
+ DW_AT_decl_line DW_FORM_data1
+ DW_AT_low_pc DW_FORM_addr
+ DW_AT_high_pc DW_FORM_addr
+ DW_AT_frame_base DW_FORM_block1
+ DW_AT value: 0 DW_FORM value: 0
+
+Contents of the .[z]?debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x5e \(32-bit\)
+ Version: 3
+ Abbrev Offset: 0x0
+ Pointer Size: 8
+ <0><b>: Abbrev Number: 1 \(DW_TAG_compile_unit\)
+ <c> DW_AT_producer : \(indirect string, offset: 0x0\): GNU C 4.4.4
+ <10> DW_AT_language : 1 \(ANSI C\)
+ <11> DW_AT_name : \(indirect string, offset: 0x18\): compressed-1.c
+ <15> DW_AT_comp_dir : \(indirect string, offset: 0x16\): .
+ <19> DW_AT_low_pc : 0x0
+ <21> DW_AT_high_pc : 0x15
+ <29> DW_AT_stmt_list : 0x0
+ <1><2d>: Abbrev Number: 2 \(DW_TAG_subprogram\)
+ <2e> DW_AT_external : 1
+ <2f> DW_AT_name : \(indirect string, offset: 0xc\): foo2
+ <33> DW_AT_decl_file : 1
+ <34> DW_AT_decl_line : 10
+ <35> DW_AT_low_pc : 0x0
+ <3d> DW_AT_high_pc : 0x2
+ <45> DW_AT_frame_base : 1 byte block: 9c \(DW_OP_call_frame_cfa\)
+ <1><47>: Abbrev Number: 2 \(DW_TAG_subprogram\)
+ <48> DW_AT_external : 1
+ <49> DW_AT_name : \(indirect string, offset: 0x11\): foo1
+ <4d> DW_AT_decl_file : 1
+ <4e> DW_AT_decl_line : 4
+ <4f> DW_AT_low_pc : 0x10
+ <57> DW_AT_high_pc : 0x15
+ <5f> DW_AT_frame_base : 1 byte block: 9c \(DW_OP_call_frame_cfa\)
+ <1><61>: Abbrev Number: 0
+
+Raw dump of debug contents of section .[z]?debug_line:
+
+ Offset: 0x0
+ Length: 67
+ DWARF Version: 2
+ Prologue Length: 37
+ Minimum Instruction Length: 1
+ Initial value of 'is_stmt': 1
+ Line Base: -5
+ Line Range: 14
+ Opcode Base: 13
+
+ Opcodes:
+ Opcode 1 has 0 args
+ Opcode 2 has 1 args
+ Opcode 3 has 1 args
+ Opcode 4 has 1 args
+ Opcode 5 has 1 args
+ Opcode 6 has 0 args
+ Opcode 7 has 0 args
+ Opcode 8 has 0 args
+ Opcode 9 has 1 args
+ Opcode 10 has 0 args
+ Opcode 11 has 0 args
+ Opcode 12 has 1 args
+
+ The Directory Table is empty.
+
+ The File Name Table \(offset 0x.*\):
+ Entry Dir Time Size Name
+ 1 0 0 0 compressed-1.c
+
+ Line Number Statements:
+ \[0x.*\] Extended opcode 2: set Address to 0x0
+ \[0x.*\] Advance Line by 10 to 11
+ \[0x.*\] Copy
+ \[0x.*\] Special opcode 6: advance Address by 0 to 0x0 and Line by 1 to 12
+ \[0x.*\] Advance Line by -7 to 5
+ \[0x.*\] Special opcode 229: advance Address by 16 to 0x10 and Line by 0 to 5
+ \[0x.*\] Special opcode 6: advance Address by 0 to 0x10 and Line by 1 to 6
+ \[0x.*\] Advance PC by 5 to 0x15
+ \[0x.*\] Extended opcode 1: End of Sequence
+
+
+Contents of the .[z]?debug_pubnames section:
+
+ Length: 32
+ Version: 2
+ Offset into .[z]?debug_info section: 0x0
+ Size of area in .[z]?debug_info section: 98
+
+ Offset Name
+ 2d foo2
+ 47 foo1
+
+Contents of the .[z]?debug_aranges section:
+
+ Length: 44
+ Version: 2
+ Offset into .[z]?debug_info: 0x0
+ Pointer Size: 8
+ Segment Size: 0
+
+ Address Length
+ 0000000000000000 0000000000000015
+ 0000000000000000 0000000000000000
+
+Contents of the .[z]?debug_str section:
+
+ 0x00000000 474e5520 4320342e 342e3400 666f6f32 GNU C 4.4.4.foo2
+ 0x00000010 00666f6f 31002e00 636f6d70 72657373 .foo1...compress
+ 0x00000020 65642d31 2e6300 ed-1.c.
+
+Contents of the .[z]?debug_frame section:
+
+00000000 0+014 ffffffff CIE
+ Version: 1
+ Augmentation: ""
+ Code alignment factor: 1
+ Data alignment factor: -8
+ Return address column: 16
+
+ DW_CFA_def_cfa: r7 \(rsp\) ofs 8
+ DW_CFA_offset: r16 \(rip\) at cfa-8
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+
+00000018 0+014 00000000 FDE cie=00000000 pc=0+0000..0+0002
+
+00000030 0+014 00000000 FDE cie=00000000 pc=0+0010..0+0015
+
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1b.d b/binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1b.d
new file mode 100644
index 00000000..ed5a45ed
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1b.d
@@ -0,0 +1,18 @@
+#PROG: strip
+#source: compressed-1.s
+#as: --64
+#strip:
+#readelf: -S --wide
+#name: strip on uncompressed debug sections
+
+There are 5 section headers, starting at offset 0x78:
+
+Section Headers:
+ \[Nr\] Name Type Address Off Size ES Flg Lk Inf Al
+ \[ 0\] NULL 0000000000000000 000000 000000 00 0 0 0
+ \[ 1\] .text PROGBITS 0000000000000000 000040 000015 00 AX 0 0 16
+ \[ 2\] .data PROGBITS 0000000000000000 000055 000000 00 WA 0 0 1
+ \[ 3\] .bss NOBITS 0000000000000000 000055 000000 00 WA 0 0 1
+ \[ 4\] .shstrtab STRTAB 0000000000000000 000055 00001c 00 0 0 1
+Key to Flags:
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1c.d b/binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1c.d
new file mode 100644
index 00000000..a0308c89
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/x86-64/compressed-1c.d
@@ -0,0 +1,18 @@
+#PROG: strip
+#source: compressed-1.s
+#as: --64 --compress-debug-sections
+#strip:
+#readelf: -S --wide
+#name: strip on compressed debug sections
+
+There are 5 section headers, starting at offset 0x78:
+
+Section Headers:
+ \[Nr\] Name Type Address Off Size ES Flg Lk Inf Al
+ \[ 0\] NULL 0000000000000000 000000 000000 00 0 0 0
+ \[ 1\] .text PROGBITS 0000000000000000 000040 000015 00 AX 0 0 16
+ \[ 2\] .data PROGBITS 0000000000000000 000055 000000 00 WA 0 0 1
+ \[ 3\] .bss NOBITS 0000000000000000 000055 000000 00 WA 0 0 1
+ \[ 4\] .shstrtab STRTAB 0000000000000000 000055 00001c 00 0 0 1
+Key to Flags:
+#...
diff --git a/binutils-2.25/binutils/testsuite/binutils-all/x86-64/x86-64.exp b/binutils-2.25/binutils/testsuite/binutils-all/x86-64/x86-64.exp
new file mode 100644
index 00000000..ccabc635
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/binutils-all/x86-64/x86-64.exp
@@ -0,0 +1,34 @@
+# Copyright 2010, 2012
+# Free Software Foundation, Inc.
+
+# 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 {!([istarget "x86_64-*-linux*"]
+ || [istarget "x86_64-*-nacl*"])
+ || [is_remote host]} {
+ return
+}
+
+global tempfile
+global copyfile
+set tempfile tmpdir/x86-64temp.o
+set copyfile tmpdir/x86-64copy
+
+set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
+foreach t $test_list {
+ # We need to strip the ".d", but can leave the dirname.
+ verbose [file rootname $t]
+ run_dump_test [file rootname $t]
+}
diff --git a/binutils-2.25/binutils/testsuite/config/default.exp b/binutils-2.25/binutils/testsuite/config/default.exp
new file mode 100644
index 00000000..c5595a18
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/config/default.exp
@@ -0,0 +1,135 @@
+# Copyright 1993, 1994, 1995, 1997, 1999, 2001, 2002, 2004, 2005, 2007, 2009
+# Free Software Foundation, Inc.
+
+# 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.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-dejagnu@prep.ai.mit.edu
+
+# This file was written by Rob Savoye. (rob@cygnus.com)
+
+load_lib utils-lib.exp
+
+if ![info exists NM] then {
+ set NM [findfile $base_dir/nm-new $base_dir/nm-new [transform nm]]
+}
+if ![info exists NMFLAGS] then {
+ set NMFLAGS ""
+}
+if ![info exists SIZE] then {
+ set SIZE [findfile $base_dir/size]
+}
+if ![info exists SIZEFLAGS] then {
+ set SIZEFLAGS ""
+}
+if ![info exists OBJDUMP] then {
+ set OBJDUMP [findfile $base_dir/objdump]
+}
+if ![info exists OBJDUMPFLAGS] then {
+ set OBJDUMPFLAGS ""
+}
+if ![info exists OBJCOPY] then {
+ set OBJCOPY [findfile $base_dir/objcopy]
+}
+if ![info exists OBJCOPYFLAGS] then {
+ set OBJCOPYFLAGS ""
+}
+if ![info exists AR] then {
+ set AR [findfile $base_dir/ar]
+}
+if ![info exists STRIP] then {
+ set STRIP [findfile $base_dir/strip-new $base_dir/strip-new [transform strip]]
+}
+if ![info exists STRIPFLAGS] then {
+ set STRIPFLAGS ""
+}
+if ![info exists READELF] then {
+ set READELF [findfile $base_dir/readelf]
+}
+if ![info exists READELFFLAGS] then {
+ set READELFFLAGS ""
+}
+if ![info exists ELFEDIT] then {
+ set ELFEDIT [findfile $base_dir/elfedit]
+}
+if ![info exists ELFEDITFLAGS] then {
+ set ELFEDITFLAGS ""
+}
+if ![info exists WINDRES] then {
+ set WINDRES [findfile $base_dir/windres]
+}
+if ![info exists DLLTOOL] then {
+ set DLLTOOL [findfile $base_dir/dlltool]
+}
+
+if ![file isdirectory tmpdir] {catch "exec mkdir tmpdir" status}
+
+# Make a copy from tmpdir/gas/as and tmpdir/gas/ld to the assembler
+# and linker in the build tree, so that we can use a -B option to gcc
+# to force it to use the newly built assembler/linker.
+if {![file isdirectory tmpdir/gas]} {catch "exec mkdir tmpdir/gas" status}
+
+proc link_or_copy { src dst } {
+ if ![catch "exec ln -sf ../../../$src tmpdir/gas/$dst" status] then {return 0}
+ if ![catch "exec ln -f ../$src tmpdir/gas/$dst" status] then {return 0}
+ catch "exec cp -fpu ../$src tmpdir/gas/$dst" status
+}
+
+if {[file isfile gas/as-new[exe_ext]]} then {
+ link_or_copy gas/as-new[exe_ext] as[exe_ext]
+} else {
+ # For non-Windows hosts there may be an executable
+ # without a .exe suffix, so try copying that instead.
+ link_or_copy gas/as-new as[exe_ext]
+}
+# This may not be needed any more...
+if {[file isfile ld/ld-new[exe_ext]]} then {
+ link_or_copy ld/ld-new[exe_ext] ld[exe_ext]
+} else {
+ link_or_copy ld/ld-new ld[exe_ext]
+}
+if {[file isfile tmpdir/gas/as[exe_ext]]} then {
+ set gcc_gas_flag "-B[pwd]/tmpdir/gas/"
+ set dlltool_gas_flag "-S [pwd]/tmpdir/gas/as[exe_ext]"
+} else {
+ # Testing an installed toolchain.
+ set gcc_gas_flag ""
+ set dlltool_gas_flag ""
+}
+
+#
+# binutils_run
+# run a program, returning the output
+# sets binutils_run_failed if the program does not exist
+#
+proc binutils_run { prog progargs } {
+ default_binutils_run $prog $progargs
+}
+
+#
+# binutils_assemble
+# assemble a file
+#
+proc binutils_assemble { source object } {
+ default_binutils_assemble_flags $source $object ""
+}
+
+#
+# binutils_assemble_flags
+# assemble a file
+#
+proc binutils_assemble_flags { source object asflags } {
+ default_binutils_assemble_flags $source $object $asflags
+}
diff --git a/binutils-2.25/binutils/testsuite/config/hppa.sed b/binutils-2.25/binutils/testsuite/config/hppa.sed
new file mode 100644
index 00000000..5b1b808f
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/config/hppa.sed
@@ -0,0 +1,4 @@
+s/# Old OSF sed blows up if you have a sed command starting with "#"//
+s/# Avoid it by putting the comments within real sed commands.//
+s/# Fix the definition of common_symbol to be correct for the PA assemblers.//
+s/ \.comm common_symbol,4/common_symbol .comm 4/
diff --git a/binutils-2.25/binutils/testsuite/lib/binutils-common.exp b/binutils-2.25/binutils/testsuite/lib/binutils-common.exp
new file mode 100644
index 00000000..af0040ec
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/lib/binutils-common.exp
@@ -0,0 +1,342 @@
+# Copyright 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2003, 2004, 2006, 2007,
+# 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+#
+# This file is part of the GNU Binutils.
+#
+# This file 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.
+
+# True if the object format is known to be ELF.
+#
+proc is_elf_format {} {
+ if { ![istarget *-*-sysv4*]
+ && ![istarget *-*-unixware*]
+ && ![istarget *-*-elf*]
+ && ![istarget *-*-eabi*]
+ && ![istarget *-*-rtems*]
+ && ![istarget hppa*64*-*-hpux*]
+ && ![istarget ia64-*-hpux*]
+ && ![istarget *-*-linux*]
+ && ![istarget *-*-gnu*]
+ && ![istarget *-*-nacl*]
+ && ![istarget frv-*-uclinux*]
+ && ![istarget bfin-*-uclinux]
+ && ![istarget sh*-*-uclinux*]
+ && ![istarget tic6x*-*-uclinux*]
+ && ![istarget *-*-irix5*]
+ && ![istarget *-*-irix6*]
+ && ![istarget *-*-netbsd*]
+ && ![istarget *-*-openbsd*]
+ && ![istarget *-*-solaris2*] } {
+ return 0
+ }
+
+ if { [istarget *-*-linux*aout*]
+ || [istarget *-*-linux*ecoff*]
+ || [istarget *-*-linux*oldld*]
+ || [istarget h8500-*-rtems*]
+ || [istarget i960-*-rtems*]
+ || [istarget *-*-rtemscoff*] } {
+ return 0
+ }
+
+ if { ![istarget *-*-netbsdelf*]
+ && ([istarget *-*-netbsd*aout*]
+ || [istarget *-*-netbsdpe*]
+ || [istarget arm*-*-netbsd*]
+ || [istarget sparc-*-netbsd*]
+ || [istarget i*86-*-netbsd*]
+ || [istarget m68*-*-netbsd*]
+ || [istarget vax-*-netbsd*]
+ || [istarget ns32k-*-netbsd*]) } {
+ return 0
+ }
+
+ if { [istarget arm-*-openbsd*]
+ || [istarget i386-*-openbsd\[0-2\].*]
+ || [istarget i386-*-openbsd3.\[0-2\]]
+ || [istarget m68*-*-openbsd*]
+ || [istarget ns32k-*-openbsd*]
+ || [istarget sparc-*-openbsd\[0-2\].*]
+ || [istarget sparc-*-openbsd3.\[0-1\]]
+ || [istarget vax-*-openbsd*] } {
+ return 0
+ }
+
+ return 1
+}
+
+# True if the object format is known to be a.out.
+#
+proc is_aout_format {} {
+ if { [istarget *-*-netbsdelf]
+ || [istarget sparc64-*-netbsd*]
+ || [istarget sparc64-*-openbsd*] } {
+ return 0
+ }
+ if { [istarget *-*-*\[ab\]out*]
+ || [istarget *-*-linux*oldld*]
+ || [istarget *-*-bsd*]
+ || [istarget *-*-msdos*]
+ || [istarget arm-*-netbsd*]
+ || [istarget arm-*-openbsd*]
+ || [istarget arm-*-riscix*]
+ || [istarget i?86-*-freebsd\[12\]*]
+ || [istarget i?86-*-netbsd*]
+ || [istarget i?86-*-openbsd\[0-2\]*]
+ || [istarget i?86-*-openbsd3.\[0-2\]*]
+ || [istarget i?86-*-vsta]
+ || [istarget i?86-*-mach*]
+ || [istarget m68*-*-netbsd*]
+ || [istarget m68*-*-openbsd*]
+ || [istarget ns32k-*-*]
+ || [istarget pdp11-*-*]
+ || [istarget sparc*-*-sunos4*]
+ || [istarget sparc*-*-netbsd*]
+ || [istarget sparc*-*-openbsd\[0-2\]*]
+ || [istarget sparc*-*-openbsd3.\[0-1\]*]
+ || [istarget sparc*-fujitsu-none]
+ || [istarget vax-dec-ultrix*]
+ || [istarget vax-*-netbsd] } {
+ return 1
+ }
+ return 0
+}
+
+# True if the object format is known to be PE COFF.
+#
+proc is_pecoff_format {} {
+ if { ![istarget *-*-mingw*]
+ && ![istarget *-*-cygwin*]
+ && ![istarget *-*-cegcc*]
+ && ![istarget *-*-pe*] } {
+ return 0
+ }
+
+ return 1
+}
+
+# True if the object format is known to be 64-bit ELF.
+#
+proc is_elf64 { binary_file } {
+ global READELF
+ global READELFFLAGS
+
+ set readelf_size ""
+ catch "exec $READELF $READELFFLAGS -h $binary_file > readelf.out" got
+
+ if ![string match "" $got] then {
+ return 0
+ }
+
+ if { ![regexp "\n\[ \]*Class:\[ \]*ELF(\[0-9\]+)\n" \
+ [file_contents readelf.out] nil readelf_size] } {
+ return 0
+ }
+
+ if { $readelf_size == "64" } {
+ return 1
+ }
+
+ return 0
+}
+
+# True if the build supports zlib compression.
+proc is_zlib_supported {} {
+
+ # This replicates the AS selection logic of dejagnu's target_assemble.
+ global AS_FOR_TARGET
+ if [info exists AS_FOR_TARGET] {
+ set AS $AS_FOR_TARGET
+ } else {
+ if {![board_info target exists assembler]} {
+ set AS [find_gas]
+ } else {
+ set AS [board_info target assembler]
+ }
+ }
+
+ set as_output [remote_exec host "$AS --help"]
+
+ set have_zlib 0
+ if {[string first "--compress-debug-sections" $as_output] >= 0} {
+ set have_zlib 1
+ }
+
+ return $have_zlib
+}
+
+# Compare two files line-by-line. FILE_1 is the actual output and FILE_2
+# is the expected output. Ignore blank lines in either file.
+#
+# FILE_2 is a series of regexps, comments and # directives. The directives
+# are:
+#
+# #pass
+# Treat the test as a PASS if everything up till this point has
+# matched. Ignore any remaining lines in either FILE_1 or FILE_2.
+#
+# #failif
+# Reverse the sense of the test: expect differences to exist.
+#
+# #...
+# REGEXP
+# Skip all lines in FILE_1 until the first that matches REGEXP.
+#
+# Other # lines are comments. Regexp lines starting with the `!' character
+# specify inverse matching (use `\!' for literal matching against a leading
+# `!'). Skip empty lines in both files.
+#
+# The first optional argument is a list of regexp substitutions of the form:
+#
+# EXP1 SUBSPEC1 EXP2 SUBSPEC2 ...
+#
+# This tells the function to apply each regexp substitution EXPi->SUBSPECi
+# in order to every line of FILE_2.
+#
+# Return nonzero if differences exist.
+proc regexp_diff { file_1 file_2 args } {
+ set eof -1
+ set end_1 0
+ set end_2 0
+ set differences 0
+ set diff_pass 0
+ set fail_if_match 0
+ set ref_subst ""
+ if { [llength $args] > 0 } {
+ set ref_subst [lindex $args 0]
+ }
+ if { [llength $args] > 1 } {
+ perror "Too many arguments to regexp_diff"
+ return 1
+ }
+
+ if [file exists $file_1] then {
+ set file_a [open $file_1 r]
+ } else {
+ perror "$file_1 doesn't exist"
+ return 1
+ }
+
+ if [file exists $file_2] then {
+ set file_b [open $file_2 r]
+ } else {
+ perror "$file_2 doesn't exist"
+ close $file_a
+ return 1
+ }
+
+ verbose " Regexp-diff'ing: $file_1 $file_2" 2
+
+ while { 1 } {
+ set line_a ""
+ set line_b ""
+ while { [string length $line_a] == 0 } {
+ # Ignore blank line in FILE_1.
+ if { [gets $file_a line_a] == $eof } {
+ set end_1 1
+ break
+ }
+ }
+ while { [string length $line_b] == 0 || [string match "#*" $line_b] } {
+ if { [string match "#pass" $line_b] } {
+ set end_2 1
+ set diff_pass 1
+ break
+ } elseif { [string match "#failif" $line_b] } {
+ send_log "fail if no difference\n"
+ verbose "fail if no difference" 3
+ set fail_if_match 1
+ } elseif { [string match "#..." $line_b] } {
+ if { [gets $file_b line_b] == $eof } {
+ set end_2 1
+ set diff_pass 1
+ break
+ }
+ set negated [expr { [string index $line_b 0] == "!" }]
+ set line_bx [string range $line_b $negated end]
+ set n [expr { $negated ? "! " : "" }]
+ # Substitute on the reference.
+ foreach {name value} $ref_subst {
+ regsub -- $name $line_bx $value line_bx
+ }
+ verbose "looking for $n\"^$line_bx$\"" 3
+ while { [expr [regexp "^$line_bx$" "$line_a"] == $negated] } {
+ verbose "skipping \"$line_a\"" 3
+ if { [gets $file_a line_a] == $eof } {
+ set end_1 1
+ break
+ }
+ }
+ break
+ }
+ if { [gets $file_b line_b] == $eof } {
+ set end_2 1
+ break
+ }
+ }
+
+ if { $diff_pass } {
+ break
+ } elseif { $end_1 && $end_2 } {
+ break
+ } elseif { $end_1 } {
+ send_log "extra regexps in $file_2 starting with \"^$line_b$\"\nEOF from $file_1\n"
+ verbose "extra regexps in $file_2 starting with \"^$line_b$\"\nEOF from $file_1" 3
+ set differences 1
+ break
+ } elseif { $end_2 } {
+ send_log "extra lines in $file_1 starting with \"^$line_a$\"\nEOF from $file_2\n"
+ verbose "extra lines in $file_1 starting with \"^$line_a$\"\nEOF from $file_2\n" 3
+ set differences 1
+ break
+ } else {
+ set negated [expr { [string index $line_b 0] == "!" }]
+ set line_bx [string range $line_b $negated end]
+ set n [expr { $negated ? "! " : "" }]
+ set s [expr { $negated ? " " : "" }]
+ # Substitute on the reference.
+ foreach {name value} $ref_subst {
+ regsub -- $name $line_bx $value line_bx
+ }
+ verbose "regexp $n\"^$line_bx$\"\nline \"$line_a\"" 3
+ if { [expr [regexp "^$line_bx$" "$line_a"] == $negated] } {
+ send_log "regexp_diff match failure\n"
+ send_log "regexp $n\"^$line_bx$\"\nline $s\"$line_a\"\n"
+ verbose "regexp_diff match failure\n" 3
+ set differences 1
+ }
+ }
+ }
+
+ if { $differences == 0 && !$diff_pass && [eof $file_a] != [eof $file_b] } {
+ send_log "$file_1 and $file_2 are different lengths\n"
+ verbose "$file_1 and $file_2 are different lengths" 3
+ set differences 1
+ }
+
+ if { $fail_if_match } {
+ if { $differences == 0 } {
+ set differences 1
+ } else {
+ set differences 0
+ }
+ }
+
+ close $file_a
+ close $file_b
+
+ return $differences
+}
diff --git a/binutils-2.25/binutils/testsuite/lib/utils-lib.exp b/binutils-2.25/binutils/testsuite/lib/utils-lib.exp
new file mode 100644
index 00000000..3fe6c14b
--- /dev/null
+++ b/binutils-2.25/binutils/testsuite/lib/utils-lib.exp
@@ -0,0 +1,558 @@
+# Copyright 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2003, 2004, 2006, 2007,
+# 2009, 2010, 2012 Free Software Foundation, Inc.
+
+# 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.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-dejagnu@prep.ai.mit.edu
+
+# This file was written by Rob Savoye <rob@cygnus.com>
+# and extended by Ian Lance Taylor <ian@cygnus.com>
+
+proc load_common_lib { name } {
+ load_lib $name
+}
+
+load_common_lib binutils-common.exp
+
+proc binutil_version { prog } {
+ if ![is_remote host] {
+ set path [which $prog]
+ if {$path == 0} then {
+ perror "$prog can't be run, file not found."
+ return ""
+ }
+ } else {
+ set path $prog
+ }
+ set state [remote_exec host $prog --version]
+ set tmp "[lindex $state 1]\n"
+ # Should find a way to discard constant parts, keep whatever's
+ # left, so the version string could be almost anything at all...
+ regexp "\[^\n\]* (cygnus-|)(\[-0-9.a-zA-Z-\]+)\[\r\n\].*" "$tmp" version cyg number
+ if ![info exists number] then {
+ return "$path (no version number)\n"
+ }
+ return "$path $number\n"
+}
+
+#
+# default_binutils_run
+# run a program, returning the output
+# sets binutils_run_failed if the program does not exist
+#
+proc default_binutils_run { prog progargs } {
+ global binutils_run_failed
+ global host_triplet
+
+ set binutils_run_failed 0
+
+ if ![is_remote host] {
+ if {[which $prog] == 0} then {
+ perror "$prog does not exist"
+ set binutils_run_failed 1
+ return ""
+ }
+ }
+
+ send_log "$prog $progargs\n"
+ verbose "$prog $progargs"
+
+ # Gotta quote dollar-signs because they get mangled by the
+ # shell otherwise.
+ regsub -all "\\$" "$progargs" "\\$" progargs
+
+ set state [remote_exec host $prog $progargs]
+ set exec_output [prune_warnings [lindex $state 1]]
+ if {![string match "" $exec_output]} then {
+ send_log "$exec_output\n"
+ verbose "$exec_output"
+ } else {
+ if { [lindex $state 0] != 0 } {
+ set exec_output "$prog exited with status [lindex $state 0]"
+ send_log "$exec_output\n"
+ verbose "$exec_output"
+ }
+ }
+ return $exec_output
+}
+
+#
+# default_binutils_assemble_flags
+# assemble a file
+#
+proc default_binutils_assemble_flags { source object asflags } {
+ global srcdir
+ global host_triplet
+
+ # The HPPA assembler syntax is a little different than most, to make
+ # the test source file assemble we need to run it through sed.
+ #
+ # This is a hack in that it won't scale well if other targets need
+ # similar transformations to assemble. We'll generalize the hack
+ # if/when other targets need similar handling.
+ if { [istarget "hppa*-*-*"] && ![istarget "*-*-linux*" ] } then {
+ set sed_file $srcdir/config/hppa.sed
+ send_log "sed -f $sed_file < $source > asm.s\n"
+ verbose "sed -f $sed_file < $source > asm.s"
+ catch "exec sed -f $sed_file < $source > asm.s"
+ set source asm.s
+ }
+
+ set exec_output [target_assemble $source $object $asflags]
+ set exec_output [prune_warnings $exec_output]
+
+ if [string match "" $exec_output] {
+ return 1
+ } else {
+ send_log "$exec_output\n"
+ verbose "$exec_output"
+ perror "$source: assembly failed"
+ return 0
+ }
+}
+
+#
+# exe_ext
+# Returns target executable extension, if any.
+#
+proc exe_ext {} {
+ if { [istarget *-*-mingw*] || [istarget *-*-cygwin*] } {
+ return ".exe"
+ } else {
+ return ""
+ }
+}
+
+# Copied and modified from gas.
+
+# run_dump_test FILE (optional:) EXTRA_OPTIONS
+#
+# Assemble a .s file, then run some utility on it and check the output.
+#
+# There should be an assembly language file named FILE.s in the test
+# suite directory, and a pattern file called FILE.d. `run_dump_test'
+# will assemble FILE.s, run some tool like `objdump', `objcopy', or
+# `nm' on the .o file to produce textual output, and then analyze that
+# with regexps. The FILE.d file specifies what program to run, and
+# what to expect in its output.
+#
+# The FILE.d file begins with zero or more option lines, which specify
+# flags to pass to the assembler, the program to run to dump the
+# assembler's output, and the options it wants. The option lines have
+# the syntax:
+#
+# # OPTION: VALUE
+#
+# OPTION is the name of some option, like "name" or "objdump", and
+# VALUE is OPTION's value. The valid options are described below.
+# Whitespace is ignored everywhere, except within VALUE. The option
+# list ends with the first line that doesn't match the above syntax.
+# However, a line within the options that begins with a #, but doesn't
+# have a recognizable option name followed by a colon, is considered a
+# comment and entirely ignored.
+#
+# The optional EXTRA_OPTIONS argument to `run_dump_test' is a list of
+# two-element lists. The first element of each is an option name, and
+# the second additional arguments to be added on to the end of the
+# option list as given in FILE.d. (If omitted, no additional options
+# are added.)
+#
+# The interesting options are:
+#
+# name: TEST-NAME
+# The name of this test, passed to DejaGNU's `pass' and `fail'
+# commands. If omitted, this defaults to FILE, the root of the
+# .s and .d files' names.
+#
+# as: FLAGS
+# When assembling FILE.s, pass FLAGS to the assembler.
+#
+# PROG: PROGRAM-NAME
+# The name of the program to run to analyze the .o file produced
+# by the assembler. This can be omitted; run_dump_test will guess
+# which program to run by seeing which of the flags options below
+# is present.
+#
+# objdump: FLAGS
+# nm: FLAGS
+# objcopy: FLAGS
+# Use the specified program to analyze the .o file, and pass it
+# FLAGS, in addition to the .o file name. Note that they are run
+# with LC_ALL=C in the environment to give consistent sorting
+# of symbols.
+#
+# source: SOURCE
+# Assemble the file SOURCE.s. If omitted, this defaults to FILE.s.
+# This is useful if several .d files want to share a .s file.
+#
+# target: GLOBS...
+# Run this test only on a specified list of targets. More precisely,
+# each glob in the space-separated list is passed to "istarget"; if
+# it evaluates true for any of them, the test will be run, otherwise
+# it will be marked unsupported.
+#
+# not-target: GLOBS...
+# Do not run this test on a specified list of targets. Again,
+# the each glob in the space-separated list is passed to
+# "istarget", and the test is run if it evaluates *false* for
+# *all* of them. Otherwise it will be marked unsupported.
+#
+# skip: GLOBS...
+# not-skip: GLOBS...
+# These are exactly the same as "not-target" and "target",
+# respectively, except that they do nothing at all if the check
+# fails. They should only be used in groups, to construct a single
+# test which is run on all targets but with variant options or
+# expected output on some targets. (For example, see
+# gas/arm/inst.d and gas/arm/wince_inst.d.)
+#
+# error: REGEX
+# An error with message matching REGEX must be emitted for the test
+# to pass. The PROG, objdump, nm and objcopy options have no
+# meaning and need not supplied if this is present.
+#
+# warning: REGEX
+# Expect a gas warning matching REGEX. It is an error to issue
+# both "error" and "warning".
+#
+# stderr: FILE
+# FILE contains regexp lines to be matched against the diagnostic
+# output of the assembler. This does not preclude the use of
+# PROG, nm, objdump, or objcopy.
+#
+# error-output: FILE
+# Means the same as 'stderr', but also indicates that the assembler
+# is expected to exit unsuccessfully (therefore PROG, objdump, nm,
+# and objcopy have no meaning and should not be supplied).
+#
+# Each option may occur at most once.
+#
+# After the option lines come regexp lines. `run_dump_test' calls
+# `regexp_diff' to compare the output of the dumping tool against the
+# regexps in FILE.d. `regexp_diff' is defined in binutils-common.exp;
+# see further comments there.
+
+proc run_dump_test { name {extra_options {}} } {
+ global subdir srcdir
+ global OBJDUMP NM OBJCOPY READELF STRIP
+ global OBJDUMPFLAGS NMFLAGS OBJCOPYFLAGS READELFFLAGS STRIPFLAGS
+ global ELFEDIT ELFEDITFLAGS
+ global host_triplet
+ global env
+ global copyfile
+ global tempfile
+
+ if [string match "*/*" $name] {
+ set file $name
+ set name [file tail $name]
+ } else {
+ set file "$srcdir/$subdir/$name"
+ }
+ set opt_array [slurp_options "${file}.d"]
+ if { $opt_array == -1 } {
+ perror "error reading options from $file.d"
+ unresolved $subdir/$name
+ return
+ }
+ set opts(addr2line) {}
+ set opts(ar) {}
+ set opts(as) {}
+ set opts(nm) {}
+ set opts(objcopy) {}
+ set opts(objdump) {}
+ set opts(strip) {}
+ set opts(ranlib) {}
+ set opts(readelf) {}
+ set opts(size) {}
+ set opts(strings) {}
+ set opts(name) {}
+ set opts(elfedit) {}
+ set opts(PROG) {}
+ set opts(DUMPPROG) {}
+ set opts(source) {}
+ set opts(target) {}
+ set opts(not-target) {}
+ set opts(skip) {}
+ set opts(not-skip) {}
+
+ foreach i $opt_array {
+ set opt_name [lindex $i 0]
+ set opt_val [lindex $i 1]
+ if ![info exists opts($opt_name)] {
+ perror "unknown option $opt_name in file $file.d"
+ unresolved $subdir/$name
+ return
+ }
+
+ # Permit the option to use $srcdir to refer to the source
+ # directory.
+ regsub -all "\\\$srcdir" "$opt_val" "$srcdir/$subdir" opt_val
+
+ if [string length $opts($opt_name)] {
+ perror "option $opt_name multiply set in $file.d"
+ unresolved $subdir/$name
+ return
+ }
+ set opts($opt_name) $opt_val
+ }
+
+ foreach i $extra_options {
+ set opt_name [lindex $i 0]
+ set opt_val [lindex $i 1]
+ if ![info exists opts($opt_name)] {
+ perror "unknown option $opt_name given in extra_opts"
+ unresolved $subdir/$name
+ return
+ }
+
+ # Permit the option to use $srcdir to refer to the source
+ # directory.
+ regsub -all "\\\$srcdir" "$opt_val" "$srcdir/$subdir" opt_val
+
+ # add extra option to end of existing option, adding space
+ # if necessary.
+ if [string length $opts($opt_name)] {
+ append opts($opt_name) " "
+ }
+ append opts($opt_name) $opt_val
+ }
+
+ if { $opts(name) == "" } {
+ set testname "$subdir/$name"
+ } else {
+ set testname $opts(name)
+ }
+ verbose "Testing $testname"
+
+ if {$opts(PROG) == ""} {
+ perror "program isn't set in $file.d"
+ unresolved $testname
+ return
+ }
+
+ set destopt ""
+ switch -- $opts(PROG) {
+ ar { set program ar }
+ objcopy { set program objcopy }
+ ranlib { set program ranlib }
+ strip {
+ set program strip
+ set destopt "-o"
+ }
+ strings { set program strings }
+ elfedit { set program elfedit }
+ nm { set program nm }
+ default {
+ perror "unrecognized program option $opts(PROG) in $file.d"
+ unresolved $testname
+ return }
+ }
+
+ set dumpprogram ""
+ if { $opts(DUMPPROG) != "" } {
+ switch -- $opts(DUMPPROG) {
+ addr2line { set dumpprogram addr2line }
+ nm { set dumpprogram nm }
+ objdump { set dumpprogram objdump }
+ readelf { set dumpprogram readelf }
+ size { set dumpprogram size }
+ default {
+ perror "unrecognized dump program option $opts(DUMPPROG) in $file.d"
+ unresolved $testname
+ return }
+ }
+ } else {
+ # Guess which program to run, by seeing which option was specified.
+ foreach p {objdump nm readelf} {
+ if {$opts($p) != ""} {
+ if {$dumpprogram != ""} {
+ perror "ambiguous dump program in $file.d"
+ unresolved $testname
+ return
+ } else {
+ set dumpprogram $p
+ }
+ }
+ }
+ }
+
+ # Handle skipping the test on specified targets.
+ # You can have both skip/not-skip and target/not-target, but you can't
+ # have both skip and not-skip, or target and not-target, in the same file.
+ if { $opts(skip) != "" } then {
+ if { $opts(not-skip) != "" } then {
+ perror "$testname: mixing skip and not-skip directives is invalid"
+ unresolved $testname
+ return
+ }
+ foreach glob $opts(skip) {
+ if {[istarget $glob]} { return }
+ }
+ }
+ if { $opts(not-skip) != "" } then {
+ set skip 1
+ foreach glob $opts(not-skip) {
+ if {[istarget $glob]} {
+ set skip 0
+ break
+ }
+ }
+ if {$skip} { return }
+ }
+ if { $opts(target) != "" } then {
+ if { $opts(not-target) != "" } then {
+ perror "$testname: mixing target and not-target directives is invalid"
+ unresolved $testname
+ return
+ }
+ set skip 1
+ foreach glob $opts(target) {
+ if {[istarget $glob]} {
+ set skip 0
+ break
+ }
+ }
+ if {$skip} {
+ unsupported $testname
+ return
+ }
+ }
+ if { $opts(not-target) != "" } then {
+ foreach glob $opts(not-target) {
+ if {[istarget $glob]} {
+ unsupported $testname
+ return
+ }
+ }
+ }
+
+ if { [string match "*--compress-debug-sections*" $opts(as)] \
+ && ![is_zlib_supported] } {
+ unsupported $testname
+ return
+ }
+
+ if { $opts(source) == "" } {
+ set srcfile ${file}.s
+ } else {
+ set srcfile $srcdir/$subdir/$opts(source)
+ }
+
+ set exec_output [binutils_assemble_flags ${srcfile} $tempfile $opts(as)]
+ if [string match "" $exec_output] then {
+ send_log "$exec_output\n"
+ verbose "$exec_output"
+ fail $testname
+ return
+ }
+
+ set progopts1 $opts($program)
+ eval set progopts \$[string toupper $program]FLAGS
+ eval set binary \$[string toupper $program]
+
+ set exec_output [binutils_run $binary "$progopts $progopts1 $tempfile $destopt ${copyfile}.o"]
+ if ![string match "" $exec_output] {
+ send_log "$exec_output\n"
+ verbose "$exec_output"
+ fail $testname
+ return
+ }
+
+ set progopts1 $opts($dumpprogram)
+ eval set progopts \$[string toupper $dumpprogram]FLAGS
+ eval set binary \$[string toupper $dumpprogram]
+
+ if { ![is_remote host] && [which $binary] == 0 } {
+ untested $testname
+ return
+ }
+
+ verbose "running $binary $progopts $progopts1" 3
+
+ set cmd "$binary $progopts $progopts1 ${copyfile}.o"
+
+ # Ensure consistent sorting of symbols
+ if {[info exists env(LC_ALL)]} {
+ set old_lc_all $env(LC_ALL)
+ }
+ set env(LC_ALL) "C"
+ send_log "$cmd\n"
+ set comp_output [remote_exec host $cmd "" "/dev/null" "tmpdir/dump.out"]
+ if {[info exists old_lc_all]} {
+ set env(LC_ALL) $old_lc_all
+ } else {
+ unset env(LC_ALL)
+ }
+ if { [lindex $comp_output 0] != 0 } then {
+ send_log "$comp_output\n"
+ fail $testname
+ return
+ }
+ set comp_output [prune_warnings [lindex $comp_output 1]]
+ if ![string match "" $comp_output] then {
+ send_log "$comp_output\n"
+ fail $testname
+ return
+ }
+
+ verbose_eval {[file_contents "tmpdir/dump.out"]} 3
+ if { [regexp_diff "tmpdir/dump.out" "${file}.d"] } then {
+ fail $testname
+ verbose "output is [file_contents "tmpdir/dump.out"]" 2
+ return
+ }
+
+ pass $testname
+}
+
+proc slurp_options { file } {
+ if [catch { set f [open $file r] } x] {
+ #perror "couldn't open `$file': $x"
+ perror "$x"
+ return -1
+ }
+ set opt_array {}
+ # whitespace expression
+ set ws {[ ]*}
+ set nws {[^ ]*}
+ # whitespace is ignored anywhere except within the options list;
+ # option names are alphabetic plus dash
+ set pat "^#${ws}(\[a-zA-Z-\]*)$ws:${ws}(.*)$ws\$"
+ while { [gets $f line] != -1 } {
+ set line [string trim $line]
+ # Whitespace here is space-tab.
+ if [regexp $pat $line xxx opt_name opt_val] {
+ # match!
+ lappend opt_array [list $opt_name $opt_val]
+ } elseif {![regexp "^#" $line ]} {
+ break
+ }
+ }
+ close $f
+ return $opt_array
+}
+
+proc file_contents { filename } {
+ set file [open $filename r]
+ set contents [read $file]
+ close $file
+ return $contents
+}
+
+proc verbose_eval { expr { level 1 } } {
+ global verbose
+ if $verbose>$level then { eval verbose "$expr" $level }
+}