hanchenye-llvm-project/lldb/source/Core
Greg Clayton cff851ab33 Added functions to lldb_private::Address to set an address from a load address
and set the address as an opcode address or as a callable address. This is
needed in various places in the thread plans to make sure that addresses that
might be found in symbols or runtime might already have extra bits set (ARM/Thumb).
The new functions are:

bool
Address::SetCallableLoadAddress (lldb::addr_t load_addr, Target *target);

bool
Address::SetOpcodeLoadAddress (lldb::addr_t load_addr, Target *target);

SetCallableLoadAddress will initialize a section offset address if it can,
and if so it might possibly set some bits in the address to make the address
callable (bit zero might get set for ARM for Thumb functions).

SetOpcodeLoadAddress will initialize a section offset address using the
specified target and it will strip any special address bits if needed 
depending on the target.

Fixed the ABIMacOSX_arm::GetArgumentValues() function to require arguments
1-4 to be in the needed registers (previously this would incorrectly fallback
to the stack) and return false if unable to get the register values. The
function was also modified to first look for the generic argument registers
and then fall back to finding the registers by name.

Fixed the objective trampoline handler to use the new Address::SetOpcodeLoadAddress
function when needed to avoid address mismatches when trying to complete 
steps into objective C methods. Make similar fixes inside the
AppleThreadPlanStepThroughObjCTrampoline::ShouldStop() function.

Modified ProcessGDBRemote::BuildDynamicRegisterInfo(...) to be able to deal with
the new generic argument registers.

Modified RNBRemote::HandlePacket_qRegisterInfo() to handle the new generic
argument registers on the debugserver side.

Modified DNBArchMachARM::NumSupportedHardwareBreakpoints() to be able to 
detect how many hardware breakpoint registers there are using a darwin sysctl.
Did the same for hardware watchpoints in 
DNBArchMachARM::NumSupportedHardwareWatchpoints().

llvm-svn: 131834
2011-05-22 04:32:55 +00:00
..
Address.cpp Added functions to lldb_private::Address to set an address from a load address 2011-05-22 04:32:55 +00:00
AddressRange.cpp Made lldb_private::ArchSpec contain much more than just an architecture. It 2011-02-15 21:59:32 +00:00
AddressResolver.cpp
AddressResolverFileLine.cpp Added a new option to the "source list" command that allows us to see where 2011-04-19 04:19:37 +00:00
AddressResolverName.cpp Changed the SymbolFile::FindFunction() function calls to only return 2011-01-27 06:44:37 +00:00
ArchSpec.cpp Added auto completion for architecture names and for platforms. 2011-04-13 22:47:15 +00:00
Baton.cpp
Broadcaster.cpp Fixed a crasher when enabling logging that is due to the new hijack listener stack changes. 2011-02-10 06:51:22 +00:00
Communication.cpp Added the ability to get a broadcaster event name for a given broadcaster 2011-04-01 00:29:43 +00:00
Connection.cpp
ConnectionFileDescriptor.cpp Added the ability to sign extend a Scalar at any bit position for integer 2011-05-19 00:17:26 +00:00
ConnectionMachPort.cpp Added a speed test to the GDBRemoteCommunicationClient and 2011-04-04 18:18:57 +00:00
ConnectionSharedMemory.cpp Added a speed test to the GDBRemoteCommunicationClient and 2011-04-04 18:18:57 +00:00
ConstString.cpp Made many ConstString functions inlined in the header file. 2010-10-15 22:48:33 +00:00
DataBufferHeap.cpp
DataBufferMemoryMap.cpp Add missing headers. 2011-04-08 13:36:44 +00:00
DataExtractor.cpp While implementing unwind information using UnwindAssemblyInstEmulation I ran 2011-05-09 20:18:18 +00:00
Debugger.cpp Added generic register numbers for simple ABI argument registers and defined 2011-05-15 04:12:07 +00:00
Disassembler.cpp While implementing unwind information using UnwindAssemblyInstEmulation I ran 2011-05-09 20:18:18 +00:00
DynamicLoader.cpp The DynamicLoader plug-in instance now lives up in lldb_private::Process where 2011-02-16 04:46:07 +00:00
EmulateInstruction.cpp Added generic register numbers for simple ABI argument registers and defined 2011-05-15 04:12:07 +00:00
Error.cpp LLDB now has "Platform" plug-ins. Platform plug-ins are plug-ins that provide 2011-03-08 22:40:15 +00:00
Event.cpp This patch captures and serializes all output being written by the 2011-05-02 20:41:46 +00:00
FileLineResolver.cpp Added a new option to the "source list" command that allows us to see where 2011-04-19 04:19:37 +00:00
FileSpecList.cpp
InputReader.cpp This patch captures and serializes all output being written by the 2011-05-02 20:41:46 +00:00
Language.cpp Created lldb::LanguageType by moving an enumeration from the 2010-07-28 02:04:09 +00:00
Listener.cpp Modified all logging calls to hand out shared pointers to make sure we 2010-11-06 01:53:30 +00:00
Log.cpp Added auto completion for architecture names and for platforms. 2011-04-13 22:47:15 +00:00
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
Mangled.cpp Did some work on the "register read" command to only show the first register 2011-04-22 03:55:06 +00:00
Module.cpp FindFunctions was skipping the include_symbols section if it found a SymbolVendor. 2011-05-18 05:02:10 +00:00
ModuleChild.cpp
ModuleList.cpp Moved the execution context that was in the Debugger into 2011-04-12 05:54:46 +00:00
Opcode.cpp Added the ability to get the min and max instruction byte size for 2011-03-26 19:14:58 +00:00
PluginManager.cpp Moved all code from ArchDefaultUnwindPlan and ArchVolatileRegs into their 2011-05-11 18:39:18 +00:00
RegisterValue.cpp Added a way to resolve an load address from a target: 2011-05-18 01:58:14 +00:00
RegularExpression.cpp Improved our argument parsing abilities to be able to handle stuff more like 2010-12-19 03:41:24 +00:00
Scalar.cpp Fixed an issue with the sign extend code so it uses the correct m_data member. 2011-05-19 00:55:50 +00:00
SearchFilter.cpp Added a new option to the "source list" command that allows us to see where 2011-04-19 04:19:37 +00:00
Section.cpp Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
SourceManager.cpp Fixed the SymbolContext::DumpStopContext() to correctly indent and dump 2011-04-23 02:04:55 +00:00
State.cpp Added an allocated memory cache to avoid having to allocate memory over and 2011-05-17 03:37:42 +00:00
Stream.cpp Use Host::File in lldb_private::StreamFile and other places to cleanup host 2011-02-09 01:08:52 +00:00
StreamAsynchronousIO.cpp This patch captures and serializes all output being written by the 2011-05-02 20:41:46 +00:00
StreamFile.cpp Use Host::File in lldb_private::StreamFile and other places to cleanup host 2011-02-09 01:08:52 +00:00
StreamString.cpp
StringList.cpp Declare some const functions as const. 2011-03-11 01:48:52 +00:00
Timer.cpp Added a setting to "log timer" so you can see the incremental timings as well: 2010-11-04 23:19:21 +00:00
UUID.cpp Header patch, virtual dtor patch and missed UUID patch from Kirk Beitz. 2011-02-05 02:56:16 +00:00
UserID.cpp Move trivial parts of UserID into the header. 2010-06-22 10:44:12 +00:00
UserSettingsController.cpp Fixed the SymbolContext::DumpStopContext() to correctly indent and dump 2011-04-23 02:04:55 +00:00
VMRange.cpp Added support for inlined stack frames being represented as real stack frames 2010-08-24 00:45:41 +00:00
Value.cpp Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
ValueObject.cpp Fix an unitialized pointer in ValueObject::CreateChildAtIndex. 2011-05-07 00:10:58 +00:00
ValueObjectChild.cpp Add support for "dynamic values" for C++ classes. This currently only works for "frame var" and for the 2011-04-16 00:01:13 +00:00
ValueObjectConstResult.cpp Fix up how the ValueObjects manage their life cycle so that you can hand out a shared 2011-04-22 23:53:53 +00:00
ValueObjectDynamicValue.cpp Change "frame var" over to using OptionGroups (and thus the OptionGroupVariableObjectDisplay). 2011-05-04 03:43:18 +00:00
ValueObjectList.cpp StackFrame objects now own ValueObjects for any frame variables (locals, args, 2010-09-02 02:59:18 +00:00
ValueObjectMemory.cpp Added a new OptionValue subclass for lldb::Format: OptionValueFormat. Added 2011-04-27 22:04:39 +00:00
ValueObjectRegister.cpp While implementing unwind information using UnwindAssemblyInstEmulation I ran 2011-05-09 20:18:18 +00:00
ValueObjectVariable.cpp Fix up how the ValueObjects manage their life cycle so that you can hand out a shared 2011-04-22 23:53:53 +00:00