llvm-project/lld/COFF
Zachary Turner 5bba1cafbe Better support for POSIX paths in PDBs.
This a resubmission of a patch which was previously reverted
due to breaking several lld tests.  The issues causing those
failures have been fixed, so the patch is now resubmitted.

---Original Commit Message---

While it doesn't make a *ton* of sense for POSIX paths to be
in PDBs, it's possible to occur in real scenarios involving
cross compilation.

The tools need to be able to handle this, because certain types
of debugging scenarios are possible without a running process
and so don't necessarily require you to be on a Windows system.
These include post-mortem debugging and binary forensics (e.g.
using a debugger to disassemble functions and examine symbols
without running the process).

There's changes in clang, LLD, and lldb in this patch.  After
this the cross-platform disassembly and source-list tests pass
on Linux.

Furthermore, the behavior of LLD can now be summarized by a much
simpler rule than before: Unless you specify /pdbsourcepath and
/pdbaltpath, the PDB ends up with paths that are valid within
the context of the machine that the link is performed on.

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

llvm-svn: 344377
2018-10-12 17:26:19 +00:00
..
CMakeLists.txt Merge {COFF,ELF}/Strings.cpp to Common/Strings.cpp. 2018-02-28 17:38:19 +00:00
Chunks.cpp [COFF] Add and use a Wordsize field in Config. NFCI. 2018-10-11 17:45:58 +00:00
Chunks.h [COFF] Add and use a Wordsize field in Config. NFCI. 2018-10-11 17:45:58 +00:00
Config.h [COFF] Add and use a Wordsize field in Config. NFCI. 2018-10-11 17:45:58 +00:00
DLL.cpp [COFF] Add and use a Wordsize field in Config. NFCI. 2018-10-11 17:45:58 +00:00
DLL.h [COFF] Support linking to import libraries from GNU binutils 2018-09-21 22:01:06 +00:00
Driver.cpp [COFF] Add and use a Wordsize field in Config. NFCI. 2018-10-11 17:45:58 +00:00
Driver.h [COFF] Look for libfoo.a if foo.lib is specified, for MinGW 2018-10-10 09:00:10 +00:00
DriverUtils.cpp Eliminate dependency to formatv(). NFC. 2018-10-11 00:58:00 +00:00
ICF.cpp [COFF] When doing automatic dll imports, replace whole .refptr.<var> chunks with __imp_<var> 2018-08-31 07:45:20 +00:00
ICF.h Consistent use of header file for ICF and MarkLive 2018-02-20 22:09:59 +00:00
InputFiles.cpp [COFF] Cope with GCC produced weak aliases referring to comdat functions 2018-10-05 19:43:16 +00:00
InputFiles.h COFF: Implement safe ICF on rodata using address-significance tables. 2018-08-23 17:44:42 +00:00
LTO.cpp Code cleanup in preparation for adding LTO for wasm. NFC. 2018-05-22 20:20:25 +00:00
LTO.h Code cleanup in preparation for adding LTO for wasm. NFC. 2018-05-22 20:20:25 +00:00
MapFile.cpp [COFF] Add support for creating range extension thunks for ARM 2018-09-25 10:59:29 +00:00
MapFile.h COFF: Change the /lldmap output format to be more like the ELF linker. 2017-01-14 03:14:46 +00:00
MarkLive.cpp [COFF] When doing automatic dll imports, replace whole .refptr.<var> chunks with __imp_<var> 2018-08-31 07:45:20 +00:00
MarkLive.h Consistent use of header file for ICF and MarkLive 2018-02-20 22:09:59 +00:00
MinGW.cpp [COFF] Don't do autoexport of symbols from GNU import libraries 2018-09-26 06:13:47 +00:00
MinGW.h [COFF] Don't do autoexport of symbols from GNU import libraries 2018-09-26 06:13:47 +00:00
Options.td [lld-link] Generalize handling of /debug and /debug:{none,full,fastlink,ghash,symtab} 2018-09-24 15:28:03 +00:00
PDB.cpp Better support for POSIX paths in PDBs. 2018-10-12 17:26:19 +00:00
PDB.h lld-link: Set PDB GUID to hash of PDB contents instead of to a random byte sequence. 2018-09-15 18:37:22 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
SymbolTable.cpp [COFF] Add and use a Wordsize field in Config. NFCI. 2018-10-11 17:45:58 +00:00
SymbolTable.h [COFF] don't mark lazy symbols as used in regular objects 2018-09-06 20:23:56 +00:00
Symbols.cpp [COFF] When doing automatic dll imports, replace whole .refptr.<var> chunks with __imp_<var> 2018-08-31 07:45:20 +00:00
Symbols.h [COFF] Allow automatic dllimport from gnu import libraries 2018-09-26 06:13:39 +00:00
Writer.cpp [LLD][COFF] Fix ordering of CRT global initializers in COMDAT sections 2018-10-05 12:56:46 +00:00
Writer.h [COFF] Add support for creating range extension thunks for ARM 2018-09-25 10:59:29 +00:00

README.md

See docs/NewLLD.rst