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:
parent
45d5eb0a1b
commit
6a0d0afdc7
6 changed files with 94 additions and 2 deletions
|
@ -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.
|
||||
|
|
8
binutils/testsuite/binutils-all/group.s
Normal file
8
binutils/testsuite/binutils-all/group.s
Normal 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
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
2005-10-20 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/251
|
||||
* ld-elf/group.2d: New file.
|
||||
|
||||
2005-10-19 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR binutils/1487
|
||||
PR ld/1487
|
||||
* ld-elf/unknown.d: New file.
|
||||
|
||||
2005-10-19 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
|
16
ld/testsuite/ld-elf/group2.d
Normal file
16
ld/testsuite/ld-elf/group2.d
Normal file
|
@ -0,0 +1,16 @@
|
|||
#source: ../../../binutils/testsuite/binutils-all/group.s
|
||||
#ld: -r
|
||||
#readelf: -Sg --wide
|
||||
|
||||
#...
|
||||
\[[ 0-9]+\] foo_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]+\] `foo_group' \[foo_group\] contains 2 sections:
|
||||
\[Index\] Name
|
||||
\[[ 0-9]+\] .text.*
|
||||
\[[ 0-9]+\] .data.*
|
||||
#pass
|
7
ld/testsuite/ld-elf/unknown.d
Normal file
7
ld/testsuite/ld-elf/unknown.d
Normal file
|
@ -0,0 +1,7 @@
|
|||
#source: ../../../binutils/testsuite/binutils-all/unknown.s
|
||||
#ld: -r
|
||||
#readelf: -S
|
||||
|
||||
#...
|
||||
\[[ 0-9]+\] \.foo[ \t]+NOTE[ \t]+.*
|
||||
#pass
|
Loading…
Reference in a new issue