38 lines · plain
1# REQUIRES: x862# RUN: split-file %s %t3# RUN: llvm-mc -filetype=obj -triple=x86_64-windows-msvc %t/dllmain.s -o %t/dllmain.obj4# RUN: llvm-mc -filetype=obj -triple=x86_64-windows-msvc %t/path.s -o %t/path.obj5# RUN: lld-link -lib %t/dllmain.obj -out:%t/archive.lib6# RUN: echo -e "LIBRARY foo\nEXPORTS\n GetPathOnDisk" > %t.def7# RUN: lld-link -entry:dllmain -dll -def:%t.def %t/path.obj %t/archive.lib -out:%t/foo.dll -implib:%t/foo.lib8# RUN: llvm-readobj %t/foo.lib | FileCheck -check-prefix IMPLIB %s9# RUN: llvm-readobj --coff-exports %t/foo.dll | FileCheck -check-prefix EXPORTS %s10 11# IMPLIB: File: foo.dll12# IMPLIB: Name type: undecorate13# IMPLIB-NEXT: Export name: GetPathOnDisk14# IMPLIB-NEXT: Symbol: __imp_?GetPathOnDisk@@YA_NPEA_W@Z15# IMPLIB-NEXT: Symbol: ?GetPathOnDisk@@YA_NPEA_W@Z16 17# EXPORTS: Name: GetPathOnDisk18 19#--- path.s20 21 .def "?GetPathOnDisk@@YA_NPEA_W@Z";22 .scl 2;23 .type 32;24 .endef25 .globl "?GetPathOnDisk@@YA_NPEA_W@Z"26"?GetPathOnDisk@@YA_NPEA_W@Z":27 retq28 29#--- dllmain.s30 31 .def dllmain;32 .scl 2;33 .type 32;34 .endef35 .globl dllmain36dllmain:37 retq38