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

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Mon May 15 09:12:34 PDT 2017


Martell Malone <martellmalone at gmail.com> writes:

>> > Index: lib/Object/ArchiveWriter.cpp
>> > ===================================================================
>> > --- lib/Object/ArchiveWriter.cpp
>> > +++ lib/Object/ArchiveWriter.cpp
>> > @@ -314,7 +314,8 @@
>> >          continue;
>> >        if (!(Symflags & object::SymbolRef::SF_Global))
>> >          continue;
>> > -      if (Symflags & object::SymbolRef::SF_Undefined)
>> > +      if (Symflags & object::SymbolRef::SF_Undefined &&
>> > +          !(Symflags & object::SymbolRef::SF_Weak))
>> >          continue;
>> This does look wrong for ELF. In any case, I will just check in a
>> testcase for ELF that will show the issue.
>
> Great, Thanks Rafael.
> This should help a lot to ensure we don't break any existing functionality.
>
> Suggestions are welcome on how best to make this happen for COFF only.
> Passing magic boolean flags might not be the correct way.

I added the test in r303075.

I don't know much about the COFF case. Why does the linker need to see
undefined symbols in the archive table? Are the symbols actually
undefined?

Cheers,
Rafael


More information about the llvm-commits mailing list