[PATCH] D29892: ar: add llvm-dlltool support

Martell Malone via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 29 15:29:36 PDT 2017


martell added a comment.

In https://reviews.llvm.org/D29892#713457, @ruiu wrote:

> I want to see a patch to remove code from LLD as they should be checked in as a pair with this patch.


I can do that, my question on the parser remains to do this though because that is also mostly shared with lld bar a few tweaks?



================
Comment at: lib/Object/ArchiveWriter.cpp:318
+      if (Symflags & object::SymbolRef::SF_Undefined &&
+          !(Symflags & object::SymbolRef::SF_Weak))
         continue;
----------------
rafael wrote:
> I don't think this is correct in general. For a regular .a file I don't think the .a should include undefined weak symbols in the list.
For archives containing COFF objects we need to include the undefined weak symbols in the list to support `PE COFF spec (Aux Format 3: Weak Externals)`
LLD and MSVC Link won't resolve any symbol created with the `createWeakExternal` function without this. 
I will add a testcase to highlight this..

Are you saying this specific implementation will affect ELF archives in some way?


Repository:
  rL LLVM

https://reviews.llvm.org/D29892





More information about the llvm-commits mailing list