[PATCH] D63109: lld-link: Reject more than one resource .obj file
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 25 14:47:52 PDT 2019
mstorsjo added a comment.
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).
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