1# RUN: yaml2obj < %p/Inputs/pdb1.yaml > %t1.obj
2# RUN: yaml2obj < %p/Inputs/pdb2.yaml > %t2.obj
3
4# RUN: lld-link /debug /pdb:%t.pdb /dll /out:%t.dll /entry:main /nodefaultlib \
5# RUN:   %t1.obj %t2.obj
6# RUN: llvm-pdbutil dump -symbols %t.pdb | FileCheck %s
7
8# RUN: lld-link /debug /debug:ghash /pdb:%t.pdb /dll /out:%t.dll /entry:main /nodefaultlib \
9# RUN:   %t1.obj %t2.obj
10# RUN: llvm-pdbutil dump -symbols %t.pdb | FileCheck %s
11
12CHECK:                                Symbols
13CHECK-NEXT: ============================================================
14CHECK-LABEL:    Mod 0000 |
15CHECK:                92 | S_GPROC32 [size = 44] `main`
16CHECK-NEXT:                parent = 0, end = 168, addr = 0001:0000, code size = 14
17CHECK-NEXT:                type = `0x1004 (int (<no type>))`, debug start = 4, debug end = 9, flags = none
18CHECK-NEXT:          136 | S_FRAMEPROC [size = 32]
19CHECK-NEXT:                size = 40, padding size = 0, offset to padding = 0
20CHECK-NEXT:                bytes of callee saved registers = 0, exception handler addr = 0000:0000
21CHECK-NEXT:                local fp reg = NONE, param fp reg = NONE
22CHECK-NEXT:                flags = has async eh | opt speed
23CHECK-NEXT:          168 | S_END [size = 4]
24CHECK-LABEL:    Mod 0001 |
25CHECK:                92 | S_GPROC32 [size = 44] `foo`
26CHECK-NEXT:                parent = 0, end = 168, addr = 0001:0016, code size = 6
27CHECK-NEXT:                type = `0x1001 (int ())`, debug start = 0, debug end = 5, flags = none
28CHECK-NEXT:          136 | S_FRAMEPROC [size = 32]
29CHECK-NEXT:                size = 0, padding size = 0, offset to padding = 0
30CHECK-NEXT:                bytes of callee saved registers = 0, exception handler addr = 0000:0000
31CHECK-NEXT:                local fp reg = NONE, param fp reg = NONE
32CHECK-NEXT:                flags = has async eh | opt speed
33CHECK-NEXT:          168 | S_END [size = 4]
34CHECK-LABEL:    Mod 0002 |
35CHECK:                 4 | S_OBJNAME [size = 20] sig=0, `* Linker *`
36