commit | ba1e3c9eb16bb2f76bdce994986457c00a82a40a | [log] [tgz] |
---|---|---|
author | Nico Weber <thakis@chromium.org> | Mon Feb 22 14:29:55 2021 -0500 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Feb 26 22:03:25 2021 -0800 |
tree | 44f8e21490565167469418f6ea91e6d10056347c | |
parent | ee1454979eb4406cfc507a90ff873d09cf376f1a [diff] |
[lld-link] Add /reproduce: support for several flags /reproduce: now works correctly with: - /call-graph-ordering-file: - /def: - /natvis: - /order: - /pdbstream: I went through all instances of MemoryBuffer::getFile() and made sure everything that didn't already do so called takeBuffer(). For natvis, that wasn't possible since DebugInfo/PDB wants to take owernship of the natvis buffer. For that case, I'm manually adding the tar file entry. /natvis: and /pdbstream: is slightly awkward, since createResponseFile() always adds these flags to the response file but createPDB() (which ultimately adds the files referenced by the flags) is only called if /debug is also passed. So when using /natvis: without /debug with /reproduce:, lld won't warn, but when linking using the response file from the archive, it won't find the natvis file since it's not in the tar. This isn't a new issue though, and after this patch things at least work with using /natvis: _with_ debug with /reproduce:. (Same for /pdbstream:) Differential Revison: https://reviews.llvm.org/D97212 GitOrigin-RevId: e6d1f261a5a08d4c05b25509a6f4217a8a1c2188
This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.
lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.
In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.
It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz
The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f
.