aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2010-09-15 19:48:52 +0000
committerKai Tietz <kai.tietz@onevision.com>2010-09-15 19:48:52 +0000
commitbea2c1d72cc5e0dd740ff59acbc90e643120eb88 (patch)
treecb3c5e3b37a1a875faf97662a0f599096bed827a /gas/testsuite
parent2d7f4929019d785e2f3a91f8e655e55e67b2e161 (diff)
downloadgdb-bea2c1d72cc5e0dd740ff59acbc90e643120eb88.zip
gdb-bea2c1d72cc5e0dd740ff59acbc90e643120eb88.tar.gz
gdb-bea2c1d72cc5e0dd740ff59acbc90e643120eb88.tar.bz2
ChangeLog gas
2010-09-15 Kai Tietz <kai.tietz@onevision.com> * config/obj-coff-seh.c (seh_validate_seg): New funtion. (obj_coff_seh_endproc): Add check for segment. (obj_coff_seh_endprologue): Likewise. (obj_coff_seh_pushreg): Likewise. (obj_coff_seh_pushframe): Likewise. (obj_coff_seh_save): Likewise. (obj_coff_seh_setframe): Likewise. ChangeLog gas/testsuite 2010-09-15 Kai Tietz <kai.tietz@onevision.com> * gas/pe/pe.exp: Add new test. * gas/pe/seh-x64-err-1.l: New. * gas/pe/seh-x64-err-1.s: New.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog14
-rwxr-xr-xgas/testsuite/gas/pe/pe.exp2
-rw-r--r--gas/testsuite/gas/pe/seh-x64-err-1.l24
-rw-r--r--gas/testsuite/gas/pe/seh-x64-err-1.s40
4 files changed, 74 insertions, 6 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 126b881..a023502 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,10 +1,14 @@
2010-09-15 Kai Tietz <kai.tietz@onevision.com>
- * gas/pe/pe.exp: Add peseh-x64-4,5,6 tests.
- * gas/pe/peseh-x64-4.s: New.
- * gas/pe/peseh-x64-4.d: New.
- * gas/pe/peseh-x64-5.d: New.
- * gas/pe/peseh-x64-6.d: New.
+ * gas/pe/pe.exp: Add new test.
+ * gas/pe/seh-x64-err-1.l: New.
+ * gas/pe/seh-x64-err-1.s: New.
+
+ * gas/pe/pe.exp: Add peseh-x64-4,5,6 tests.
+ * gas/pe/peseh-x64-4.s: New.
+ * gas/pe/peseh-x64-4.d: New.
+ * gas/pe/peseh-x64-5.d: New.
+ * gas/pe/peseh-x64-6.d: New.
2010-09-14 Maciej W. Rozycki <macro@codesourcery.com>
diff --git a/gas/testsuite/gas/pe/pe.exp b/gas/testsuite/gas/pe/pe.exp
index 6e6063c..d5506e9 100755
--- a/gas/testsuite/gas/pe/pe.exp
+++ b/gas/testsuite/gas/pe/pe.exp
@@ -40,7 +40,7 @@ run_dump_test "section-align-3"
# These tests are only for x86_64 targets
if ([istarget "x86_64-*-mingw*"]) then {
-
+ run_list_test "seh-x64-err-1" ""
run_dump_test "peseh-x64"
run_dump_test "peseh-x64-2"
run_dump_test "peseh-x64-3"
diff --git a/gas/testsuite/gas/pe/seh-x64-err-1.l b/gas/testsuite/gas/pe/seh-x64-err-1.l
new file mode 100644
index 0000000..cdac829
--- /dev/null
+++ b/gas/testsuite/gas/pe/seh-x64-err-1.l
@@ -0,0 +1,24 @@
+.*: Assembler messages:
+.*:5: Error: .seh_endproc used without .seh_proc
+.*:6: Error: .seh_stackalloc used outside of .seh_proc block
+.*:7: Error: .seh_setframe used outside of .seh_proc block
+.*:8: Error: .seh_endprologue used outside of .seh_proc block
+.*:9: Error: .seh_pushreg used outside of .seh_proc block
+.*:10: Error: .seh_savereg used outside of .seh_proc block
+.*:11: Error: .seh_savexmm used outside of .seh_proc block
+.*:12: Error: .seh_handler used outside of .seh_proc block
+.*:13: Error: .seh_handler used outside of .seh_proc block
+.*:14: Error: .seh_handler used outside of .seh_proc block
+.*:15: Error: .seh_handler used outside of .seh_proc block
+.*:16: Error: .seh_handlerdata used outside of .seh_proc block
+.*:19: Error: .seh_proc requires function label name
+.*:23: Warning: .seh_eh ignored for this target
+.*:24: Warning: .seh_32 ignored for this target
+.*:25: Warning: .seh_no32 ignored for this target
+.*:33: Error: .seh_stackalloc used in segment '.data' instead of expected '.text'
+.*:34: Error: .seh_setframe used in segment '.data' instead of expected '.text'
+.*:35: Error: .seh_endprologue used in segment '.data' instead of expected '.text'
+.*:36: Error: .seh_pushreg used in segment '.data' instead of expected '.text'
+.*:37: Error: .seh_savereg used in segment '.data' instead of expected '.text'
+.*:38: Error: .seh_savexmm used in segment '.data' instead of expected '.text'
+.*:39: Error: .seh_endproc used in segment '.data' instead of expected '.text'
diff --git a/gas/testsuite/gas/pe/seh-x64-err-1.s b/gas/testsuite/gas/pe/seh-x64-err-1.s
new file mode 100644
index 0000000..c472257
--- /dev/null
+++ b/gas/testsuite/gas/pe/seh-x64-err-1.s
@@ -0,0 +1,40 @@
+ .file "t1.c"
+ .text
+#seh pseudos out of seh_proc block
+
+ .seh_endproc
+ .seh_stackalloc 8
+ .seh_setframe %rbp, 0
+ .seh_endprologue
+ .seh_pushreg %rbp
+ .seh_savereg %rbp
+ .seh_savexmm %xmm1
+ .seh_handler dummy_handler
+ .seh_handler dummy_handler, @unwind
+ .seh_handler dummy_handler, @except
+ .seh_handler dummy_handler, @unwind,@except
+ .seh_handlerdata
+ .long 0
+ .text
+ .seh_proc
+
+ .seh_proc test_foreign_directives
+test_foreign_directives:
+ .seh_eh
+ .seh_32
+ .seh_no32
+ .long 0
+ .seh_endproc
+
+# test for wrong segment pseudos.
+ .seh_proc test_wrong_segment
+test_wrong_segment:
+ .data
+ .seh_stackalloc 8
+ .seh_setframe %rbp, 0
+ .seh_endprologue
+ .seh_pushreg %rbp
+ .seh_savereg %rbp
+ .seh_savexmm %xmm1
+ .seh_endproc
+