diff options
author | Kai Tietz <kai.tietz@onevision.com> | 2010-09-15 19:48:52 +0000 |
---|---|---|
committer | Kai Tietz <kai.tietz@onevision.com> | 2010-09-15 19:48:52 +0000 |
commit | bea2c1d72cc5e0dd740ff59acbc90e643120eb88 (patch) | |
tree | cb3c5e3b37a1a875faf97662a0f599096bed827a /gas/testsuite | |
parent | 2d7f4929019d785e2f3a91f8e655e55e67b2e161 (diff) | |
download | gdb-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/ChangeLog | 14 | ||||
-rwxr-xr-x | gas/testsuite/gas/pe/pe.exp | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/pe/seh-x64-err-1.l | 24 | ||||
-rw-r--r-- | gas/testsuite/gas/pe/seh-x64-err-1.s | 40 |
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 + |