112 lines · plain
1// This test ensures functions in custom sections get unwind info emitted in a2// distinct .xdata section.3// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | llvm-readobj -S --sd - | FileCheck %s4 5// CHECK: Name: .xdata6// CHECK-NEXT: VirtualSize7// CHECK-NEXT: VirtualAddress8// CHECK-NEXT: RawDataSize: 89// CHECK-NEXT: PointerToRawData10// CHECK-NEXT: PointerToRelocations11// CHECK-NEXT: PointerToLineNumbers12// CHECK-NEXT: RelocationCount: 013// CHECK-NEXT: LineNumberCount: 014// CHECK-NEXT: Characteristics [15// CHECK-NEXT: IMAGE_SCN_ALIGN_4BYTES16// CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA17// CHECK-NEXT: IMAGE_SCN_MEM_READ18// CHECK-NEXT: ]19// CHECK-NEXT: SectionData (20// CHECK-NEXT: 0000: 01050200 0550040221// CHECK-NEXT: )22 23// CHECK: Name: .xdata24// CHECK-NEXT: VirtualSize25// CHECK-NEXT: VirtualAddress26// CHECK-NEXT: RawDataSize: 827// CHECK-NEXT: PointerToRawData28// CHECK-NEXT: PointerToRelocations29// CHECK-NEXT: PointerToLineNumbers30// CHECK-NEXT: RelocationCount: 031// CHECK-NEXT: LineNumberCount: 032// CHECK-NEXT: Characteristics [33// CHECK-NEXT: IMAGE_SCN_ALIGN_4BYTES34// CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA35// CHECK-NEXT: IMAGE_SCN_MEM_READ36// CHECK-NEXT: ]37// CHECK-NEXT: SectionData (38// CHECK-NEXT: 0000: 01050200 0550040239// CHECK-NEXT: )40 41// CHECK: Name: .xdata42// CHECK-NEXT: VirtualSize43// CHECK-NEXT: VirtualAddress44// CHECK-NEXT: RawDataSize: 845// CHECK-NEXT: PointerToRawData46// CHECK-NEXT: PointerToRelocations47// CHECK-NEXT: PointerToLineNumbers48// CHECK-NEXT: RelocationCount: 049// CHECK-NEXT: LineNumberCount: 050// CHECK-NEXT: Characteristics [51// CHECK-NEXT: IMAGE_SCN_ALIGN_4BYTES52// CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA53// CHECK-NEXT: IMAGE_SCN_MEM_READ54// CHECK-NEXT: ]55// CHECK-NEXT: SectionData (56// CHECK-NEXT: 0000: 01050200 0550040257// CHECK-NEXT: )58 59 60 61 .section .text$foo,"x"62 .globl foo63 .def foo; .scl 2; .type 32; .endef64 .seh_proc foo65foo:66 subq $8, %rsp67 .seh_stackalloc 868 pushq %rbp69 .seh_pushreg %rbp70 .seh_endprologue71 .seh_startepilogue72 popq %rbp73 addq $8, %rsp74 .seh_endepilogue75 ret76 .seh_endproc77 78 .section .mytext,"x"79 .globl bar80 .def bar; .scl 2; .type 32; .endef81 .seh_proc bar82bar:83 subq $8, %rsp84 .seh_stackalloc 885 pushq %rbp86 .seh_pushreg %rbp87 .seh_endprologue88 .seh_startepilogue89 popq %rbp90 addq $8, %rsp91 .seh_endepilogue92 ret93 .seh_endproc94 95 .section .text96 .globl baz97 .def baz; .scl 2; .type 32; .endef98 .seh_proc baz99baz:100 subq $8, %rsp101 .seh_stackalloc 8102 pushq %rbp103 .seh_pushreg %rbp104 .seh_endprologue105 .seh_startepilogue106 popq %rbp107 addq $8, %rsp108 .seh_endepilogue109 ret110 .seh_endproc111 112