1 # RUN: yaml2obj %s -o %t
2 # RUN: lldb-test symbols %t | FileCheck %s
4 # Checks that the symtab contains both symbols from the export table and the
7 # CHECK: UserID DSX Type File Address/Value {{.*}} Size Flags Name
9 # CHECK-NEXT: 1 X Code 0x0000000180001020 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} exportFnAlias
10 # CHECK-NEXT: 2 X Code 0x0000000180001010 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} exportFunc
11 # CHECK-NEXT: 3 X Data 0x0000000180003000 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} exportInt
12 # CHECK-NEXT: 4 X Data 0x0000000180003004 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} exportIntAlias
13 # CHECK-NEXT: 4294967295 Code 0x0000000180001000 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} entry
14 # CHECK-NEXT: 4294967295 X Additional 0x0000000180001010 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} exportFunc
15 # CHECK-NEXT: 4294967295 Code 0x0000000180001020 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} aliasFunc
16 # CHECK-NEXT: 4294967295 X Additional 0x0000000180003000 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} exportInt
17 # CHECK-NEXT: 4294967295 Data 0x0000000180003004 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} aliasInt
18 # CHECK-NEXT: 4294967295 Data 0x0000000180003008 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} internalInt
21 # Test file generated with:
22 # clang -O2 --target=x86_64-windows-msvc test.c -nostdlib -c -o test.obj
23 # lld-link -debug:symtab -dll -out:test.dll -entry:entry -export:exportFnAlias=aliasFunc -export:exportIntAlias=aliasInt test.obj
25 # __declspec(dllexport) int exportInt;
29 # __declspec(dllexport) void exportFunc(void) {}
30 # void aliasFunc(void) {}
34 AddressOfEntryPoint: 4096
36 SectionAlignment: 4096
38 MajorOperatingSystemVersion: 6
39 MinorOperatingSystemVersion: 0
42 MajorSubsystemVersion: 6
43 MinorSubsystemVersion: 0
44 Subsystem: IMAGE_SUBSYSTEM_WINDOWS_GUI
45 DLLCharacteristics: [ IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA, IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE, IMAGE_DLL_CHARACTERISTICS_NX_COMPAT ]
46 SizeOfStackReserve: 1048576
47 SizeOfStackCommit: 4096
48 SizeOfHeapReserve: 1048576
49 SizeOfHeapCommit: 4096
51 RelativeVirtualAddress: 8192
54 Machine: IMAGE_FILE_MACHINE_AMD64
55 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ]
58 Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
61 SectionData: C36666666666662E0F1F840000000000C36666666666662E0F1F840000000000C3
63 Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
66 SectionData: 0000000000000000000000002820000001000000040000000400000042200000522000006220000073796D626F6C732D6578706F7274732E632E746D702E646C6C00201000001010000000300000043000006A20000078200000832000008D20000000000100020003006578706F7274466E416C696173006578706F727446756E63006578706F7274496E74006578706F7274496E74416C69617300
68 Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
76 SimpleType: IMAGE_SYM_TYPE_NULL
77 ComplexType: IMAGE_SYM_DTYPE_FUNCTION
78 StorageClass: IMAGE_SYM_CLASS_EXTERNAL
82 SimpleType: IMAGE_SYM_TYPE_NULL
83 ComplexType: IMAGE_SYM_DTYPE_FUNCTION
84 StorageClass: IMAGE_SYM_CLASS_EXTERNAL
88 SimpleType: IMAGE_SYM_TYPE_NULL
89 ComplexType: IMAGE_SYM_DTYPE_FUNCTION
90 StorageClass: IMAGE_SYM_CLASS_EXTERNAL
94 SimpleType: IMAGE_SYM_TYPE_NULL
95 ComplexType: IMAGE_SYM_DTYPE_NULL
96 StorageClass: IMAGE_SYM_CLASS_EXTERNAL
100 SimpleType: IMAGE_SYM_TYPE_NULL
101 ComplexType: IMAGE_SYM_DTYPE_NULL
102 StorageClass: IMAGE_SYM_CLASS_EXTERNAL
106 SimpleType: IMAGE_SYM_TYPE_NULL
107 ComplexType: IMAGE_SYM_DTYPE_NULL
108 StorageClass: IMAGE_SYM_CLASS_EXTERNAL