1# RUN: yaml2obj %s -o %t 2# RUN: lldb-test symbols %t | FileCheck %s 3 4# Checks that the symtab contains both symbols from the export table and the 5# COFF symbol table. 6 7# CHECK: UserID DSX Type File Address/Value {{.*}} Size Flags Name 8# CHECK-NEXT: ------ 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 19# CHECK-EMPTY: 20 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 24# test.c: 25# __declspec(dllexport) int exportInt; 26# int aliasInt; 27# int internalInt; 28# void entry(void) {} 29# __declspec(dllexport) void exportFunc(void) {} 30# void aliasFunc(void) {} 31 32--- !COFF 33OptionalHeader: 34 AddressOfEntryPoint: 4096 35 ImageBase: 6442450944 36 SectionAlignment: 4096 37 FileAlignment: 512 38 MajorOperatingSystemVersion: 6 39 MinorOperatingSystemVersion: 0 40 MajorImageVersion: 0 41 MinorImageVersion: 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 50 ExportTable: 51 RelativeVirtualAddress: 8192 52 Size: 156 53header: 54 Machine: IMAGE_FILE_MACHINE_AMD64 55 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] 56sections: 57 - Name: .text 58 Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] 59 VirtualAddress: 4096 60 VirtualSize: 33 61 SectionData: C36666666666662E0F1F840000000000C36666666666662E0F1F840000000000C3 62 - Name: .rdata 63 Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] 64 VirtualAddress: 8192 65 VirtualSize: 156 66 SectionData: 0000000000000000000000002820000001000000040000000400000042200000522000006220000073796D626F6C732D6578706F7274732E632E746D702E646C6C00201000001010000000300000043000006A20000078200000832000008D20000000000100020003006578706F7274466E416C696173006578706F727446756E63006578706F7274496E74006578706F7274496E74416C69617300 67 - Name: .data 68 Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] 69 VirtualAddress: 12288 70 VirtualSize: 12 71 SectionData: '' 72symbols: 73 - Name: entry 74 Value: 0 75 SectionNumber: 1 76 SimpleType: IMAGE_SYM_TYPE_NULL 77 ComplexType: IMAGE_SYM_DTYPE_FUNCTION 78 StorageClass: IMAGE_SYM_CLASS_EXTERNAL 79 - Name: exportFunc 80 Value: 16 81 SectionNumber: 1 82 SimpleType: IMAGE_SYM_TYPE_NULL 83 ComplexType: IMAGE_SYM_DTYPE_FUNCTION 84 StorageClass: IMAGE_SYM_CLASS_EXTERNAL 85 - Name: aliasFunc 86 Value: 32 87 SectionNumber: 1 88 SimpleType: IMAGE_SYM_TYPE_NULL 89 ComplexType: IMAGE_SYM_DTYPE_FUNCTION 90 StorageClass: IMAGE_SYM_CLASS_EXTERNAL 91 - Name: exportInt 92 Value: 0 93 SectionNumber: 3 94 SimpleType: IMAGE_SYM_TYPE_NULL 95 ComplexType: IMAGE_SYM_DTYPE_NULL 96 StorageClass: IMAGE_SYM_CLASS_EXTERNAL 97 - Name: aliasInt 98 Value: 4 99 SectionNumber: 3 100 SimpleType: IMAGE_SYM_TYPE_NULL 101 ComplexType: IMAGE_SYM_DTYPE_NULL 102 StorageClass: IMAGE_SYM_CLASS_EXTERNAL 103 - Name: internalInt 104 Value: 8 105 SectionNumber: 3 106 SimpleType: IMAGE_SYM_TYPE_NULL 107 ComplexType: IMAGE_SYM_DTYPE_NULL 108 StorageClass: IMAGE_SYM_CLASS_EXTERNAL 109... 110