llvm-project/lldb
Greg Clayton f3ef3d2af9 Added new lldb_private::Process memory read/write functions to stop a bunch
of duplicated code from appearing all over LLDB:

lldb::addr_t
Process::ReadPointerFromMemory (lldb::addr_t vm_addr, Error &error);

bool
Process::WritePointerToMemory (lldb::addr_t vm_addr, lldb::addr_t ptr_value, Error &error);

size_t
Process::ReadScalarIntegerFromMemory (lldb::addr_t addr, uint32_t byte_size, bool is_signed, Scalar &scalar, Error &error);

size_t
Process::WriteScalarToMemory (lldb::addr_t vm_addr, const Scalar &scalar, uint32_t size, Error &error);

in lldb_private::Process the following functions were renamed:

From:
uint64_t
Process::ReadUnsignedInteger (lldb::addr_t load_addr, 
                              size_t byte_size,
                              Error &error);

To:
uint64_t
Process::ReadUnsignedIntegerFromMemory (lldb::addr_t load_addr, 
                                        size_t byte_size,
                                        uint64_t fail_value, 
                                        Error &error);

Cleaned up a lot of code that was manually doing what the above functions do
to use the functions listed above.

Added the ability to get a scalar value as a buffer that can be written down
to a process (byte swapping the Scalar value if needed):

uint32_t 
Scalar::GetAsMemoryData (void *dst,
                        uint32_t dst_len, 
                        lldb::ByteOrder dst_byte_order,
                        Error &error) const;

The "dst_len" can be smaller that the size of the scalar and the least 
significant bytes will be written. "dst_len" can also be larger and the
most significant bytes will be padded with zeroes. 

Centralized the code that adds or removes address bits for callable and opcode
addresses into lldb_private::Target:

lldb::addr_t
Target::GetCallableLoadAddress (lldb::addr_t load_addr, AddressClass addr_class) const;

lldb::addr_t
Target::GetOpcodeLoadAddress (lldb::addr_t load_addr, AddressClass addr_class) const;

All necessary lldb_private::Address functions now use the target versions so
changes should only need to happen in one place if anything needs updating.

Fixed up a lot of places that were calling :

addr_t
Address::GetLoadAddress(Target*);

to call the Address::GetCallableLoadAddress() or Address::GetOpcodeLoadAddress()
as needed. There were many places in the breakpoint code where things could
go wrong for ARM if these weren't used.

llvm-svn: 131878
2011-05-22 22:46:53 +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 new lldb_private::Process memory read/write functions to stop a bunch 2011-05-22 22:46:53 +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 new lldb_private::Process memory read/write functions to stop a bunch 2011-05-22 22:46:53 +00:00
test Change the command 'breakpoint command remove' to 'breakpoint command delete', 2011-05-22 07:14:46 +00:00
tools Added new lldb_private::Process memory read/write functions to stop a bunch 2011-05-22 22:46:53 +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