[PATCH] D41630: [LLD] [COFF] Add a testcase for dllexported symbols via embedded directives

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 4 00:07:50 PST 2018


This revision was automatically updated to reflect the committed changes.
Closed by commit rL321790: [COFF] Add a testcase for dllexported symbols via embedded directives (authored by mstorsjo, committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D41630?vs=128339&id=128598#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D41630

Files:
  lld/trunk/test/COFF/dllexport.s


Index: lld/trunk/test/COFF/dllexport.s
===================================================================
--- lld/trunk/test/COFF/dllexport.s
+++ lld/trunk/test/COFF/dllexport.s
@@ -0,0 +1,60 @@
+# REQUIRES: x86
+# RUN: llvm-mc -filetype=obj -triple=i686-windows-msvc %s -o %t.obj
+
+# RUN: lld-link -entry:dllmain -dll %t.obj -out:%t.dll -implib:%t.lib
+# RUN: llvm-readobj %t.lib | FileCheck -check-prefix DECORATED-IMPLIB %s
+# RUN: llvm-readobj -coff-exports %t.dll | FileCheck -check-prefix DECORATED-EXPORTS %s
+
+# DECORATED-IMPLIB: Name type: name
+# DECORATED-IMPLIB-NEXT: __imp_ at fastcall@8
+# DECORATED-IMPLIB-NEXT: @fastcall at 8
+# DECORATED-IMPLIB: Name type: noprefix
+# DECORATED-IMPLIB-NEXT: __imp___underscored
+# DECORATED-IMPLIB-NEXT: __underscored
+# TODO: To match link.exe, this one should also be Name type: name.
+# DECORATED-IMPLIB: Name type: noprefix
+# DECORATED-IMPLIB-NEXT: __imp__stdcall at 8
+# DECORATED-IMPLIB-NEXT: _stdcall at 8
+# DECORATED-IMPLIB: Name type: name
+# DECORATED-IMPLIB-NEXT: __imp_vectorcall@@8
+# DECORATED-IMPLIB-NEXT: vectorcall@@8
+
+# DECORATED-EXPORTS: Name: @fastcall at 8
+# DECORATED-EXPORTS: Name: _underscored
+# TODO: To match link.exe, this one should actually be _stdcall at 8
+# DECORATED-EXPORTS: Name: stdcall at 8
+# DECORATED-EXPORTS: Name: vectorcall@@8
+
+        .def     _stdcall at 8;
+        .scl    2;
+        .type   32;
+        .endef
+        .globl  _stdcall at 8
+        .globl  @fastcall at 8
+        .globl  vectorcall@@8
+        .globl  __underscored
+_stdcall at 8:
+        movl    8(%esp), %eax
+        addl    4(%esp), %eax
+        retl    $8
+ at fastcall@8:
+        movl    8(%esp), %eax
+        addl    4(%esp), %eax
+        retl    $8
+vectorcall@@8:
+        movl    8(%esp), %eax
+        addl    4(%esp), %eax
+        retl    $8
+__underscored:
+        ret
+
+        .def     _dllmain;
+        .scl    2;
+        .type   32;
+        .endef
+        .globl  _dllmain
+_dllmain:
+        retl
+
+.section .drectve
+.ascii "-export:__underscored -export:_stdcall at 8 -export:@fastcall at 8 -export:vectorcall@@8"


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41630.128598.patch
Type: text/x-patch
Size: 2087 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180104/59953c1d/attachment.bin>


More information about the llvm-commits mailing list