hanchenye-llvm-project/lldb
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
..
docs Spelling changes applied from lldb_spelling.diffs from Bruce Mitchener. 2011-01-08 20:28:42 +00:00
examples Modified to take advantage of the iteration protocol for our lldb container objects. 2011-04-28 23:26:17 +00:00
include Added functions to lldb_private::Address to set an address from a load address 2011-05-22 04:32:55 +00:00
lib Add the LanguageRuntime plugins to liblldb. Fixes link errors for me; if this 2011-05-19 23:53:23 +00:00
lldb.xcodeproj Added an allocated memory cache to avoid having to allocate memory over and 2011-05-17 03:37:42 +00:00
lldb.xcworkspace Adding a Xcode workspace for lldb. 2011-01-27 20:15:39 +00:00
resources Bumped Xcode project versions to lldb-46 and debugserver-131. 2011-01-29 07:14:26 +00:00
scripts Fixed an issue in GDBRemoteCommunicationClient where we weren't listening to 2011-05-20 03:15:54 +00:00
source Added functions to lldb_private::Address to set an address from a load address 2011-05-22 04:32:55 +00:00
test Add radar info. 2011-05-19 21:31:35 +00:00
tools Added functions to lldb_private::Address to set an address from a load address 2011-05-22 04:32:55 +00:00
utils Modified to take advantage of the iteration protocol for our lldb container objects. 2011-04-28 23:34:58 +00:00
www Reroute the blog link to the LLVM blog site. 2011-04-22 21:03:40 +00:00
INSTALL.txt You'll need to be running Mac OS X to get lldb to build right now. 2010-06-09 07:29:26 +00:00
LICENSE.TXT test commit 2010-06-09 03:55:24 +00:00
Makefile python-config in Makefiles 2011-05-19 23:09:48 +00:00