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 | ea5dc3a67b90b26e73d6a67b08d3927b9dd5d14f (patch) | |
| tree | f3bc71837d6f1b3ba5a69cfc71045190140eac75 /llvm/test | |
| parent | 2daba3380d3804357382810e4e9e9065fab80420 (diff) | |
| download | bcm5719-llvm-ea5dc3a67b90b26e73d6a67b08d3927b9dd5d14f.tar.gz bcm5719-llvm-ea5dc3a67b90b26e73d6a67b08d3927b9dd5d14f.zip | |
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.
llvm-svn: 132188
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/MC/COFF/seh.s | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/llvm/test/MC/COFF/seh.s b/llvm/test/MC/COFF/seh.s index 236b13ff1c2..8cafcb3ab15 100644 --- a/llvm/test/MC/COFF/seh.s +++ b/llvm/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 |

