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.
This commit is contained in:
H.J. Lu
2005-10-20 17:06:41 +00:00
parent 45d5eb0a1b
commit 6a0d0afdc7
6 changed files with 94 additions and 2 deletions

View File

@@ -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.

View File

@@ -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

View File

@@ -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
}