summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2014-02-26 16:09:54 +0000
committeremaste <emaste@FreeBSD.org>2014-02-26 16:09:54 +0000
commiteaac5257ea0c95c2633356bbc4e58c02b2436a5e (patch)
tree2051bbbd01801966a37ebc937a241c33ca0e6b79 /contrib/llvm/tools/lldb/source/Expression/Materializer.cpp
parentaf7c4f180d96b0bba7dc310bf6c5f36e292ad4b4 (diff)
parent6c70565c062addb40f7377f4097af94a515fc49d (diff)
downloadFreeBSD-src-eaac5257ea0c95c2633356bbc4e58c02b2436a5e.zip
FreeBSD-src-eaac5257ea0c95c2633356bbc4e58c02b2436a5e.tar.gz
Update LLDB snapshot to upstream r202189
Highlights include (upstream revs in parens): - Improvements to the remote GDB protocol client (r196610, r197579, r197857, r200072, and others) - Bug fixes for big-endian targets (r196808) - Initial support for libdispatch (GCD) queues in the debuggee (r197190) - Add "step-avoid-libraries" setting (r199943) - IO subsystem improvements (including initial work on a curses gui) (r200263) - Support hardware watchpoints on FreeBSD (r201706) - Improved unwinding through hand-written assembly functions (r201839) - Handle DW_TAG_unspecified_parameters for variadic functions (r202061) - Fix Ctrl+C interrupting a running inferior process (r202086, r202154) - Various bug fixes for memory leaks, LLDB segfaults, the C++ demangler, ELF core files, DWARF debug info, and others. Sponsored by: DARPA, AFRL
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Expression/Materializer.cpp')
-rw-r--r--contrib/llvm/tools/lldb/source/Expression/Materializer.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp b/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp
index 8731fbe..90687c0 100644
--- a/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp
+++ b/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp
@@ -461,7 +461,9 @@ public:
}
else
{
- lldb::addr_t addr_of_valobj = valobj_sp->GetAddressOf();
+ AddressType address_type = eAddressTypeInvalid;
+ const bool scalar_is_load_address = false;
+ lldb::addr_t addr_of_valobj = valobj_sp->GetAddressOf(scalar_is_load_address, &address_type);
if (addr_of_valobj != LLDB_INVALID_ADDRESS)
{
Error write_error;
@@ -503,6 +505,9 @@ public:
size_t bit_align = m_variable_sp->GetType()->GetClangLayoutType().GetTypeBitAlign();
size_t byte_align = (bit_align + 7) / 8;
+ if (!byte_align)
+ byte_align = 1;
+
Error alloc_error;
m_temporary_allocation = map.Malloc(data.GetByteSize(), byte_align, lldb::ePermissionsReadable | lldb::ePermissionsWritable, IRMemoryMap::eAllocationPolicyMirror, alloc_error);
@@ -739,6 +744,9 @@ public:
size_t bit_align = m_type.GetTypeBitAlign();
size_t byte_align = (bit_align + 7) / 8;
+ if (!byte_align)
+ byte_align = 1;
+
Error alloc_error;
m_temporary_allocation = map.Malloc(byte_size, byte_align, lldb::ePermissionsReadable | lldb::ePermissionsWritable, IRMemoryMap::eAllocationPolicyMirror, alloc_error);
OpenPOWER on IntegriCloud