aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2005-10-20 17:06:41 +0000
committerH.J. Lu <hjl.tools@gmail.com>2005-10-20 17:06:41 +0000
commit6a0d0afdc7ca5c7e0605ede799e994c98d596644 (patch)
tree37c5fb6482ec96854eb1cbdfb238065bfd34bb58
parent45d5eb0a1b62989c8a01e80883d4c800897d4472 (diff)
downloadgdb-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.
-rw-r--r--binutils/testsuite/ChangeLog11
-rw-r--r--binutils/testsuite/binutils-all/group.s8
-rw-r--r--binutils/testsuite/binutils-all/objcopy.exp47
-rw-r--r--ld/testsuite/ChangeLog7
-rw-r--r--ld/testsuite/ld-elf/group2.d16
-rw-r--r--ld/testsuite/ld-elf/unknown.d7
6 files changed, 94 insertions, 2 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
}
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 5ba4799..33831ce 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -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>
diff --git a/ld/testsuite/ld-elf/group2.d b/ld/testsuite/ld-elf/group2.d
new file mode 100644
index 0000000..b4d0b81
--- /dev/null
+++ b/ld/testsuite/ld-elf/group2.d
@@ -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
diff --git a/ld/testsuite/ld-elf/unknown.d b/ld/testsuite/ld-elf/unknown.d
new file mode 100644
index 0000000..636e6c7
--- /dev/null
+++ b/ld/testsuite/ld-elf/unknown.d
@@ -0,0 +1,7 @@
+#source: ../../../binutils/testsuite/binutils-all/unknown.s
+#ld: -r
+#readelf: -S
+
+#...
+ \[[ 0-9]+\] \.foo[ \t]+NOTE[ \t]+.*
+#pass