Author: nitesh.jain Date: Fri Nov 18 08:14:37 2016 New Revision: 287345 URL: http://llvm.org/viewvc/llvm-project?rev=287345&view=rev Log: Merging r283728: ------------------------------------------------------------------------ r283728 | nitesh.jain | 2016-10-10 14:32:41 +0530 (Mon, 10 Oct 2016) | 7 lines
[LLDB][MIPS] Fix register read/write for 32 bit big endian system Reviewers: clayborg, labath Subscribers: jaydeep, bhushan, mohit.bhakkad, slthakur, llvm-commits Differential Revision: https://reviews.llvm.org/D24124 ------------------------------------------------------------------------ Modified: lldb/branches/release_39/ (props changed) lldb/branches/release_39/source/Core/RegisterValue.cpp lldb/branches/release_39/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp Propchange: lldb/branches/release_39/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Nov 18 08:14:37 2016 @@ -1,3 +1,3 @@ /lldb/branches/apple/python-GIL:156467-162159 /lldb/branches/iohandler:198360-200250 -/lldb/trunk:277343,277426,277997,277999,278001 +/lldb/trunk:277343,277426,277997,277999,278001,283728 Modified: lldb/branches/release_39/source/Core/RegisterValue.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/branches/release_39/source/Core/RegisterValue.cpp?rev=287345&r1=287344&r2=287345&view=diff ============================================================================== --- lldb/branches/release_39/source/Core/RegisterValue.cpp (original) +++ lldb/branches/release_39/source/Core/RegisterValue.cpp Fri Nov 18 08:14:37 2016 @@ -652,34 +652,37 @@ RegisterValue::GetAsUInt32 (uint32_t fai uint64_t RegisterValue::GetAsUInt64 (uint64_t fail_value, bool *success_ptr) const { - if (success_ptr) - *success_ptr = true; - switch (m_type) - { - default: break; - case eTypeUInt8: - case eTypeUInt16: - case eTypeUInt32: - case eTypeUInt64: - case eTypeFloat: - case eTypeDouble: - case eTypeLongDouble: return m_scalar.ULongLong(fail_value); - case eTypeBytes: - { - switch (buffer.length) - { - default: break; - case 1: - case 2: - case 4: - case 8: return *(const uint64_t *)buffer.bytes; - } - } - break; + if (success_ptr) + *success_ptr = true; + switch (m_type) { + default: + break; + case eTypeUInt8: + case eTypeUInt16: + case eTypeUInt32: + case eTypeUInt64: + case eTypeFloat: + case eTypeDouble: + case eTypeLongDouble: + return m_scalar.ULongLong(fail_value); + case eTypeBytes: { + switch (buffer.length) { + default: + break; + case 1: + return *(const uint8_t *)buffer.bytes; + case 2: + return *(const uint16_t *)buffer.bytes; + case 4: + return *(const uint32_t *)buffer.bytes; + case 8: + return *(const uint64_t *)buffer.bytes; } - if (success_ptr) - *success_ptr = false; - return fail_value; + } break; + } + if (success_ptr) + *success_ptr = false; + return fail_value; } llvm::APInt Modified: lldb/branches/release_39/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/branches/release_39/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp?rev=287345&r1=287344&r2=287345&view=diff ============================================================================== --- lldb/branches/release_39/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp (original) +++ lldb/branches/release_39/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp Fri Nov 18 08:14:37 2016 @@ -180,8 +180,8 @@ NativeRegisterContextLinux::DoReadRegist PTRACE_PEEKUSER, m_thread.GetID(), reinterpret_cast<void *>(offset), nullptr, 0, &data); if (error.Success()) - // First cast to an unsigned of the same size to avoid sign extension. - value.SetUInt64(static_cast<unsigned long>(data)); + // First cast to an unsigned of the same size to avoid sign extension. + value.SetUInt(static_cast<unsigned long>(data), size); if (log) log->Printf ("NativeRegisterContextLinux::%s() reg %s: 0x%lx", __FUNCTION__, reg_name, data); _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits