hanchenye-llvm-project/lldb/source/Core
Jason Molenda 20eb31b907 Add a new Section::SetFileAddress method to change a Section's file
address.

When loading a dSYM, and the file addresses of the dSYM Sections are
different than the executable binary Sections' file addresses, the
debug info won't be remapped to the actual load addresses correctly.
This only happens with binaries on the in-memory shared cache binaries
where their File addresses have been set to their actual load address
(outside an offset value) whereas the original executable and dSYM
have 0-based File addresses.

I think this patch will not be activated for other cases -- this is
the only case we know of where the dSYM and the executable's File
addresses differ -- but if this causes other problems we can restrict
it more carefully.

<rdar://problem/12335086> 

llvm-svn: 188532
2013-08-16 03:20:42 +00:00
..
Address.cpp Split symbol support for ELF and Linux. 2013-07-01 19:45:50 +00:00
AddressRange.cpp
AddressResolver.cpp
AddressResolverFileLine.cpp <rdar://problem/13521159> 2013-03-27 23:08:40 +00:00
AddressResolverName.cpp <rdar://problem/11398407> 2013-05-18 00:11:21 +00:00
ArchSpec.cpp Change PowerPC to have the correct byte order. 2013-08-12 18:34:04 +00:00
Baton.cpp
Broadcaster.cpp <rdar://problem/13521159> 2013-03-27 23:08:40 +00:00
CMakeLists.txt Remove lldb's custom copy of the C++ demangler, used only on Mac 2013-07-03 04:52:51 +00:00
Communication.cpp Prevent race in when stopping a "read thread" 2013-06-27 21:19:30 +00:00
Connection.cpp
ConnectionFileDescriptor.cpp Use canonical termios.h location 2013-06-24 15:03:16 +00:00
ConnectionMachPort.cpp
ConnectionSharedMemory.cpp
ConstString.cpp <rdar://problem/13069948> 2013-01-25 18:06:21 +00:00
DataBufferHeap.cpp <rdar://problem/14521548> 2013-07-24 18:17:35 +00:00
DataBufferMemoryMap.cpp Cleanup logging to use the new "std::string FileSpec::GetPath()" function. Also added a similar function for modules: 2013-04-29 17:25:54 +00:00
DataEncoder.cpp Fixed the ValidOffsetForDataOfSize() to use simpler logic. Fixed DataExtractor::BytesLeft() to return the correct value. 2013-03-21 00:29:45 +00:00
DataExtractor.cpp The DisassemblerLLVMC has a retain cycle - the InstructionLLVMC's contained in its instruction 2013-07-31 02:19:15 +00:00
Debugger.cpp Add format specifiers to various format ids so we can print thread ids in decimal on Linux and FreeBSD. 2013-07-30 16:44:36 +00:00
Disassembler.cpp The DisassemblerLLVMC has a retain cycle - the InstructionLLVMC's contained in its instruction 2013-07-31 02:19:15 +00:00
DynamicLoader.cpp <rdar://problem/13854277> 2013-05-10 21:47:16 +00:00
EmulateInstruction.cpp <rdar://problem/13854277> 2013-05-10 21:47:16 +00:00
Error.cpp Don't retry the Connect when starting up debugserver if the reason for the previous failure was 2013-06-07 22:09:53 +00:00
Event.cpp
FileLineResolver.cpp Cleanup logging to use the new "std::string FileSpec::GetPath()" function. Also added a similar function for modules: 2013-04-29 17:25:54 +00:00
FileSpecList.cpp <rdar://problem/13069948> 2013-01-25 18:06:21 +00:00
History.cpp
InputReader.cpp
InputReaderEZ.cpp
InputReaderStack.cpp
Language.cpp
Listener.cpp Sort out a number of mismatched integer types in order to cut down the number of compiler warnings. 2013-06-19 19:04:53 +00:00
Log.cpp <rdar://problem/13854277> 2013-05-10 21:47:16 +00:00
Makefile Remove lldb's custom copy of the C++ demangler, used only on Mac 2013-07-03 04:52:51 +00:00
Mangled.cpp Remove lldb's custom copy of the C++ demangler, used only on Mac 2013-07-03 04:52:51 +00:00
Module.cpp When adding a dSYM file, don't remove all sections for the Module's object file if the symbol vendor used the same object file. 2013-08-13 16:46:35 +00:00
ModuleChild.cpp
ModuleList.cpp <rdar://problem/14717184> 2013-08-13 01:42:25 +00:00
Opcode.cpp
PluginManager.cpp simple plugin now works with Linux fix assert in SetPluginInfo implement Linux ePathTypeLLDBSystemPlugins and ePathTypeLLDBUserPlugins implement Linux Host::Backtrace and Host::GetEnvironment add .gnu_debugdata comment 2013-07-17 00:26:30 +00:00
RegisterValue.cpp RegisterValues can now report their contents as 2013-04-30 21:41:44 +00:00
RegularExpression.cpp <rdar://problem/13966084> 2013-05-23 20:27:15 +00:00
Scalar.cpp Check for division by zero when performing modulus 2013-08-08 17:57:00 +00:00
SearchFilter.cpp Make the "SearchFilterByModuleListAndCU" work correctly for searches at the CompUnit 2013-06-07 01:13:00 +00:00
Section.cpp Add a new Section::SetFileAddress method to change a Section's file 2013-08-16 03:20:42 +00:00
SourceManager.cpp <rdar://problem/13443931> 2013-03-19 00:20:55 +00:00
State.cpp
Stream.cpp <rdar://problem/13069948> 2013-01-25 18:06:21 +00:00
StreamAsynchronousIO.cpp After discussing with Chris Lattner, we require C++11, so lets get rid of the macros and just use C++11. 2013-04-18 22:45:39 +00:00
StreamCallback.cpp <rdar://problem/13069948> 2013-01-25 18:06:21 +00:00
StreamFile.cpp <rdar://problem/13069948> 2013-01-25 18:06:21 +00:00
StreamString.cpp <rdar://problem/13069948> 2013-01-25 18:06:21 +00:00
StringList.cpp Sort out a number of mismatched integer types in order to cut down the number of compiler warnings. 2013-06-19 19:04:53 +00:00
Timer.cpp <rdar://problem/12978143> 2013-01-28 23:47:25 +00:00
UUID.cpp Added a way to extract the module specifications from a file. A module specification is information that is required to describe a module (executable, shared library, object file, ect). This information includes host path, platform path (remote path), symbol file path, UUID, object name (for objects in .a files for example you could have an object name of "foo.o"), and target triple. Module specification can be used to create a module, or used to add a module to a target. A list of module specifications can be used to enumerate objects in container objects (like universal mach files and BSD archive files). 2013-07-08 22:22:41 +00:00
UserID.cpp Implemented a types.py module that allows types to be inspected for padding. 2013-06-19 21:50:28 +00:00
UserSettingsController.cpp
VMRange.cpp <rdar://problem/13069948> 2013-01-25 18:06:21 +00:00
Value.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00
ValueObject.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00
ValueObjectCast.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00
ValueObjectChild.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00
ValueObjectConstResult.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00
ValueObjectConstResultChild.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00
ValueObjectConstResultImpl.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00
ValueObjectDynamicValue.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00
ValueObjectList.cpp <rdar://problem/13069948> 2013-01-25 18:06:21 +00:00
ValueObjectMemory.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00
ValueObjectRegister.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00
ValueObjectSyntheticFilter.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00
ValueObjectVariable.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00