brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · f6d8387 Raw
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