llvm-project/lldb/source/Host/common
Zachary Turner 74e08ca05c Add support for reading line tables from PDB files.
PDB is Microsoft's debug information format, and although we
cannot yet generate it, we still must be able to consume it.
Reason for this is that debug information for system libraries
(e.g. kernel32, C Runtime Library, etc) only have debug info
in PDB format, so in order to be able to support debugging
of system code, we must support it.

Currently this code should compile on every platform, but on
non-Windows platforms the PDB plugin will return 0 capabilities,
meaning that for now PDB is only supported on Windows.  This
may change in the future, but the API is designed in such a way
that this will require few (if any) changes on the LLDB side.
In the future we can just flip a switch and everything will
work.

This patch only adds support for line tables.  It does not return
information about functions, types, global variables, or anything
else.  This functionality will be added in a followup patch.

Differential Revision: http://reviews.llvm.org/D17363
Reviewed by: Greg Clayton

llvm-svn: 262528
2016-03-02 22:05:52 +00:00
..
Condition.cpp cleanup unreferenced functions 2014-03-20 06:08:36 +00:00
Editline.cpp [Editline] Redesign automatic indentation fix command for robustness 2015-12-14 21:43:59 +00:00
File.cpp Fix a problem where we were not calling fcntl() with the correct arguments for F_DUPFD 2016-01-20 23:20:10 +00:00
FileCache.cpp Move FileSystem functions out of Host and into their own classes. 2014-08-15 22:04:21 +00:00
FileSpec.cpp Add support for reading line tables from PDB files. 2016-03-02 22:05:52 +00:00
FileSystem.cpp Add qModuleInfo request in order to get module information (uuid, triple,..) by module path from remote platform. 2015-02-25 22:15:44 +00:00
GetOptInc.cpp Move GetOptInc to the common namespace 2015-09-04 09:06:15 +00:00
Host.cpp Silence -Wqual-cast warnings from GCC 5.2 2015-10-18 19:34:38 +00:00
HostInfoBase.cpp Don't use an atexit handler for cleaning up the temp directory. 2016-02-19 19:20:44 +00:00
HostNativeThreadBase.cpp Fix up the HostThread interface, making the interface simpler. 2014-09-23 18:32:09 +00:00
HostProcess.cpp Create a process launcher abstraction. 2014-10-14 21:55:08 +00:00
HostThread.cpp Change HostThread::GetNativeThread() to return a derived reference. 2014-11-17 22:42:57 +00:00
IOObject.cpp Creates a socket host object. 2014-08-06 18:16:26 +00:00
LockFileBase.cpp Use file locks to synchronize access to ModuleCache. 2015-05-07 15:28:49 +00:00
MonitoringProcessLauncher.cpp Fix broken build after signature change of ResolveExecutable. 2014-11-17 21:30:58 +00:00
Mutex.cpp Disable mutex error checking so it doesn't create problems with the multi-threaded test case. The error would cause an assertion that could cause lldb to crash when unlocking a mutex returned an error because it was in use. 2015-07-23 23:32:08 +00:00
NativeBreakpoint.cpp Moving header files from source/Host/common to proper location. 2015-02-03 01:51:38 +00:00
NativeBreakpointList.cpp Remove trap code from disassembly. 2015-04-29 17:24:48 +00:00
NativeProcessProtocol.cpp [NativeProcessLinux] Integrate MainLoop 2015-07-21 13:20:32 +00:00
NativeRegisterContext.cpp [LLDB][MIPS] Handle false positives for MIPS hardware watchpoints 2015-08-13 03:44:09 +00:00
NativeRegisterContextRegisterInfo.cpp Moving header files from source/Host/common to proper location. 2015-02-03 01:51:38 +00:00
NativeThreadProtocol.cpp Moving header files from source/Host/common to proper location. 2015-02-03 01:51:38 +00:00
NativeWatchpointList.cpp Implement setting and clearing watchpoints. 2015-02-03 01:51:47 +00:00
OptionParser.cpp LLDB needs a mutex around getopt_long_only() function calls to avoid multi-threading option parsing issues. 2015-11-05 00:38:39 +00:00
PipeBase.cpp Revert "Add Pipe::WriteWithTimeout method" 2015-07-21 11:04:52 +00:00
ProcessRunLock.cpp MingW compilation (windows). Includes various refactoring to improve portability. 2013-08-23 12:44:05 +00:00
Socket.cpp Fix an off-by-one in SocketTest::DecodeHostAndPort 2016-02-03 11:12:23 +00:00
SocketAddress.cpp Fix all of the unannotated switch cases to annotate the fall through or do the right thing and break. 2016-02-26 01:20:20 +00:00
SoftwareBreakpoint.cpp Fix a variety of typos. 2015-06-18 05:27:05 +00:00
StringConvert.cpp Make the "lldb/Utility/JSON.h" able to parse JSON into tokens with the new JSONParser class. 2015-07-06 23:40:40 +00:00
Symbols.cpp Symbols::LocateExecutableSymbolFile() shouldn't try to look for files in /usr/lib/debug on Windows 2015-10-13 16:30:28 +00:00
TCPSocket.cpp Split Socket class into Tcp/Udp/DomainSocket subclasses. 2015-10-15 23:54:09 +00:00
Terminal.cpp Fix warnings generated by clang-cl. 2015-04-02 20:57:38 +00:00
ThisThread.cpp Simplify find_first_of & find_last_of on single char. 2015-09-01 23:57:17 +00:00
ThreadLauncher.cpp If lldb is being built with ASAN instrumentation, have lldb 2015-01-29 06:28:36 +00:00
TimeValue.cpp Various small changes for build of LLDB on Visual Studio 2013 RC (MSVC12) 2013-09-20 22:35:22 +00:00
UDPSocket.cpp We try to avoid static objects. These are on the error path for unsupported features 2016-02-02 00:21:39 +00:00
XML.cpp Fix warnings detected by -Wpessimizing-move 2015-07-28 09:18:32 +00:00