70 lines · plain
1// RUN: llvm-mc -triple x86_64-windows-msvc -filetype obj -o %t.obj %s2// RUN: llvm-readobj --sections --sd --relocs %t.obj | FileCheck %s3 4.section nc_sect,"xr"5normal_call:6.seh_proc normal_call7# %bb.0: # %entry8 subq $40, %rsp9 .seh_stackalloc 4010 .seh_endprologue11.Limpcall0:12 rex6413 callq *__imp_a(%rip)14 nopl 8(%rax,%rax)15 nop16 addq $40, %rsp17 retq18 .seh_endproc19 20.section tc_sect,"xr"21tail_call:22.Limpcall1:23 rex6424 jmp *__imp_b(%rip)25 26.section .retplne,"yi"27.asciz "RetpolineV1"28.long 1629.secnum tc_sect30.long 231.secoffset .Limpcall132.long 1633.secnum nc_sect34.long 335.secoffset .Limpcall036 37// CHECK-LABEL: Name: .retplne (2E 72 65 74 70 6C 6E 65)38// CHECK-NEXT: VirtualSize: 0x039// CHECK-NEXT: VirtualAddress: 0x040// CHECK-NEXT: RawDataSize: 4441// CHECK-NEXT: PointerToRawData:42// CHECK-NEXT: PointerToRelocations:43// CHECK-NEXT: PointerToLineNumbers:44// CHECK-NEXT: RelocationCount: 045// CHECK-NEXT: LineNumberCount: 046// CHECK-NEXT: Characteristics [47// CHECK-NEXT: IMAGE_SCN_ALIGN_1BYTES48// CHECK-NEXT: IMAGE_SCN_LNK_INFO49// CHECK-NEXT: ]50// CHECK-NEXT: SectionData (51// CHECK-NEXT: 52657470 6F6C696E 65563100 10000000 |RetpolineV1.....|52// CHECK-NEXT: 0010:53// CHECK-SAME: [[#%.2X,TCSECT:]]00000054// CHECK-SAME: 0200000055// CHECK-SAME: [[#%.2X,TCOFFSET:]]00000056// CHECK-SAME: 1000000057// CHECK-NEXT: 0020:58// CHECK-SAME: [[#%.2X,NCSECT:]]00000059// CHECK-SAME: 0300000060// CHECK-SAME: [[#%.2X,NCOFFSET:]]00000061// CHECK-NEXT: )62 63// CHECK-LABEL: Relocations [64// CHECK-NEXT: Section ([[#%u,NCSECT]]) nc_sect {65// CHECK-NEXT: 0x[[#%x,NCOFFSET + 3]] IMAGE_REL_AMD64_REL32 __imp_a66// CHECK-NEXT: }67// CHECK-NEXT: Section ([[#%u,TCSECT]]) tc_sect {68// CHECK-NEXT: 0x[[#%x,TCOFFSET + 3]] IMAGE_REL_AMD64_REL32 __imp_b69// CHECK-NEXT: }70