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 | |
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')
-rw-r--r-- | binutils/testsuite/ChangeLog | 11 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/group.s | 8 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/objcopy.exp | 47 |
3 files changed, 65 insertions, 1 deletions
diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index 5cf8bfa..648080c 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -1,6 +1,15 @@ +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 binutils/1487 + 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. diff --git a/binutils/testsuite/binutils-all/group.s b/binutils/testsuite/binutils-all/group.s new file mode 100644 index 0000000..21aa4be --- /dev/null +++ b/binutils/testsuite/binutils-all/group.s @@ -0,0 +1,8 @@ + .section .text,"axG",%progbits,foo_group,comdat + .global foo +foo: + .word 0 + .section .data,"awG",%progbits,foo_group,comdat + .global bar +bar: + .word 0 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 } |