llvm-project/lld/test
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
..
COFF [test] Fix the test from the previous commit when run on windows. NFC. 2019-07-23 07:28:23 +00:00
Driver/Inputs
ELF ld.lld: Demangle symbols from archives in diagnostics 2019-07-23 19:00:01 +00:00
MinGW [MinGW] Support the --subsystem=val option in joined form 2019-06-14 17:50:39 +00:00
Unit [lit] Rename lld and clang lit configs to end in .py 2017-09-21 17:38:13 +00:00
darwin [Darwin] Do not error on '-lto_library' option 2018-06-13 18:59:14 +00:00
mach-o [test] Change llvm-readobj -long-option to --long-option or well-known short options. NFC 2019-05-01 05:49:01 +00:00
wasm [WebAssembly] Compute and export TLS block alignment 2019-07-19 23:34:16 +00:00
CMakeLists.txt lld-link: Reject more than one resource .obj file 2019-06-11 15:22:28 +00:00
lit.cfg.py ELF: Change FileSize back to a uint64_t. 2019-03-01 18:53:41 +00:00
lit.site.cfg.py.in ELF: Change FileSize back to a uint64_t. 2019-03-01 18:53:41 +00:00