59 lines · plain
1# RUN: mkdir -p %t.dir2# RUN: yaml2obj %p/Inputs/export.yaml -o %t-dll.obj3# RUN: lld-link /out:%t.dll /dll %t-dll.obj /implib:%t-dll.lib \4# RUN: /export:exportfn1 /export:exportfn25# RUN: yaml2obj %p/Inputs/map.yaml -o %t.obj6# RUN: lld-link /out:%t.exe /entry:main %t.obj %t-dll.lib /map:%t.dir/foo.map /lldmap7# RUN: FileCheck -check-prefix=MAP -strict-whitespace %s < %t.dir/foo.map8# RUN: FileCheck -check-prefix=LLDMAP -strict-whitespace %s < %t.map9# RUN: lld-link /out:%t.exe /entry:main %t.obj %t-dll.lib /map /lldmap:%t.dir/foo-lld.map10# RUN: FileCheck -check-prefix=MAP -strict-whitespace %s < %t.map11# RUN: FileCheck -check-prefix=LLDMAP -strict-whitespace %s < %t.dir/foo-lld.map12# RUN: lld-link /out:%t.dll /dll %t-dll.obj /export:exportfn1 \13# RUN: /export:foo=exportfn2 /map /mapinfo:exports14# RUN: FileCheck -check-prefix=MAPINFO -strict-whitespace %s < %t.map15# RUN: rm -rf %t && mkdir -p %t && cd %t16# RUN: cp %t.obj map.test.tmp.obj17# RUN: cp %t-dll.lib map.test.tmp-dll.lib18# RUN: lld-link /entry:main map.test.tmp.obj map.test.tmp-dll.lib /map19# RUN: FileCheck -check-prefix=MAP -strict-whitespace %s < map.test.tmp.map20 21# MAP: {{.*}}22# MAP-EMPTY:23# MAP-NEXT: Timestamp is {{.*}}24# MAP-EMPTY:25# MAP-NEXT: Preferred load address is 000000014000000026# MAP-EMPTY:27# MAP-NEXT: Start Length Name Class28# MAP-NEXT: 0001:00000000 00000008H .text CODE29# MAP-EMPTY:30# MAP-NEXT: Address Publics by Value Rva+Base Lib:Object31# MAP-EMPTY:32# MAP-NEXT: 0000:00000042 absolute 0000000000000042 <absolute>33# MAP-NEXT: 0001:00000000 main 0000000140001000 map.test.tmp.obj34# MAP-NEXT: 0001:00000010 exportfn1 0000000140001010 map.test.tmp-dll:map.test.tmp.dll35# MAP-NEXT: 0001:00000020 exportfn2 0000000140001020 map.test.tmp-dll:map.test.tmp.dll36# MAP-NEXT: 0002:00000040 __imp_exportfn1 0000000140002040 map.test.tmp-dll:map.test.tmp.dll37# MAP-NEXT: 0002:00000048 __imp_exportfn2 0000000140002048 map.test.tmp-dll:map.test.tmp.dll38# MAP-EMPTY:39# MAP-NEXT: entry point at 0001:0000000040# MAP-EMPTY:41# MAP-NEXT: Static symbols42# MAP-EMPTY:43# MAP-NEXT: 0001:00000043 staticdef 0000000140001043 map.test.tmp.obj44 45 46# LLDMAP: Address Size Align Out In Symbol47# LLDMAP-NEXT: 00001000 00000026 4096 .text48# LLDMAP-NEXT: 00001000 00000008 4 {{.*}}map.test.tmp.obj:(.text)49# LLDMAP-NEXT: 00001000 00000000 0 main50 51# MAPINFO: Exports52# MAPINFO-EMPTY:53# MAPINFO-NEXT: ordinal name54# MAPINFO-EMPTY:55# MAPINFO-NEXT: 1 exportfn156# MAPINFO-NEXT: 2 exportfn357# MAPINFO-NEXT: 3 exportfn258# MAPINFO-NEXT: exported name: foo59