diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index e9c6bc0cd1..641bd36835 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-02-18 Alan Modra + + * binutils-all/group-5.s, * binutils-all/group-5.d: New test. + * binutils-all/objcopy.exp: Run it. + 2010-02-01 Nathan Sidwell * binutils-all/note-1.d: New. diff --git a/binutils/testsuite/binutils-all/group-5.d b/binutils/testsuite/binutils-all/group-5.d new file mode 100644 index 0000000000..d40fffe942 --- /dev/null +++ b/binutils/testsuite/binutils-all/group-5.d @@ -0,0 +1,19 @@ +#PROG: objcopy +#readelf: -Sg --wide +#objcopy: --remove-section .dropme +#name: copy removing group member + +#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/binutils/testsuite/binutils-all/group-5.s b/binutils/testsuite/binutils-all/group-5.s new file mode 100644 index 0000000000..b2e100aa17 --- /dev/null +++ b/binutils/testsuite/binutils-all/group-5.s @@ -0,0 +1,12 @@ + .section .text.foo,"axG",%progbits,foo_group,comdat + .global foo +foo: + .word 0 + + .section .data.foo,"awG",%progbits,foo_group,comdat + .global bar +bar: + .word 1 + + .section .dropme,"G",%progbits,foo_group,comdat + .word 2 diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp index f734e14836..9761a06726 100644 --- a/binutils/testsuite/binutils-all/objcopy.exp +++ b/binutils/testsuite/binutils-all/objcopy.exp @@ -834,6 +834,7 @@ if [is_elf_format] { objcopy_test_readelf "ELF group" group-2.s objcopy_test_readelf "ELF group" group-3.s objcopy_test_readelf "ELF group" group-4.s + run_dump_test "group-5" run_dump_test "copy-1" run_dump_test "note-1" }