<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/lldb/packages/Python/lldbsuite/test/python_api, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2020-01-14T09:10:24+00:00</updated>
<entry>
<title>[lldb][NFC] Rewrite python_api/rdar-12481949 test</title>
<updated>2020-01-14T09:10:24+00:00</updated>
<author>
<name>Raphael Isemann</name>
<email>teemperor@gmail.com</email>
</author>
<published>2020-01-14T09:06:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d8ffd601d523fa0c0a55e25e62af9ffaa618629d'/>
<id>urn:sha1:d8ffd601d523fa0c0a55e25e62af9ffaa618629d</id>
<content type='text'>
Summary:
This renames the test `rdar-12481949` to `get-value-32bit-int` as it just tests that we return the
correct result get calling GetValueAsSigned/GetValueAsUnsigned on 32-bit integers.

It also deletes all the strange things going on in this test including resetting the data formatters (which are to my
knowledge not used to calculate scalar values) and testing Python's long integers (let's just assume that our Python
distribution works correctly). Also modernises the setup code.

Reviewers: labath, aprantl

Reviewed By: aprantl

Subscribers: JDevlieghere, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D72593
</content>
</entry>
<entry>
<title>[lldb] Fix that SBThread.GetStopDescription is returning strings with uninitialized memory at the end.</title>
<updated>2020-01-14T08:34:32+00:00</updated>
<author>
<name>Raphael Isemann</name>
<email>teemperor@gmail.com</email>
</author>
<published>2020-01-14T08:15:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=61b6a4e82653e1209126404d33ad20a268f55db1'/>
<id>urn:sha1:61b6a4e82653e1209126404d33ad20a268f55db1</id>
<content type='text'>
Summary:
`SBThread.GetStopDescription` is a curious API as it takes a buffer length as a parameter that specifies
how many bytes the buffer we pass has. Then we fill the buffer until the specified length (or the length
of the stop description string) and return the string length. If the buffer is a nullptr however, we instead
return how many bytes we would have written to the buffer so that the user can allocate a buffer with
the right size and pass that size to a subsequent `SBThread.GetStopDescription` call.

Funnily enough, it is not possible to pass a nullptr via the Python SWIG bindings, so that might be the
first API in LLDB that is not only hard to use correctly but impossible to use correctly. The only way to
call this function via Python is to throw in a large size limit that is hopefully large enough to contain the
stop description (otherwise we only get the truncated stop description).

Currently passing a size limit that is smaller than the returned stop description doesn't cause the
Python bindings to return the stop description but instead the truncated stop description + uninitialized characters
at the end of the string. The reason for this is that we return the result of `snprintf` from the method
which returns the amount of bytes that *would* have been written (which is larger than the buffer).
This causes our Python bindings to return a string that is as large as full stop description but the
buffer that has been filled is only as large as the passed in buffer size.

This patch fixes this issue by just recalculating the string length in our buffer instead of relying on the wrong
return value. We also have to do this in a new type map as the old type map is also used for all methods
with the given argument pair `char *dst, size_t dst_len` (e.g. SBProcess.GetSTDOUT`). These methods have
different semantics for these arguments and don't null-terminate the returned buffer (they instead return the
size in bytes) so we can't change the existing typemap without breaking them.

Reviewers: labath, jingham

Reviewed By: labath

Subscribers: clayborg, shafik, abidh, JDevlieghere, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D72086
</content>
</entry>
<entry>
<title>[lldb] Revert ddf044290ede for TestProcessAPI.py</title>
<updated>2020-01-13T21:09:20+00:00</updated>
<author>
<name>Raphael Isemann</name>
<email>teemperor@gmail.com</email>
</author>
<published>2020-01-13T21:09:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=577efd09e3b7b3a1ec7fcf0597397f137da99843'/>
<id>urn:sha1:577efd09e3b7b3a1ec7fcf0597397f137da99843</id>
<content type='text'>
It seems ddf044290ede7d7fd47f4f673e3e628f551a8aac caused the test to
time out on the Windows bot, but it's unclear to me why.
</content>
</entry>
<entry>
<title>[lldb] Mark several tests as not dependent on debug info</title>
<updated>2020-01-13T09:40:29+00:00</updated>
<author>
<name>Raphael Isemann</name>
<email>teemperor@gmail.com</email>
</author>
<published>2020-01-13T09:00:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=ddf044290ede7d7fd47f4f673e3e628f551a8aac'/>
<id>urn:sha1:ddf044290ede7d7fd47f4f673e3e628f551a8aac</id>
<content type='text'>
Summary:
This just adds `NO_DEBUG_INFO_TESTCASE` to tests that don't really exercise anything debug information specific
and therefore don't need to be rerun for all debug information variants.

Reviewers: labath, jingham, aprantl, mib, jfb

Reviewed By: aprantl

Subscribers: dexonsmith, JDevlieghere, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D72447
</content>
</entry>
<entry>
<title>[lldb][NFC] Remove all `setUp` overrides that only call the parent implementation</title>
<updated>2019-12-13T11:34:49+00:00</updated>
<author>
<name>Raphael Isemann</name>
<email>teemperor@gmail.com</email>
</author>
<published>2019-12-13T11:24:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=9bace26a690a778ec0f09a9aae9537dfbdb6f42f'/>
<id>urn:sha1:9bace26a690a778ec0f09a9aae9537dfbdb6f42f</id>
<content type='text'>
Summary:
A lot of our tests copied the setUp code from our TestSampleTest.py:

```
    def setUp(self):
        # Call super's setUp().
        TestBase.setUp(self)
```

This code does nothing unless we actually do any setUp work in there, so let's remove all these method definitions.

Reviewers: labath, JDevlieghere

Reviewed By: labath

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D71454
</content>
</entry>
<entry>
<title>[lldb][NFC] Remove 'from __future__ import print_function' from all tests that don't actually call 'print()'</title>
<updated>2019-12-13T11:23:04+00:00</updated>
<author>
<name>Raphael Isemann</name>
<email>teemperor@gmail.com</email>
</author>
<published>2019-12-13T11:11:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a52a11139c0e3db9b00079aa1516080742b79475'/>
<id>urn:sha1:a52a11139c0e3db9b00079aa1516080742b79475</id>
<content type='text'>
Summary:
A lot of tests do this trick but the vast majority of them don't even call `print()`.

Most of this patch was generated by a script that just looks at all the files and deletes the line if there is no `print (` or `print(` anywhere else in the file.
I checked the remaining tests manually and deleted the import if we never call print (but instead do stuff like `expr print(...)` and similar false-positives).
I also corrected the additional empty lines after the import in the files that I manually edited.

Reviewers: JDevlieghere, labath, jfb

Reviewed By: labath

Subscribers: dexonsmith, wuzish, nemanjai, kbarton, christof, arphaman, abidh, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D71452
</content>
</entry>
<entry>
<title>[lldb] Remove xpasses after pr44037 fix committed</title>
<updated>2019-12-13T07:30:58+00:00</updated>
<author>
<name>Muhammad Omair Javaid</name>
<email>omair.javaid@linaro.org</email>
</author>
<published>2019-12-13T07:03:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5536c62f3c35015802dd59150d422c4ab79db581'/>
<id>urn:sha1:5536c62f3c35015802dd59150d422c4ab79db581</id>
<content type='text'>
This patch removes xpass decorator from tests which were failing due to
pr44037.

pr44037 was fixed by rev 6ce1a897b6a82e18059fd3b75b8d52ff12c2a605
</content>
</entry>
<entry>
<title>[lldb] Remove Xfail decorators from steadily passing tests</title>
<updated>2019-12-09T14:08:59+00:00</updated>
<author>
<name>Muhammad Omair Javaid</name>
<email>omair.javaid@linaro.org</email>
</author>
<published>2019-12-09T14:07:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0964733bae2d0823f7b431ee2b16a3fd1dd993e3'/>
<id>urn:sha1:0964733bae2d0823f7b431ee2b16a3fd1dd993e3</id>
<content type='text'>
This patch removes xfail decorator from some lldb testcases which are
passing steadily now for past few week/months on aarch64/linux buildbot.
</content>
</entry>
<entry>
<title>[lldb] Fix TestFormattersSBAPI test</title>
<updated>2019-12-02T20:24:11+00:00</updated>
<author>
<name>António Afonso</name>
<email>aadsm@fb.com</email>
</author>
<published>2019-12-02T20:23:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=afd5d912812e6f2ea99c8890676d47a01bbcfbb1'/>
<id>urn:sha1:afd5d912812e6f2ea99c8890676d47a01bbcfbb1</id>
<content type='text'>
Summary:
This test was broken in two ways:
* Using the wrong API (e.g.: format = instead of SetFormat)
* The hex checker was only checking "01" which will pass with 0x0000001

Reviewers: clayborg, lanza, wallace

Reviewed By: clayborg

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D70884
</content>
</entry>
<entry>
<title>[lldb] [Process/NetBSD] Fix handling concurrent watchpoint events</title>
<updated>2019-11-25T19:11:59+00:00</updated>
<author>
<name>Michał Górny</name>
<email>mgorny@gentoo.org</email>
</author>
<published>2019-11-08T17:42:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=7644d8ba4dc4e06b2db2bfdb7f4d76b9356cb288'/>
<id>urn:sha1:7644d8ba4dc4e06b2db2bfdb7f4d76b9356cb288</id>
<content type='text'>
Fix handling concurrent watchpoint events so that they are reported
correctly in LLDB.

If multiple watchpoints are hit concurrently, the NetBSD kernel reports
them as series of SIGTRAPs with a thread specified, and the debugger
investigates DR6 in order to establish which watchpoint was hit.  This
is normally fine.

However, LLDB disables and reenables the watchpoint on all threads after
each hit, which results in the hit status from DR6 being wiped.
As a result, it can't establish which watchpoint was hit in successive
SIGTRAP processing.

In order to workaround this problem, clear DR6 only if the breakpoint
is overwritten with a new one.  More specifically, move cleaning DR6
from ClearHardwareWatchpoint() to SetHardwareWatchpointWithIndex(),
and do that only if the newly requested watchpoint is different
from the one being set previously.  This ensures that the disable-enable
logic of LLDB does not clear watchpoint hit status for the remaining
threads.

This also involves refactoring of watchpoint logic.  With the old logic,
clearing watchpoint involved wiping dr6 &amp; dr7, and setting it setting
dr{0..3} &amp; dr7.  With the new logic, only enable bit is cleared
from dr7, and the remaining bits are cleared/overwritten while setting
new watchpoint.

Differential Revision: https://reviews.llvm.org/D70025
</content>
</entry>
</feed>
