Author: hans Date: Tue Aug 25 11:18:32 2015 New Revision: 245947 URL: http://llvm.org/viewvc/llvm-project?rev=245947&view=rev Log: Merging r245927: ------------------------------------------------------------------------ r245927 | slthakur | 2015-08-25 02:52:59 -0700 (Tue, 25 Aug 2015) | 9 lines
Fix build on mips Setting and getting register values as bytes instead of depending on the 128 bit integer support in register value. This patch will fix the build failure in the release branch. Reviewers: tberghammer, clayborg, hans Subscribers: bhushan, nitesh.jain, jaydeep, lldb-commits Differential: http://reviews.llvm.org/D12275 ------------------------------------------------------------------------ Modified: lldb/branches/release_37/ (props changed) lldb/branches/release_37/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp Propchange: lldb/branches/release_37/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Aug 25 11:18:32 2015 @@ -1,3 +1,3 @@ /lldb/branches/apple/python-GIL:156467-162159 /lldb/branches/iohandler:198360-200250 -/lldb/trunk:242306,242381,242525,242529,243091,243618,244006,244864-244866,245217 +/lldb/trunk:242306,242381,242525,242529,243091,243618,244006,244864-244866,245217,245927 Modified: lldb/branches/release_37/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/branches/release_37/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp?rev=245947&r1=245946&r2=245947&view=diff ============================================================================== --- lldb/branches/release_37/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp (original) +++ lldb/branches/release_37/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp Tue Aug 25 11:18:32 2015 @@ -584,7 +584,6 @@ NativeRegisterContextLinux_mips64::ReadR if (IsMSA(reg) || IsFPR(reg)) { uint8_t *src; - type128 int128; error = ReadCP1(); @@ -604,9 +603,6 @@ NativeRegisterContextLinux_mips64::ReadR assert (reg_info->byte_offset < sizeof(UserArea)); src = (uint8_t *)&m_msa + reg_info->byte_offset - (sizeof(m_gpr) + sizeof(m_fpr)); } - int128.x[0] = *(uint64_t *)src; - int128.x[1] = *(uint64_t *)(src + 8); - llvm::APInt rhs = llvm::APInt(128, 2, int128.x); switch (reg_info->byte_size) { case 4: @@ -616,7 +612,7 @@ NativeRegisterContextLinux_mips64::ReadR reg_value.SetUInt64(*(uint64_t *)src); break; case 16: - reg_value.SetUInt128(rhs); + reg_value.SetBytes((const void *)src, 16, GetByteOrder()); break; default: assert(false && "Unhandled data size."); @@ -660,7 +656,7 @@ NativeRegisterContextLinux_mips64::Write if (IsFPR(reg_index) || IsMSA(reg_index)) { uint8_t *dst; - const uint64_t *src; + uint64_t *src; // Initialise the FP and MSA buffers by reading all co-processor 1 registers ReadCP1(); @@ -675,8 +671,6 @@ NativeRegisterContextLinux_mips64::Write assert (reg_info->byte_offset < sizeof(UserArea)); dst = (uint8_t *)&m_msa + reg_info->byte_offset - (sizeof(m_gpr) + sizeof(m_fpr)); } - llvm::APInt lhs; - llvm::APInt fail_value = llvm::APInt::getMaxValue(128); switch (reg_info->byte_size) { case 4: @@ -686,8 +680,7 @@ NativeRegisterContextLinux_mips64::Write *(uint64_t *)dst = reg_value.GetAsUInt64(); break; case 16: - lhs = reg_value.GetAsUInt128(fail_value); - src = lhs.getRawData(); + src = (uint64_t *)reg_value.GetBytes(); *(uint64_t *)dst = *src; *(uint64_t *)(dst + 8) = *(src + 1); break; _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits