brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.4 KiB · 5bb5fd3 Raw
149 lines · plain
1# RUN: yaml2obj %s -o %t.obj2#3# RUN: lld-link -safeseh:no /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn24# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=CHECK1 %s5#6# RUN: lld-link -safeseh:no /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2 /merge:.edata=.rdata7# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=CHECK1 %s8# RUN: llvm-readobj --file-headers --sections %t.dll | FileCheck -check-prefix=HEADER-MERGE %s9 10# CHECK1:      Export Table:11# CHECK1-NEXT: DLL name: export32.test.tmp.dll12# CHECK1-NEXT: Ordinal base: 113# CHECK1-NEXT: Ordinal      RVA  Name14# CHECK1-NEXT:       1   0x1008  exportfn115# CHECK1-NEXT:       2   0x1010  exportfn216 17# HEADER-MERGE: ExportTableRVA: 0x200018# HEADER-MERGE-NEXT: ExportTableSize: 0x7A19# HEADER-MERGE: Name: .rdata20# HEADER-MERGE-NEXT: VirtualSize: 0x7A21# HEADER-MERGE-NEXT: VirtualAddress: 0x200022 23# RUN: lld-link -safeseh:no /out:%t.dll /dll %t.obj /export:exportfn1,@5 \24# RUN:   /export:exportfn2 /export:mangled25# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=CHECK2 %s26 27# CHECK2:      Export Table:28# CHECK2-NEXT: DLL name: export32.test.tmp.dll29# CHECK2-NEXT: Ordinal base: 530# CHECK2-NEXT: Ordinal      RVA  Name31# CHECK2-NEXT:       5   0x1008  exportfn132# CHECK2-NEXT:       6   0x1010  exportfn233# CHECK2-NEXT:       7   0x1010  exportfn334# CHECK2-NEXT:       8   0x1010  mangled35 36# RUN: lld-link -safeseh:no /out:%t.dll /dll %t.obj /export:exportfn1,@5,noname /export:exportfn237# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=CHECK3 %s38 39# CHECK3:      Export Table:40# CHECK3-NEXT: DLL name: export32.test.tmp.dll41# CHECK3-NEXT: Ordinal base: 542# CHECK3-NEXT: Ordinal      RVA  Name43# CHECK3-NEXT:       5   0x100844# CHECK3-NEXT:       6   0x1010  exportfn245 46# RUN: lld-link -safeseh:no /out:%t.dll /dll %t.obj /export:f1=exportfn1 /export:f2=exportfn247# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=CHECK4 %s48 49# CHECK4:      Export Table:50# CHECK4-NEXT: DLL name: export32.test.tmp.dll51# CHECK4-NEXT: Ordinal base: 152# CHECK4-NEXT: Ordinal      RVA  Name53# CHECK4-NEXT:       1   0x1010  exportfn354# CHECK4-NEXT:       2   0x1008  f155# CHECK4-NEXT:       3   0x1010  f256 57# RUN: echo "EXPORTS exportfn1 @3" > %t.def58# RUN: echo "fn2=exportfn2 @2" >> %t.def59# RUN: lld-link -safeseh:no /out:%t.dll /dll %t.obj /def:%t.def60# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=CHECK5 %s61 62# RUN: echo "EXPORTS exportfn1 @ 3" > %t.def63# RUN: echo "fn2=exportfn2 @ 2" >> %t.def64# RUN: lld-link -safeseh:no /out:%t.dll /dll %t.obj /def:%t.def65# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=CHECK5 %s66 67# CHECK5:      Export Table:68# CHECK5-NEXT: DLL name: export32.test.tmp.dll69# CHECK5-NEXT: Ordinal base: 270# CHECK5-NEXT: Ordinal      RVA  Name71# CHECK5-NEXT:       2   0x1010  fn272# CHECK5-NEXT:       3   0x1008  exportfn173# CHECK5-NEXT:       4   0x1010  exportfn374 75# RUN: lld-link -safeseh:no /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2 \76# RUN:   /export:exportfn1 /export:exportfn2,@5 >& %t.log77# RUN: FileCheck -check-prefix=CHECK6 %s < %t.log78 79# CHECK6:     duplicate /export option: _exportfn280# CHECK6-NOT: duplicate /export option: _exportfn181 82# RUN: lld-link -safeseh:no /out:%t.dll /dll %t.obj /export:foo=mangled83# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=CHECK7 %s84 85# CHECK7:      Export Table:86# CHECK7-NEXT: DLL name: export32.test.tmp.dll87# CHECK7-NEXT: Ordinal base: 188# CHECK7-NEXT: Ordinal      RVA  Name89# CHECK7-NEXT:       1   0x1010  exportfn390# CHECK7-NEXT:       2   0x1010  foo91 92--- !COFF93header:94  Machine:         IMAGE_FILE_MACHINE_I38695  Characteristics: []96sections:97  - Name:            .text98    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]99    Alignment:       4100    SectionData:     B800000000506800000000680000000050E80000000050E800000000101  - Name:            .drectve102    Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]103    Alignment:       1104    SectionData:     2f6578706f72743a5f6578706f7274666e3300  # /export:_exportfn3105symbols:106  - Name:            .text107    Value:           0108    SectionNumber:   1109    SimpleType:      IMAGE_SYM_TYPE_NULL110    ComplexType:     IMAGE_SYM_DTYPE_NULL111    StorageClass:    IMAGE_SYM_CLASS_STATIC112    SectionDefinition:113      Length:          28114      NumberOfRelocations: 4115      NumberOfLinenumbers: 0116      CheckSum:        0117      Number:          0118  - Name:            __DllMainCRTStartup@12119    Value:           0120    SectionNumber:   1121    SimpleType:      IMAGE_SYM_TYPE_NULL122    ComplexType:     IMAGE_SYM_DTYPE_NULL123    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL124  - Name:            _exportfn1125    Value:           8126    SectionNumber:   1127    SimpleType:      IMAGE_SYM_TYPE_NULL128    ComplexType:     IMAGE_SYM_DTYPE_NULL129    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL130  - Name:            _exportfn2@4131    Value:           16132    SectionNumber:   1133    SimpleType:      IMAGE_SYM_TYPE_NULL134    ComplexType:     IMAGE_SYM_DTYPE_NULL135    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL136  - Name:            _exportfn3137    Value:           16138    SectionNumber:   1139    SimpleType:      IMAGE_SYM_TYPE_NULL140    ComplexType:     IMAGE_SYM_DTYPE_NULL141    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL142  - Name:            '?mangled@@YAHXZ'143    Value:           16144    SectionNumber:   1145    SimpleType:      IMAGE_SYM_TYPE_NULL146    ComplexType:     IMAGE_SYM_DTYPE_NULL147    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL148...149