diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2005-10-20 17:06:41 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2005-10-20 17:06:41 +0000 |
commit | 6a0d0afdc7ca5c7e0605ede799e994c98d596644 (patch) | |
tree | 37c5fb6482ec96854eb1cbdfb238065bfd34bb58 /binutils/testsuite/binutils-all/objcopy.exp | |
parent | 45d5eb0a1b62989c8a01e80883d4c800897d4472 (diff) | |
download | gdb-6a0d0afdc7ca5c7e0605ede799e994c98d596644.zip gdb-6a0d0afdc7ca5c7e0605ede799e994c98d596644.tar.gz gdb-6a0d0afdc7ca5c7e0605ede799e994c98d596644.tar.bz2 |
binutils/testsuite/
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.
ld/testsuite/
2005-10-20 H.J. Lu <hongjiu.lu@intel.com>
PR ld/251
* ld-elf/group.2d: New file.
Diffstat (limited to 'binutils/testsuite/binutils-all/objcopy.exp')
-rw-r--r-- | binutils/testsuite/binutils-all/objcopy.exp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp index 87be689..23e537e 100644 --- a/binutils/testsuite/binutils-all/objcopy.exp +++ b/binutils/testsuite/binutils-all/objcopy.exp @@ -661,6 +661,52 @@ switch [copy_setup] { } } +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" + catch "exec $OBJCOPY $OBJCOPYFLAGS tmpdir/bintest.o tmpdir/copy.o" exec_output + if ![string match "" $exec_output] then { + fail "objcopy ($testname)" + return; + } + + verbose -log "$READELF -a tmpdir/bintest.o > tmpdir/bintest.o.out" + catch "exec $READELF -a tmpdir/bintest.o > tmpdir/bintest.o.out" exec_output + set exec_output [prune_warnings $exec_output] + if ![string match "" $exec_output] then { + unresolved "objcopy ($testname)" + return + } + + verbose -log "$READELF -a tmpdir/copy.o > tmpdir/copy.o.out" + catch "exec $READELF -a tmpdir/copy.o > tmpdir/copy.o.out" exec_output + set exec_output [prune_warnings $exec_output] + 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*"]) } { @@ -670,4 +716,5 @@ if { ([istarget "ia64-*-elf*"] # ELF specific tests if [is_elf_format] { objcopy_test "ELF unknown section type" unknown.s + objcopy_test_readelf "ELF group" group.s } |