54 lines · plain
1# REQUIRES: x862 3# The __guard_fids_table is a DefinedSynthetic when control flow guard is4# enabled and there are entries to be added to the fids table. This test uses5# this to check that DefinedSynthetic symbols are being written to the COFF6# symbol table.7 8# RUN: llvm-mc -triple x86_64-windows-msvc %s -filetype=obj -o %t.obj9# RUN: lld-link %t.obj -guard:cf -out:%t.exe -entry:main -debug:symtab10# RUN: llvm-readobj --symbols %t.exe | FileCheck --check-prefix=CHECK %s11 12# CHECK: Name: __guard_fids_table13# CHECK-NEXT: Value:14# CHECK-NEXT: Section: .rdata (2)15 16 17# We need @feat.00 to have 0x800 to indicate /guard:cf.18 .def @feat.00;19 .scl 3;20 .type 0;21 .endef22 .globl @feat.0023@feat.00 = 0x80024 .def main; .scl 2; .type 32; .endef25 .globl main # -- Begin function main26 .p2align 4, 0x9027main:28 retq29 # -- End function30 .section .gfids$y,"dr"31 .symidx main32 .section .giats$y,"dr"33 .section .gljmp$y,"dr"34 .addrsig_sym main35 .section .rdata,"dr"36 37.globl _load_config_used38 .p2align 339_load_config_used:40 .long 31241 .fill 124, 1, 042 .quad __guard_fids_table43 .quad __guard_fids_count44 .long __guard_flags45 .fill 12, 1, 046 .quad __guard_iat_table47 .quad __guard_iat_count48 .quad __guard_longjmp_table49 .quad __guard_longjmp_count50 .fill 72, 1, 051 .quad __guard_eh_cont_table52 .quad __guard_eh_cont_count53 .fill 32, 1, 054