commit | 7a129246248fcb62046a6f0c693c8f6d3d3f3b8c | [log] [tgz] |
---|---|---|
author | Nico Weber <nicolasweber@gmx.de> | Thu Feb 14 03:16:44 2019 +0000 |
committer | Nico Weber <nicolasweber@gmx.de> | Thu Feb 14 03:16:44 2019 +0000 |
tree | 8c3836368eec39cad50125c695cbf4aee8ac6d67 | |
parent | 14aa57da0f92683f0b8bdac0acda485a6f73edc7 [diff] |
lld/coff: Simplify error message for comdat selection mismatches Turns out nobody understands what "conflicting comdat type" is supposed to mean, so just emit a regular "duplicate symbol" error and move the comdat selection information into /verbose output. This also fixes a problem where the error output would depend on the order of .obj files passed. Before this patch: - If passed `one_only.obj discard.obj`, lld-link would only err "conflicting comdat type" - If passed `discard.obj one_only.obj`, lld-link would err "conflicting comdat type" and then "duplicate symbol" Now lld-link only errs "duplicate symbol" in both cases. I considered adding a "Detail" parameter to reportDuplicate() that's printed in parens at the end of the "duplicate symbol" diag if present, and then put the comdat selection mismatch details there, but since users don't know what it's supposed to mean decided against it. I also considered special-casing the Detail message for one_only/discard mismatches, which in practice means "function defined as inline in TU 1 but as out-of-line in TU 2", but I wasn't sure how useful it is so I omitted that too. Differential Revision: https://reviews.llvm.org/D58180 git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@354006 91177308-0d34-0410-b5e6-96231b3b80d8
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.