commit | 133aa00fca6fdd1b168c8ef5e236784ec155c98c | [log] [tgz] |
---|---|---|
author | Martin Storsjo <martin@martin.st> | Fri Oct 18 10:43:15 2019 +0000 |
committer | Martin Storsjo <martin@martin.st> | Fri Oct 18 10:43:15 2019 +0000 |
tree | 866c924dbfdbc4bd5025e59bcd5f61b62c4dd919 | |
parent | 46510801b1abf1f3e3451e79534cc6b62514f215 [diff] |
[LLD] [COFF] Try to report source locations for duplicate symbols This fixes the second part of PR42407. For files with dwarf debug info, it manually loads and iterates .debug_info to find the declared location of variables, to allow reporting them. (This matches the corresponding code in the ELF linker.) For functions, it uses the existing getFileLineDwarf which uses LLVMSymbolizer for translating addresses to file lines. In object files with codeview debug info, only the source location of duplicate functions is printed. (And even there, only for the first input file. The getFileLineCodeView function requires the object file to be fully loaded and initialized to properly resolve source locations, but duplicate symbols are reported at a stage when the second object file isn't fully loaded yet.) Differential Revision: https://reviews.llvm.org/D68975 git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@375218 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.