aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2004-12-16 13:23:22 +0000
committerJan Beulich <jbeulich@novell.com>2004-12-16 13:23:22 +0000
commit7a6d0b32af1797bcf3713165118d98f15e6c6a82 (patch)
treeb1c87e7a6f7c7c4476e304a1dae17901907bdea7 /gas/testsuite
parentbcf32829aff66021b9309b1f738d54f24dfa6a8e (diff)
downloadgdb-7a6d0b32af1797bcf3713165118d98f15e6c6a82.zip
gdb-7a6d0b32af1797bcf3713165118d98f15e6c6a82.tar.gz
gdb-7a6d0b32af1797bcf3713165118d98f15e6c6a82.tar.bz2
gas/
2004-12-15 Jan Beulich <jbeulich@novell.com> * config/obj-elf.c (obj_elf_change_section): Only set type and attributes on new sections. Emit warning when type of re-declared section doesn't match. gas/testsuite/ 2004-12-15 Jan Beulich <jbeulich@novell.com> * gas/elf/section5.[els]: New.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog4
-rw-r--r--gas/testsuite/gas/elf/elf.exp13
-rw-r--r--gas/testsuite/gas/elf/section5.e8
-rw-r--r--gas/testsuite/gas/elf/section5.l37
-rw-r--r--gas/testsuite/gas/elf/section5.s24
5 files changed, 80 insertions, 6 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index eee9203..56c056e 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2004-12-15 Jan Beulich <jbeulich@novell.com>
+
+ * gas/elf/section5.[els]: New.
+
2004-12-13 Richard Sandiford <rsandifo@redhat.com>
* gas/mips/elf-rel25.d, gas/mips/elf-rel25a.d: Cope with different
diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp
index 376c204..17acefd 100644
--- a/gas/testsuite/gas/elf/elf.exp
+++ b/gas/testsuite/gas/elf/elf.exp
@@ -2,7 +2,7 @@
# elf tests
#
-proc run_list_test { name suffix opts readelf_pipe } {
+proc run_list_test { name suffix opts readelf_opts readelf_pipe } {
global READELF
global srcdir subdir
set testname "elf $name list"
@@ -14,8 +14,8 @@ proc run_list_test { name suffix opts readelf_pipe } {
verbose "output is [file_contents "dump.out"]" 2
return
}
- send_log "$READELF -s dump.o > dump.out\n"
- catch "exec $READELF -s dump.o $readelf_pipe > dump.out\n" comp_output
+ send_log "$READELF $readelf_opts dump.o $readelf_pipe > dump.out\n"
+ catch "exec $READELF $readelf_opts dump.o $readelf_pipe > dump.out\n" comp_output
if ![string match "" $comp_output] then {
send_log "$comp_output\n"
fail $testname
@@ -57,9 +57,10 @@ if { ([istarget "*-*-*elf*"]
run_dump_test "group1b"
run_dump_test "section0"
run_dump_test "section1"
- run_list_test "section2" "$target_machine" "-al" ""
- run_dump_test "section3"
+ run_list_test "section2" "$target_machine" "-al" "-s" ""
+ run_dump_test "section3"
run_dump_test "section4"
+ run_list_test "section5" "" "-al" "-SW" "| grep \"\\\\.test\\\[\\\[:digit:\\\]\\\]\""
run_dump_test "symver"
- run_list_test "type" "" "" "| grep \"1 \\\[FONT\\\]\""
+ run_list_test "type" "" "" "-s" "| grep \"1 \\\[FONT\\\]\""
}
diff --git a/gas/testsuite/gas/elf/section5.e b/gas/testsuite/gas/elf/section5.e
new file mode 100644
index 0000000..f1c4f7a
--- /dev/null
+++ b/gas/testsuite/gas/elf/section5.e
@@ -0,0 +1,8 @@
+.* \.test0[ ]+PROGBITS[ ]+([[:xdigit:]]+[ ]+){4}[ ]+[[:digit:]]+.*
+.* \.test1[ ]+PROGBITS[ ]+([[:xdigit:]]+[ ]+){4}[ ]+[[:digit:]]+.*
+.* \.rela?\.test1[ ]+RELA?[ ]+.*
+.* \.test2[ ]+PROGBITS[ ]+([[:xdigit:]]+[ ]+){4}[ ]+[[:digit:]]+.*
+.* \.rela?\.test2[ ]+RELA?[ ]+.*
+.* \.test3[ ]+PROGBITS[ ]+([[:xdigit:]]+[ ]+){4}WA[ ]+[[:digit:]]+.*
+.* \.rela?\.test3[ ]+RELA?[ ]+.*
+.* \.test4[ ]+NOBITS[ ]+([[:xdigit:]]+[ ]+){4}WA[ ]+[[:digit:]]+.*
diff --git a/gas/testsuite/gas/elf/section5.l b/gas/testsuite/gas/elf/section5.l
new file mode 100644
index 0000000..76e9e4f
--- /dev/null
+++ b/gas/testsuite/gas/elf/section5.l
@@ -0,0 +1,37 @@
+.*: Assembler messages:
+.*:7: Warning: .*
+.*:7: Warning: .*
+.*:10: Warning: .*
+.*:13: Warning: .*
+.*:16: Warning: .*
+.*:18: Warning: .*
+.*:20: Warning: .*
+.*:22: Warning: .*
+.*:24: Warning: .*
+.*GAS.*
+
+
+[ ]+[[:digit:]]+[ ]+.section[ ]+.test0[ ]*
+[ ]+[[:digit:]]+[ ]+.section[ ]+.test1,[ ]*"",[ ]*@progbits[ ]*
+[ ]+[[:digit:]]+[ ]+.section[ ]+.test2[ ]*
+[ ]+[[:digit:]]+[ ]+.section[ ]+.test3,[ ]*"aw"[ ]*
+[ ]+[[:digit:]]+[ ]+.section[ ]+.test4,[ ]*"aw",[ ]*@nobits[ ]*
+[ ]+[[:digit:]]+[ ]*
+[ ]+[[:digit:]]+[ ]+.section[ ]+.test1,[ ]*"aw",[ ]*@nobits[ ]*
+[ ]+[[:digit:]]+[ ]+.*
+[ ]+[[:digit:]]+[ ]*
+[ ]+[[:digit:]]+[ ]+.section[ ]+.test2,[ ]*"w"[ ]*
+[ ]+[[:digit:]]+[ ]+.*
+[ ]+[[:digit:]]+[ ]*
+[ ]+[[:digit:]]+[ ]+.section[ ]+.test3,[ ]*"aw",[ ]*@progbits[ ]*
+[ ]+[[:digit:]]+[ ]+.*
+[ ]+[[:digit:]]+[ ]*
+[ ]+[[:digit:]]+[ ]+.section[ ]+.test4,[ ]*"aw"[ ]*
+[ ]+[[:digit:]]+[ ]*
+[ ]+[[:digit:]]+[ ]+.section[ ]+.data,[ ]*"a"[ ]*
+[ ]+[[:digit:]]+[ ]*
+[ ]+[[:digit:]]+[ ]+.section[ ]+.bss,[ ]*"a"[ ]*
+[ ]+[[:digit:]]+[ ]*
+[ ]+[[:digit:]]+[ ]+.section[ ]+.data,[ ]*"aw",[ ]*@nobits[ ]*
+[ ]+[[:digit:]]+[ ]*
+[ ]+[[:digit:]]+[ ]+.section[ ]+.bss,[ ]*"aw",[ ]*@progbits[ ]*
diff --git a/gas/testsuite/gas/elf/section5.s b/gas/testsuite/gas/elf/section5.s
new file mode 100644
index 0000000..866af52
--- /dev/null
+++ b/gas/testsuite/gas/elf/section5.s
@@ -0,0 +1,24 @@
+.section .test0
+.section .test1, "", @progbits
+.section .test2
+.section .test3, "aw"
+.section .test4, "aw", @nobits
+
+.section .test1, "aw", @nobits
+test1: .long test1
+
+.section .test2, "w"
+test2: .long test2
+
+.section .test3, "aw", @progbits
+test3: .long test3
+
+.section .test4, "aw"
+
+.section .data, "a"
+
+.section .bss, "a"
+
+.section .data, "aw", @nobits
+
+.section .bss, "aw", @progbits