116 lines
4.1 KiB
Text
116 lines
4.1 KiB
Text
|
# RUN: yaml2obj %s -o %t.obj
|
||
|
#
|
||
|
# RUN: lld-link /out:%t.dll /dll %t.obj
|
||
|
# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=CHECK1 %s
|
||
|
#
|
||
|
# CHECK1: Export Table:
|
||
|
# CHECK1: DLL name: ordinals-override.test.tmp.dll
|
||
|
# CHECK1: Ordinal base: 1
|
||
|
# CHECK1: Ordinal RVA Name
|
||
|
# CHECK1-NEXT: 1 0x1010 ?bar@@YAXXZ
|
||
|
# CHECK1-NEXT: 2 0x1000 ?foo@@YAXXZ
|
||
|
# CHECK1-NEXT: 3 0x1020 baz
|
||
|
#
|
||
|
# RUN: lld-link /out:%t.dll /dll %t.obj /EXPORT:?foo@@YAXXZ,@55
|
||
|
# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=CHECK2 %s
|
||
|
#
|
||
|
# CHECK2: Export Table:
|
||
|
# CHECK2: DLL name: ordinals-override.test.tmp.dll
|
||
|
# CHECK2: Ordinal base: 55
|
||
|
# CHECK2: Ordinal RVA Name
|
||
|
# CHECK2-NEXT: 55 0x1000 ?foo@@YAXXZ
|
||
|
# CHECK2-NEXT: 56 0x1010 ?bar@@YAXXZ
|
||
|
# CHECK2-NEXT: 57 0x1020 baz
|
||
|
#
|
||
|
# RUN: lld-link /out:%t.dll /dll %t.obj /EXPORT:?foo@@YAXXZ,@55 /EXPORT:?bar@@YAXXZ,@122
|
||
|
# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=CHECK3 %s
|
||
|
#
|
||
|
# CHECK3: Export Table:
|
||
|
# CHECK3: DLL name: ordinals-override.test.tmp.dll
|
||
|
# CHECK3: Ordinal base: 55
|
||
|
# CHECK3: Ordinal RVA Name
|
||
|
# CHECK3-NEXT: 55 0x1000 ?foo@@YAXXZ
|
||
|
# CHECK3-NEXT: 122 0x1010 ?bar@@YAXXZ
|
||
|
# CHECK3-NEXT: 123 0x1020 baz
|
||
|
#
|
||
|
# RUN: echo "EXPORTS" > %t.def
|
||
|
# RUN: echo "?foo@@YAXXZ @55" >> %t.def
|
||
|
# RUN: echo "?bar@@YAXXZ @122" >> %t.def
|
||
|
# RUN: lld-link /out:%t.dll /dll %t.obj /DEF:%t.def 2>&1 | FileCheck --check-prefix=WARN --allow-empty %s
|
||
|
# WARN-NOT: lld-link: warning
|
||
|
#
|
||
|
# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=CHECK3 %s
|
||
|
#
|
||
|
# RUN: lld-link /out:%t.dll /dll %t.obj /DEF:%t.def /EXPORT:?foo@@YAXXZ,@10000 2>&1 | FileCheck --check-prefix=DUPLICATED %s
|
||
|
# DUPLICATED: lld-link: warning: duplicate export: ?foo@@YAXXZ first seen in /export, now in /def
|
||
|
#
|
||
|
# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=CHECK4 %s
|
||
|
#
|
||
|
# CHECK4: Export Table:
|
||
|
# CHECK4: DLL name: ordinals-override.test.tmp.dll
|
||
|
# CHECK4: Ordinal base: 122
|
||
|
# CHECK4: Ordinal RVA Name
|
||
|
# CHECK4-NEXT: 122 0x1010 ?bar@@YAXXZ
|
||
|
# CHECK4-NEXT: 10000 0x1000 ?foo@@YAXXZ
|
||
|
# CHECK4-NEXT: 10001 0x1020 baz
|
||
|
|
||
|
# The .drectve section below contains the following:
|
||
|
#
|
||
|
# Linker Directives
|
||
|
# -----------------
|
||
|
# /export:baz=?baz@@YAXXZ
|
||
|
# /EXPORT:?foo@@YAXXZ
|
||
|
# /EXPORT:?bar@@YAXXZ
|
||
|
|
||
|
--- !COFF
|
||
|
header:
|
||
|
Machine: IMAGE_FILE_MACHINE_AMD64
|
||
|
Characteristics: [ ]
|
||
|
sections:
|
||
|
- Name: .drectve
|
||
|
Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]
|
||
|
Alignment: 1
|
||
|
SectionData: 2f6578706f72743a62617a3d3f62617a4040594158585a202f4558504f52543a3f666f6f4040594158585a202f4558504f52543a3f6261724040594158585a
|
||
|
- Name: '.text$mn'
|
||
|
Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
|
||
|
Alignment: 16
|
||
|
SectionData: C20000CCCCCCCCCCCCCCCCCCCCCCCCCCC20000CCCCCCCCCCCCCCCCCCCCCCCCCCC20000
|
||
|
symbols:
|
||
|
- Name: '.text$mn'
|
||
|
Value: 0
|
||
|
SectionNumber: 2
|
||
|
SimpleType: IMAGE_SYM_TYPE_NULL
|
||
|
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||
|
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||
|
SectionDefinition:
|
||
|
Length: 35
|
||
|
NumberOfRelocations: 0
|
||
|
NumberOfLinenumbers: 0
|
||
|
CheckSum: 0
|
||
|
Number: 0
|
||
|
- Name: _DllMainCRTStartup
|
||
|
Value: 0
|
||
|
SectionNumber: 2
|
||
|
SimpleType: IMAGE_SYM_TYPE_NULL
|
||
|
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||
|
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
||
|
- Name: '?foo@@YAXXZ'
|
||
|
Value: 0
|
||
|
SectionNumber: 2
|
||
|
SimpleType: IMAGE_SYM_TYPE_NULL
|
||
|
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
|
||
|
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
||
|
- Name: '?bar@@YAXXZ'
|
||
|
Value: 16
|
||
|
SectionNumber: 2
|
||
|
SimpleType: IMAGE_SYM_TYPE_NULL
|
||
|
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
|
||
|
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
||
|
- Name: '?baz@@YAXXZ'
|
||
|
Value: 32
|
||
|
SectionNumber: 2
|
||
|
SimpleType: IMAGE_SYM_TYPE_NULL
|
||
|
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
|
||
|
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
||
|
...
|