hanchenye-llvm-project/lld/COFF
Nico Weber 9c0716f116 ld.lld: Demangle symbols from archives in diagnostics
This ports r366573 from COFF to ELF.

There are now to toString(Archive::Symbol), one doing MSVC demangling
in COFF and one doing Itanium demangling in ELF, so rename these two
to toCOFFString() and to toELFString() to not get a duplicate symbol.

Nothing ever passes a raw Archive::Symbol to CHECK(), so these not
being part of the normal toString() machinery seems ok.

There are two code paths in the ELF linker that emits this type of
diagnostic:

1. The "normal" one in InputFiles.cpp. This is covered by the tweaked test.

2. An additional one that's only used for libcalls if there's at least
   one bitcode in the link, and if the libcall symbol is lazy, and
   lazily loaded from an archive (i.e. not from a lazy .o file).
   (This code path was added in r339301.) Since all libcall names so far
   are C symbols and never mangled, the change there is not observable
   and hence not covered by tests.

Differential Revision: https://reviews.llvm.org/D65095

llvm-svn: 366836
2019-07-23 19:00:01 +00:00
..
CMakeLists.txt [LLD][COFF] Early dependency detection 2019-04-01 13:36:59 +00:00
Chunks.cpp [COFF] Rename variale references in comments after VariableName -> variableName change 2019-07-16 08:26:38 +00:00
Chunks.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
Config.h [COFF] Implement /safeseh:no and check @feat.00 flags by default 2019-07-16 18:17:33 +00:00
DLL.cpp [COFF] Rename variale references in comments after VariableName -> variableName change 2019-07-16 08:26:38 +00:00
DLL.h [COFF] Share the tail in delayimport symbol thunks 2019-07-11 21:19:11 +00:00
DebugTypes.cpp [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
DebugTypes.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
Driver.cpp ld.lld: Demangle symbols from archives in diagnostics 2019-07-23 19:00:01 +00:00
Driver.h lld-link: Demangle symbols from archives in diagnostics 2019-07-19 13:29:10 +00:00
DriverUtils.cpp [COFF] Rename variale references in comments after VariableName -> variableName change 2019-07-16 08:26:38 +00:00
ICF.cpp [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
ICF.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
InputFiles.cpp ld.lld: Demangle symbols from archives in diagnostics 2019-07-23 19:00:01 +00:00
InputFiles.h lld-link: Demangle symbols from archives in diagnostics 2019-07-19 13:29:10 +00:00
LTO.cpp [lld-link] implement -thinlto-{prefix,object-suffix}-replace 2019-07-11 18:48:58 +00:00
LTO.h [lld-link] implement -thinlto-index-only 2019-07-11 18:03:14 +00:00
MapFile.cpp Update comments for r365730. NFC. 2019-07-11 06:08:54 +00:00
MapFile.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
MarkLive.cpp Fix odd variable names. 2019-07-12 06:12:27 +00:00
MarkLive.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
MinGW.cpp [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
MinGW.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
Options.td [lld-link] implement -thinlto-{prefix,object-suffix}-replace 2019-07-11 18:48:58 +00:00
PDB.cpp [COFF] Rename variale references in comments after VariableName -> variableName change 2019-07-16 08:26:38 +00:00
PDB.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
README.md
SymbolTable.cpp lld-link: Demangle symbols from archives in diagnostics 2019-07-19 13:29:10 +00:00
SymbolTable.h lld-link: Demangle symbols from archives in diagnostics 2019-07-19 13:29:10 +00:00
Symbols.cpp ld.lld: Demangle symbols from archives in diagnostics 2019-07-23 19:00:01 +00:00
Symbols.h ld.lld: Demangle symbols from archives in diagnostics 2019-07-23 19:00:01 +00:00
TypeMerger.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
Writer.cpp [COFF] Unbreak sorting of mingw comdat .tls sections after SVN r363457 2019-07-23 06:38:04 +00:00
Writer.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00

README.md

See docs/NewLLD.rst