• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// This test ensures that, if the section containing a function has a suffix
2// (e.g. .text$foo), its unwind info section also has a suffix (.xdata$foo).
3// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | llvm-readobj -s -sd | FileCheck %s
4
5// CHECK:      Name: .xdata$foo
6// CHECK-NEXT: VirtualSize
7// CHECK-NEXT: VirtualAddress
8// CHECK-NEXT: RawDataSize: 8
9// CHECK-NEXT: PointerToRawData
10// CHECK-NEXT: PointerToRelocations
11// CHECK-NEXT: PointerToLineNumbers
12// CHECK-NEXT: RelocationCount: 0
13// CHECK-NEXT: LineNumberCount: 0
14// CHECK-NEXT: Characteristics [
15// CHECK-NEXT:   IMAGE_SCN_ALIGN_4BYTES
16// CHECK-NEXT:   IMAGE_SCN_CNT_INITIALIZED_DATA
17// CHECK-NEXT:   IMAGE_SCN_MEM_READ
18// CHECK-NEXT: ]
19// CHECK-NEXT: SectionData (
20// CHECK-NEXT:   0000: 01050200 05500402
21// CHECK-NEXT: )
22
23    .section .text$foo,"x"
24    .globl foo
25    .def foo; .scl 2; .type 32; .endef
26    .seh_proc foo
27foo:
28    subq $8, %rsp
29    .seh_stackalloc 8
30    pushq %rbp
31    .seh_pushreg %rbp
32    .seh_endprologue
33    popq %rbp
34    addq $8, %rsp
35    ret
36    .seh_endproc
37
38