diff options
author | Charles Davis <cdavis@mines.edu> | 2011-05-27 15:10:25 +0000 |
---|---|---|
committer | Charles Davis <cdavis@mines.edu> | 2011-05-27 15:10:25 +0000 |
commit | 07cbe231738d64d830b77303d664b531130722f7 (patch) | |
tree | 15a979739e379b6131da6168f4b1f278fd2752cb /test/MC/COFF | |
parent | 81e193cc1fad7ef13bb2d2043de011cac591894c (diff) | |
download | external_llvm-07cbe231738d64d830b77303d664b531130722f7.zip external_llvm-07cbe231738d64d830b77303d664b531130722f7.tar.gz external_llvm-07cbe231738d64d830b77303d664b531130722f7.tar.bz2 |
Assorted fixes for Win64 EH unwind info emission:
- Flip order of bitfields. This gets our output matching GAS.
- Handle case where the end of the prolog wasn't specified.
- If the resulting unwind info struct is less than 8 bytes, pad to 8 bytes.
Add a test for the latter two.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132188 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/COFF')
-rw-r--r-- | test/MC/COFF/seh.s | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/test/MC/COFF/seh.s b/test/MC/COFF/seh.s index 236b13f..8cafcb3 100644 --- a/test/MC/COFF/seh.s +++ b/test/MC/COFF/seh.s @@ -4,7 +4,7 @@ // CHECK: Name = .xdata // CHECK-NEXT: VirtualSize // CHECK-NEXT: VirtualAddress -// CHECK-NEXT: SizeOfRawData = 44 +// CHECK-NEXT: SizeOfRawData = 52 // CHECK-NEXT: PointerToRawData // CHECK-NEXT: PointerToRelocations // CHECK-NEXT: PointerToLineNumbers @@ -16,9 +16,10 @@ // CHECK-NEXT: IMAGE_SCN_MEM_READ // CHECK-NEXT: IMAGE_SCN_MEM_WRITE // CHECK-NEXT: SectionData -// CHECK-NEXT: 21 12 08 30 00 30 0F 03 - 0E 88 00 00 09 46 02 00 -// CHECK-NEXT: 04 22 00 A1 00 00 00 00 - 00 00 00 00 24 00 00 00 -// CHECK-NEXT: 00 00 00 00 1B 00 00 00 - 00 00 00 00 +// CHECK-NEXT: 09 12 08 03 00 03 0F 30 - 0E 88 00 00 09 64 02 00 +// CHECK-NEXT: 04 22 00 1A 00 00 00 00 - 00 00 00 00 21 00 00 00 +// CHECK-NEXT: 00 00 00 00 1B 00 00 00 - 00 00 00 00 01 00 00 00 +// CHECK-NEXT: 00 00 00 00 .text .globl func @@ -49,3 +50,11 @@ func: addq $24, %rsp ret .seh_endproc + +// Test emission of small functions. + .globl smallFunc + .def smallFunc; .scl 2; .type 32; .endef + .seh_proc smallFunc +smallFunc: + ret + .seh_endproc |