diff options
author | emaste <emaste@FreeBSD.org> | 2014-02-18 19:52:51 +0000 |
---|---|---|
committer | emaste <emaste@FreeBSD.org> | 2014-02-18 19:52:51 +0000 |
commit | f5e6858941423ebbd5f369ae041fdd8ae1ff404d (patch) | |
tree | 4b7112f641e225f50ba2fb8b4053a0f56c45662f /contrib/llvm/tools/lldb/source/Expression/Materializer.cpp | |
parent | dc56a06bc6654ce03ea11356a755fbdcae2b7608 (diff) | |
parent | 6beac4fcf9e5327f07c0fefd527180124438096a (diff) | |
download | FreeBSD-src-f5e6858941423ebbd5f369ae041fdd8ae1ff404d.zip FreeBSD-src-f5e6858941423ebbd5f369ae041fdd8ae1ff404d.tar.gz |
Update LLDB snapshot to upstream r201577
Highlights include:
- Improvements to the remote GDB protocol client
(r196610, r197579, r197857, r200072)
- 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)
- 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.cpp | 10 |
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); |