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

Chaoren Lin via lldb-commits lldb-commits at lists.llvm.org
Sat Feb 27 16:01:18 PST 2016


I thought I fixed it with http://reviews.llvm.org/D17658. Did you revert
that as well?

On Sat, Feb 27, 2016 at 3:14 PM, Todd Fiala <todd.fiala at gmail.com> wrote:

> 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/b8244ed5/attachment-0001.html>


More information about the lldb-commits mailing list