[llvm-branch-commits] [llvm-branch] r311100 - Merging r310991:

Hans Wennborg via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Aug 17 10:04:53 PDT 2017


Author: hans
Date: Thu Aug 17 10:04:53 2017
New Revision: 311100

URL: http://llvm.org/viewvc/llvm-project?rev=311100&view=rev
Log:
Merging r310991:
------------------------------------------------------------------------
r310991 | mstorsjo | 2017-08-15 22:22:49 -0700 (Tue, 15 Aug 2017) | 13 lines

[COFF] Make the weak aliases optional

When creating an import library from lld, the cases with
Name != ExtName shouldn't end up as a weak alias, but as a real
export of the new name, which is what actually is exported from
the DLL.

This restores the behaviour of renamed exports to what it was in
4.0.

The other half of this commit, including test, goes into lld.

Differential Revision: https://reviews.llvm.org/D36633
------------------------------------------------------------------------

Modified:
    llvm/branches/release_50/   (props changed)
    llvm/branches/release_50/include/llvm/Object/COFFImportFile.h
    llvm/branches/release_50/lib/Object/COFFImportFile.cpp
    llvm/branches/release_50/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp

Propchange: llvm/branches/release_50/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 17 10:04:53 2017
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,308483-308484,308503,308808,308813,308847,308891,308906,308950,308963,308978,308986,309044,309071,309113,309120,309122,309140,309227,309302,309321,309323,309325,309330,309343,309353,309355,309422,309481,309483,309495,309555,309561,309594,309614,309651,309744,309758,309849,309928,309930,309945,310071,310190,310240-310242,310250,310253,310267,310481,310492,310510,310534,310552,310604,310779,310784,310796,310842,310926,310939,310988
+/llvm/trunk:155241,308483-308484,308503,308808,308813,308847,308891,308906,308950,308963,308978,308986,309044,309071,309113,309120,309122,309140,309227,309302,309321,309323,309325,309330,309343,309353,309355,309422,309481,309483,309495,309555,309561,309594,309614,309651,309744,309758,309849,309928,309930,309945,310071,310190,310240-310242,310250,310253,310267,310481,310492,310510,310534,310552,310604,310779,310784,310796,310842,310926,310939,310988,310991

Modified: llvm/branches/release_50/include/llvm/Object/COFFImportFile.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_50/include/llvm/Object/COFFImportFile.h?rev=311100&r1=311099&r2=311100&view=diff
==============================================================================
--- llvm/branches/release_50/include/llvm/Object/COFFImportFile.h (original)
+++ llvm/branches/release_50/include/llvm/Object/COFFImportFile.h Thu Aug 17 10:04:53 2017
@@ -99,7 +99,8 @@ struct COFFShortExport {
 std::error_code writeImportLibrary(StringRef ImportName,
                                    StringRef Path,
                                    ArrayRef<COFFShortExport> Exports,
-                                   COFF::MachineTypes Machine);
+                                   COFF::MachineTypes Machine,
+                                   bool MakeWeakAliases);
 
 } // namespace object
 } // namespace llvm

Modified: llvm/branches/release_50/lib/Object/COFFImportFile.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_50/lib/Object/COFFImportFile.cpp?rev=311100&r1=311099&r2=311100&view=diff
==============================================================================
--- llvm/branches/release_50/lib/Object/COFFImportFile.cpp (original)
+++ llvm/branches/release_50/lib/Object/COFFImportFile.cpp Thu Aug 17 10:04:53 2017
@@ -557,7 +557,7 @@ NewArchiveMember ObjectFactory::createWe
 
 std::error_code writeImportLibrary(StringRef ImportName, StringRef Path,
                                    ArrayRef<COFFShortExport> Exports,
-                                   MachineTypes Machine) {
+                                   MachineTypes Machine, bool MakeWeakAliases) {
 
   std::vector<NewArchiveMember> Members;
   ObjectFactory OF(llvm::sys::path::filename(ImportName), Machine);
@@ -575,7 +575,7 @@ std::error_code writeImportLibrary(Strin
     if (E.Private)
       continue;
 
-    if (E.isWeak()) {
+    if (E.isWeak() && MakeWeakAliases) {
       Members.push_back(OF.createWeakExternal(E.Name, E.ExtName, false));
       Members.push_back(OF.createWeakExternal(E.Name, E.ExtName, true));
       continue;

Modified: llvm/branches/release_50/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_50/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp?rev=311100&r1=311099&r2=311100&view=diff
==============================================================================
--- llvm/branches/release_50/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp (original)
+++ llvm/branches/release_50/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp Thu Aug 17 10:04:53 2017
@@ -154,7 +154,7 @@ int llvm::dlltoolDriverMain(llvm::ArrayR
   if (Path.empty())
     Path = getImplibPath(Def->OutputFile);
 
-  if (writeImportLibrary(Def->OutputFile, Path, Def->Exports, Machine))
+  if (writeImportLibrary(Def->OutputFile, Path, Def->Exports, Machine, true))
     return 1;
   return 0;
 }




More information about the llvm-branch-commits mailing list