summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2014-07-30 18:34:58 +0000
committerGreg Clayton <gclayton@apple.com>2014-07-30 18:34:58 +0000
commit4d04309b91af65c078bef2d89fde1a90631c9cd7 (patch)
tree6c39c12680fa98f49f73bf24f4cb3e7510fbbc50
parent4fc09b36de0fb3c4a99e7ea9adc9af0a03ed14ee (diff)
downloadbcm5719-llvm-4d04309b91af65c078bef2d89fde1a90631c9cd7.tar.gz
bcm5719-llvm-4d04309b91af65c078bef2d89fde1a90631c9cd7.zip
Use Process::ReadMemoryFromPointer() instead of manually reading the pointer.
llvm-svn: 214323
-rw-r--r--lldb/source/Expression/DWARFExpression.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/lldb/source/Expression/DWARFExpression.cpp b/lldb/source/Expression/DWARFExpression.cpp
index e3e3bb35367..e105ce87a53 100644
--- a/lldb/source/Expression/DWARFExpression.cpp
+++ b/lldb/source/Expression/DWARFExpression.cpp
@@ -1456,14 +1456,11 @@ DWARFExpression::Evaluate
if (process)
{
lldb::addr_t pointer_addr = stack.back().GetScalar().ULongLong(LLDB_INVALID_ADDRESS);
- uint8_t addr_bytes[sizeof(lldb::addr_t)];
- uint32_t addr_size = process->GetAddressByteSize();
Error error;
- if (process->ReadMemory(pointer_addr, &addr_bytes, addr_size, error) == addr_size)
+ lldb:addr_t pointer_value = process->ReadPointerFromMemory(pointer_addr, error);
+ if (pointer_value != LLDB_INVALID_ADDRESS)
{
- DataExtractor addr_data(addr_bytes, sizeof(addr_bytes), process->GetByteOrder(), addr_size);
- lldb::offset_t addr_data_offset = 0;
- stack.back().GetScalar() = addr_data.GetPointer(&addr_data_offset);
+ stack.back().GetScalar() = pointer_value;
stack.back().ClearContext();
}
else
OpenPOWER on IntegriCloud