[PATCH] D63109: lld-link: Reject more than one resource .obj file

Nico Weber via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 8 07:47:13 PDT 2019


thakis added a comment.

In D63109#1558181 <https://reviews.llvm.org/D63109#1558181>, @mstorsjo wrote:

> In D63109#1557242 <https://reviews.llvm.org/D63109#1557242>, @thakis wrote:
>
> > I think all four combinations of {llvm-cvtres,cvtres.exe} x {llvm-link,link.exe} should have the same behavior. What does link.exe say to two windres outputs? What does GNU ld do with two cvtres.exe inputs?
>
>
> After a bit more testing, I have the following result matrix:
>
>              windres .o    cvtres .obj      llvm-cvtres.obj     .res
>   GNU ld     Both          First            First               not supported
>   link.exe   First         Error            Error               Both
>   lld-link   None          Error            Error               Both
>
>
> Noted oddities:
>
> - When lld-link produces an error in these cases (faced with two resource obj files), the output exe file is still present on disk though, contrary to link.exe
> - lld-link seems to fail to use resources packaged by windres into object files. Will look into why.
> - lld-link also seems to have issues with object files produces by cvtres (tested with cvtres from both MSVC 2019 and MSVC2015), the resources aren't located at runtime - even when only given one single file, while files from llvm-cvtres works fine. Will also look into why for this case.
>
>   Thus, for lld-link, neither windres nor cvtres object files work at the moment, only llvm-cvtres (and plain .res files).


Did this ever get sorted out? I saw D63837 <https://reviews.llvm.org/D63837> go by a while ago which from a distance looks related. Did that fix everything? Do all tools agree now?


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D63109/new/

https://reviews.llvm.org/D63109





More information about the llvm-commits mailing list