[Lldb-commits] [lldb] r262041 - Fix bug with register values byte order in expression evaluation.

Todd Fiala via lldb-commits lldb-commits at lists.llvm.org
Sat Feb 27 15:14:26 PST 2016


Hi all,

The new assert was failing on the OS X testbot here:
http://lab.llvm.org:8080/green/job/lldb_build_test/

The nag mail didn't make it to you since we have it only fire on the
transition from good build to bad build, and Tamas had the privilege of
earning that with a minor Xcode breakage just shortly before this issue
showed up.  However, that bot as been broken since this change went in.

I reverted it in r262156.

Feel free to reapply if you have a suggested fix for the test failure
introduced.

Thanks!

-Todd

On Fri, Feb 26, 2016 at 12:08 PM, Chaoren Lin via lldb-commits <
lldb-commits at lists.llvm.org> wrote:

> Hmm. Weird. That assert is failing on Linux:
> http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/11833
>
> On Fri, Feb 26, 2016 at 9:40 AM, Aidan Dodds via lldb-commits <
> lldb-commits at lists.llvm.org> wrote:
>
>> Author: aidandodds
>> Date: Fri Feb 26 11:40:50 2016
>> New Revision: 262041
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=262041&view=rev
>> Log:
>> Fix bug with register values byte order in expression evaluation.
>>
>> The evaluation of expressions containing register values was broken for
>> targets for which endianness differs from host.
>>
>> Committed on behalf of: mamai <marianne.mailhot.sarrasin at gmail.com>
>>
>> Differential revision: http://reviews.llvm.org/D17167
>>
>> Modified:
>>     lldb/trunk/source/Expression/Materializer.cpp
>>
>> Modified: lldb/trunk/source/Expression/Materializer.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/Materializer.cpp?rev=262041&r1=262040&r2=262041&view=diff
>>
>> ==============================================================================
>> --- lldb/trunk/source/Expression/Materializer.cpp (original)
>> +++ lldb/trunk/source/Expression/Materializer.cpp Fri Feb 26 11:40:50 2016
>> @@ -26,6 +26,7 @@
>>  #include "lldb/Target/StackFrame.h"
>>  #include "lldb/Target/Target.h"
>>  #include "lldb/Target/Thread.h"
>> +#include "lldb/Utility/LLDBAssert.h"
>>
>>  using namespace lldb_private;
>>
>> @@ -1275,9 +1276,14 @@ public:
>>          m_register_contents.reset(new
>> DataBufferHeap(register_data.GetDataStart(), register_data.GetByteSize()));
>>
>>          Error write_error;
>> -
>> -        map.WriteMemory(load_addr, register_data.GetDataStart(),
>> register_data.GetByteSize(), write_error);
>> -
>> +
>> +        Scalar scalar;
>> +        reg_value.GetScalarValue(scalar);
>> +
>> +        lldbassert(scalar.GetByteSize() == register_data.GetByteSize());
>> +
>> +        map.WriteScalarToMemory(load_addr, scalar, scalar.GetByteSize(),
>> write_error);
>> +
>>          if (!write_error.Success())
>>          {
>>              err.SetErrorStringWithFormat("couldn't write the contents of
>> register %s: %s", m_register_info.name, write_error.AsCString());
>>
>>
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>>
>
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>
>


-- 
-Todd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160227/13fac4ef/attachment.html>


More information about the lldb-commits mailing list