summaryrefslogtreecommitdiff
path: root/lld/docs
diff options
context:
space:
mode:
authorAlexandre Ganea <alex_toresh@yahoo.fr>2022-11-20 10:24:02 -0500
committerAlexandre Ganea <alex_toresh@yahoo.fr>2022-11-20 10:40:50 -0500
commit242a9cf7e6759bdd6c4af524d544f562b7385d27 (patch)
tree2fec0a29a5d3de05b005a79ee6e868dbcdb9739f /lld/docs
parente2bff1e489fbc2488dde94bc02dcfc767fca2443 (diff)
downloadllvm-242a9cf7e6759bdd6c4af524d544f562b7385d27.tar.gz
[LLD][COFF] Survive empty and invalid PCH signature
Solve two issues that showed up when using LLD with Unreal Engine & FASTBuild: 1. It seems the S_OBJNAME record doesn't always record the "precomp signature". We were relying on that to match the PCH.OBJ with their dependent-OBJ. 2. MSVC link.exe is able to link a PCH.OBJ when the "precomp signatureƈ doesn't match, but LLD was failing. This was occuring since the Unreal Engine Build Tool was compiling the PCH.OBJ, but the dependent-OBJ were compiled & cached through FASTBuild. Upon a clean rebuild, the PCH.OBJs were recompiled by the Unreal Build Tool, thus the "precomp signatures" were changing; however the OBJs were already cached by FASTBuild, thus having an old "precomp signatures". We now ignore "precomp signatures" and properly fallback to cmd-line name lookup, like MSVC link.exe does, and only fail if the PCH.OBJ type stream doesn't match the count expected by the dependent-OBJ. Differential Revision: https://reviews.llvm.org/D136762
Diffstat (limited to 'lld/docs')
-rw-r--r--lld/docs/ReleaseNotes.rst3
1 files changed, 3 insertions, 0 deletions
diff --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst
index 0e9029bdcc09..31eb116c383a 100644
--- a/lld/docs/ReleaseNotes.rst
+++ b/lld/docs/ReleaseNotes.rst
@@ -45,6 +45,9 @@ COFF Improvements
(`D137723 <https://reviews.llvm.org/D137723>`_)
* Switched from SHA1 to BLAKE3 for PDB type hashing / ``-gcodeview-ghash``
(`D137101 <https://reviews.llvm.org/D137101>`_)
+* Improvements to the PCH.OBJ files handling. Now LLD behaves the same as MSVC
+ link.exe when merging PCH.OBJ files that don't have the same signature.
+ (`D136762 <https://reviews.llvm.org/D136762>`_)
MinGW Improvements
------------------