labath (Pavel Labath)
User

Projects

User does not belong to any projects.
User Since
Jun 4 2013, 6:02 AM (194 w, 4 d)

Recent Activity

Fri, Feb 24

labath created D30334: Remove the callback-based log channel registration mechanism.
Fri, Feb 24, 5:25 AM
labath accepted D29669: Hardware breakpoints implementation for Arm/AArch64 targets.

lgtm, thanks.

Fri, Feb 24, 5:21 AM
labath updated the diff for D30249: Clear expression when breakpoint location becomes unresolved.

Switch SBBreakpoint to weak_ptr. This diff is pretty big but it amounts to
s/m_opaque_sp/m_opaque_wp and inserting a lock at the beginning of every
function. Since I had to touch them anyway, I took the opportunity to upgrade
the logging statements.

Fri, Feb 24, 4:38 AM
labath committed rL296107: Attempt to fix windows unit tests.
Attempt to fix windows unit tests
Fri, Feb 24, 3:29 AM
labath added a comment to D30054: Delete DataBufferMemoryMap.

I am not sure if this is a voting situation, but I agree with what Zachary said above.

Fri, Feb 24, 2:53 AM
labath committed rL296101: Implement QPassSignals GDB package in lldb-server.
Implement QPassSignals GDB package in lldb-server
Fri, Feb 24, 1:41 AM
labath closed D30286: Implement QPassSignals GDB package in lldb-server by committing rL296101: Implement QPassSignals GDB package in lldb-server.
Fri, Feb 24, 1:41 AM · Restricted Project
labath accepted D30286: Implement QPassSignals GDB package in lldb-server.

Looks great. Thank you.

Fri, Feb 24, 1:39 AM · Restricted Project

Thu, Feb 23

labath planned changes to D30249: Clear expression when breakpoint location becomes unresolved.

No worries. I'll come back soon with the weak_ptr thingy.

Thu, Feb 23, 9:32 AM
labath added a comment to D30272: Improve data formatter for libstdcpp unique_ptr.

My original plan was to add it to the synthetic child provider but after some thoughts and experimenting I concluded it doesn't really belongs to there because it should be responsible for generating new children while here we are modifying the way the parent object is printed.

That is true, however. It still seems that this property should be somehow tied to the child provider, because it is only in the presence of the provider that the unique_ptr obtains its magic dereferencing properties. For example, if I do a frame variable -R X Y, where X is a std::unique_ptr and Y is a variable that happens to have the same layout (but a different name) as X, I would expect them to be printed identically, but it seems this will break that.

Thu, Feb 23, 7:42 AM
labath committed rL295968: Switch "windows" log channel to the new registration mechanism.
Switch "windows" log channel to the new registration mechanism
Thu, Feb 23, 5:22 AM
labath added a comment to D30054: Delete DataBufferMemoryMap.

I've tried this out on linux. I got it working only after making the following modifications:

Thu, Feb 23, 5:16 AM
labath accepted D30288: Switch NetBSD from paccept(2) to accept4(2).
Thu, Feb 23, 3:41 AM · Restricted Project
labath added a comment to D30286: Implement QPassSignals GDB package in lldb-server.

Good stuff. We just need a couple of changes to make this conform better with llvm guidelines.

Thu, Feb 23, 3:37 AM · Restricted Project
labath committed rL295954: Switch "posix" to the new log channel registration mechanism.
Switch "posix" to the new log channel registration mechanism
Thu, Feb 23, 2:45 AM
labath closed D30250: Switch "posix" to the new log channel registration mechanism by committing rL295954: Switch "posix" to the new log channel registration mechanism.
Thu, Feb 23, 2:45 AM
labath added a comment to D30272: Improve data formatter for libstdcpp unique_ptr.

Jim's comment definitely makes sense. If we happen to not use pretty-printer for the unique_ptr, it will not behave as a pointer-like object, and it should be formatted as a normal struct (I have no idea how much of a challenge it would be to implement it that way).

Thu, Feb 23, 2:44 AM
labath committed rL295952: Finish the reformatting of the lldb-server test executables.
Finish the reformatting of the lldb-server test executables
Thu, Feb 23, 2:12 AM
labath accepted D30287: Introduce support for Debug Registers in RegisterContextNetBSD_x86_64.

Good stuff, just remove the unused function.

Thu, Feb 23, 2:10 AM · Restricted Project
labath committed rL295950: Reformat inferior's main.cpp in lldb-server test.
Reformat inferior's main.cpp in lldb-server test
Thu, Feb 23, 1:58 AM
labath closed D30234: Reformat inferior's main.cpp in lldb-server test by committing rL295950: Reformat inferior's main.cpp in lldb-server test.
Thu, Feb 23, 1:58 AM · Restricted Project
labath accepted D30234: Reformat inferior's main.cpp in lldb-server test.

I have added local .clang-format file. But it didn't change the way main.cpp was formated.

Thu, Feb 23, 1:51 AM · Restricted Project

Wed, Feb 22

labath added a comment to D30249: Clear expression when breakpoint location becomes unresolved.

Note that the breakpoint location's site gets cleared when you disable the breakpoint or its location, as well as when you delete it. So if you have a workflow that does: "hit a breakpoint, disable it, hit another, reenable the first, hit the second" you'll end up re-evaluating the condition expression unnecessarily. This isn't a terribly common workflow, and compiling the expression is not hugely expensive. But in this instance, it was probably better to break the link at the SBBreakpoint level, and not here.

Wed, Feb 22, 12:39 PM
labath added a comment to D30054: Delete DataBufferMemoryMap.

I think you are still waiting to get the llvm changes sorted out, but this side of it looks fine to me (modulo a couple of nits).

Wed, Feb 22, 6:50 AM
labath added a reviewer for D30251: Map ELF files as writable so we can update the relocations in them: zturner.

Adding Zachary as he was about to remove this code.

Wed, Feb 22, 6:43 AM
labath created D30250: Switch "posix" to the new log channel registration mechanism.
Wed, Feb 22, 4:18 AM
labath committed rL295823: Switch "lldb" log channel to the new registration mechanism.
Switch "lldb" log channel to the new registration mechanism
Wed, Feb 22, 4:03 AM
labath created D30249: Clear expression when breakpoint location becomes unresolved.
Wed, Feb 22, 3:56 AM
labath committed rL295822: Replace WINLOG_*** macros with LLDB_LOG.
Replace WINLOG_*** macros with LLDB_LOG
Wed, Feb 22, 2:50 AM
labath closed D30172: Replace WINLOG_*** macros with LLDB_LOG by committing rL295822: Replace WINLOG_*** macros with LLDB_LOG.
Wed, Feb 22, 2:49 AM
labath committed rL295821: Add format_provider for the MemoryRegionInfo::OptionalBool enum.
Add format_provider for the MemoryRegionInfo::OptionalBool enum
Wed, Feb 22, 2:49 AM
labath added a comment to D30172: Replace WINLOG_*** macros with LLDB_LOG.

Maybe we have too many categories.

Wed, Feb 22, 2:40 AM
labath added a comment to D30234: Reformat inferior's main.cpp in lldb-server test.

clang-format did not pick up the correct formatting because we have a .clang-format file in packages/Python/lldbsuite. This was necessary because a lot of the tests would get broken, as the formatting would break our // place breakpoint here annotations (also, stepping behavior is affected by the line breaks). It would be an interesting project to format all existing tests, but this would probably need to be done on a test-by-test basis (and may involve adding additional clang-format directives like CommentPragmas, ...).

Wed, Feb 22, 1:50 AM · Restricted Project

Tue, Feb 21

labath committed rL295712: Log: Fix race in accessing the stream variable.
Log: Fix race in accessing the stream variable
Tue, Feb 21, 2:10 AM
labath closed D30168: Log: Fix race in accessing the stream variable by committing rL295712: Log: Fix race in accessing the stream variable.
Tue, Feb 21, 2:10 AM
labath requested changes to D29669: Hardware breakpoints implementation for Arm/AArch64 targets.

I am sorry about the delay - I was busy last week and then this kinda fell off my radar.

Tue, Feb 21, 1:59 AM
labath committed rL295711: tablegen: Fix android build.
tablegen: Fix android build
Tue, Feb 21, 1:31 AM

Mon, Feb 20

labath added a comment to D27126: Merge Linux and FreeBSD arm register contexts.

Just found this lying on the bottom of my stack. Ed, if you don't object, I'd like to check in it. I think it is quite a safe change, so we probably don't need to do too much testing.

Mon, Feb 20, 10:37 AM
labath created D30172: Replace WINLOG_*** macros with LLDB_LOG.
Mon, Feb 20, 10:15 AM
labath added a comment to D30010: Improve the robustness of mmap.

Seems to work for me after adding the magic.h include. I can't really guarantee that all bots will be happy with it though..

Mon, Feb 20, 7:39 AM
labath created D30168: Log: Fix race in accessing the stream variable.
Mon, Feb 20, 7:23 AM
labath committed rL295651: Fix a couple of corner cases in NameMatches.
Fix a couple of corner cases in NameMatches
Mon, Feb 20, 3:47 AM
labath closed D30094: Fix a couple of corner cases in NameMatches by committing rL295651: Fix a couple of corner cases in NameMatches.
Mon, Feb 20, 3:47 AM

Fri, Feb 17

labath committed rL295457: NPL: Fix an incorrect logging formatv call.
NPL: Fix an incorrect logging formatv call
Fri, Feb 17, 8:20 AM
labath committed rL295455: Switch GDBRemoteLog to the new registration mechanism.
Switch GDBRemoteLog to the new registration mechanism
Fri, Feb 17, 8:20 AM
labath added a comment to D30010: Improve the robustness of mmap.
Fri, Feb 17, 8:18 AM
labath created D30094: Fix a couple of corner cases in NameMatches.
Fri, Feb 17, 7:24 AM
labath committed rL295450: Switch ProcessKDPLog to the new channel registration mechanism.
Switch ProcessKDPLog to the new channel registration mechanism
Fri, Feb 17, 7:19 AM
labath accepted D29985: [lldb] [test] Fix finding LLDB tools when building stand-alone.

Thanks, I feel more comfortable with this one.

Fri, Feb 17, 5:56 AM · Restricted Project
labath committed rL295445: Fix compiler warnings for missing switch cases in lldb..
Fix compiler warnings for missing switch cases in lldb.
Fri, Feb 17, 5:51 AM
labath committed rL295442: Reapply "Refactor log channel registration mechanism".
Reapply "Refactor log channel registration mechanism"
Fri, Feb 17, 5:39 AM
labath committed rL295443: Fix VASprintfTest on darwin.
Fix VASprintfTest on darwin
Fri, Feb 17, 5:39 AM
labath added a comment to D30010: Improve the robustness of mmap.
In D30010#679198, @ruiu wrote:

I wonder what this patch is trying to fix on Unix machines. mmap()'ing a file on NFS is not a special thing, and if something goes wrong with NFS, a process will hang whether a file is being used through read(2)/write(2) or mmap. What am I missing?

If you just read() the entire contents, in order for the call to fail the NFS would have to go down during the very short period of time where you are reading the entire file contents into memory. If you mmap the contents and then keep the mapping open for, say several hours, then if the NFS has a hiccup at any point during those several hours, a call to read could crash. Any time you are dealing with a network file system you of course might encounter problems, I think this just minimizes the likelihood of those problems occuring in practice.

The motivation for this change came when I tried to replace LLDB's mmap code with LLVM's. But I was told that checking if the file is local is a requirement, because they've had bugs in the past where they crash all of Xcode because they try to mmap some debug info off of a network share and then some time later during debugging, the share goes down and read crashes all of Xcode.

Fri, Feb 17, 4:22 AM
labath committed rL295440: NPL: Fix one more bug in the single step workaround.
NPL: Fix one more bug in the single step workaround
Fri, Feb 17, 4:00 AM
labath committed rL295436: Fix breakage caused by r295368.
Fix breakage caused by r295368
Fri, Feb 17, 2:31 AM

Thu, Feb 16

labath added a comment to D29985: [lldb] [test] Fix finding LLDB tools when building stand-alone.

It does not seem too controversial, but I am not very confident reviewing lit changes. @beanz, could you take a look at this?

Thu, Feb 16, 10:45 AM · Restricted Project
labath committed rL295345: NPL: Fix single step workaround.
NPL: Fix single step workaround
Thu, Feb 16, 10:23 AM
labath committed rL295328: Fix build due to clang r295311.
Fix build due to clang r295311
Thu, Feb 16, 7:43 AM
labath accepted D29964: Finish breaking the dependency from lldbUtility -> Host.

Really splitting hairs now, but could you also update the test to check for the return value. :)

Thu, Feb 16, 7:28 AM

Wed, Feb 15

labath committed rL295211: Skip TestStepOverBreakpoint on windows.
Skip TestStepOverBreakpoint on windows
Wed, Feb 15, 10:16 AM
labath committed rL295201: Revert "Refactor log channel registration mechanism".
Revert "Refactor log channel registration mechanism"
Wed, Feb 15, 9:25 AM
labath added a comment to D29144: LLDB: fix for TestCallThatThrows.py test fail.

The test added by this batch is failing on windows http://lab.llvm.org:8011/builders/lldb-windows7-android/builds/2499, for a very prosaic reason - we cannot run a "make clean" as something is holding the executable file open. Based on my debugging, it is not a problem in the test itself, but rather in the liblldb code (e.g. when I change all the breakpoint conditions to true, and adjust expectations accordingly, make clean suceeds). My feeling is something is creating a shared_ptr loop which prevents things from going away when the test is over.

Wed, Feb 15, 8:59 AM
labath committed rL295190: Refactor log channel registration mechanism.
Refactor log channel registration mechanism
Wed, Feb 15, 8:23 AM
labath closed D29895: Refactor log channel registration mechanism by committing rL295190: Refactor log channel registration mechanism.
Wed, Feb 15, 8:23 AM
labath committed rL295189: Fix debug build of unit tests.
Fix debug build of unit tests
Wed, Feb 15, 8:23 AM
labath closed D29888: Fix debug build of unit tests by committing rL295189: Fix debug build of unit tests.
Wed, Feb 15, 8:23 AM
labath added inline comments to D29964: Finish breaking the dependency from lldbUtility -> Host.
Wed, Feb 15, 5:54 AM
labath committed rL295171: Fix unittests after r295088.
Fix unittests after r295088
Wed, Feb 15, 4:39 AM
labath committed rL295170: Fix TestNameLookup for GCC.
Fix TestNameLookup for GCC
Wed, Feb 15, 4:38 AM
labath closed D29932: Fix TestNameLookup for GCC by committing rL295170: Fix TestNameLookup for GCC.
Wed, Feb 15, 4:38 AM

Tue, Feb 14

labath updated the diff for D29895: Refactor log channel registration mechanism.

Encapsulate the atomic stuff into the Log::Channel class. Add a couple of comments.

Tue, Feb 14, 10:09 AM
labath committed rL295064: [Support] Add formatv support for StringLiteral.
[Support] Add formatv support for StringLiteral
Tue, Feb 14, 8:47 AM
labath closed D29898: [Support] Add format_provider for StringLiteral by committing rL295064: [Support] Add formatv support for StringLiteral.
Tue, Feb 14, 8:47 AM
labath updated the diff for D29895: Refactor log channel registration mechanism.

New version of the patch.

Tue, Feb 14, 8:30 AM
labath added a comment to D29895: Refactor log channel registration mechanism.
Tue, Feb 14, 8:27 AM
labath created D29932: Fix TestNameLookup for GCC.
Tue, Feb 14, 4:32 AM
labath committed rL295047: XFAIL TestNameLookup for GCC.
XFAIL TestNameLookup for GCC
Tue, Feb 14, 4:18 AM
labath updated the diff for D29898: [Support] Add format_provider for StringLiteral.

Using is_convertible will work right now. What will this prevent is someone
defining their own format_provider on a class which has a conversion operator
for StringRef. I've debated this with myself a bit. On one hand, it adds more
predictability (if something behaves enough like StringRef that in can be
converted to one, it should also be formatted like it). On the other hand, I'm
sure somebody somewhere will invent a case where it still makes sense to do
that.

Tue, Feb 14, 3:40 AM
labath accepted D29909: Break some more dependencies in lldbUtility.

looks good

Tue, Feb 14, 2:58 AM

Mon, Feb 13

labath created D29898: [Support] Add format_provider for StringLiteral.
Mon, Feb 13, 10:01 AM
labath added a comment to D29895: Refactor log channel registration mechanism.

I actually did add tests for that. :)

Mon, Feb 13, 9:55 AM
labath created D29895: Refactor log channel registration mechanism.
Mon, Feb 13, 9:09 AM
labath committed rL294944: Try to fix windows build (broken by r294939).
Try to fix windows build (broken by r294939)
Mon, Feb 13, 4:07 AM
labath created D29888: Fix debug build of unit tests.
Mon, Feb 13, 3:45 AM
labath committed rL294939: Clean up debug logging.
Clean up debug logging
Mon, Feb 13, 3:15 AM
labath committed rL294940: Remove some dead code from ProcessPOSIXLog.
Remove some dead code from ProcessPOSIXLog
Mon, Feb 13, 3:15 AM
labath closed D29823: Clean up debug logging by committing rL294939: Clean up debug logging.
Mon, Feb 13, 3:14 AM

Fri, Feb 10

labath committed rL294744: Really fix windows build.
Really fix windows build
Fri, Feb 10, 5:16 AM
labath created D29823: Clean up debug logging.
Fri, Feb 10, 5:07 AM
labath committed rL294743: Fix darwin and windows builds broken by r294736.
Fix darwin and windows builds broken by r294736
Fri, Feb 10, 4:44 AM
labath committed rL294741: UriParser cleanup.
UriParser cleanup
Fri, Feb 10, 4:33 AM
labath committed rL294738: Add a format_provider for the Timeout class.
Add a format_provider for the Timeout class
Fri, Feb 10, 4:01 AM
labath committed rL294739: Switch TestPacketSpeedJSON to use the llvm chrono formatter.
Switch TestPacketSpeedJSON to use the llvm chrono formatter
Fri, Feb 10, 4:01 AM
labath committed rL294736: Convert Log class to llvm streams.
Convert Log class to llvm streams
Fri, Feb 10, 4:01 AM
labath committed rL294737: Improve asserts in TestWatchpointIgnoreCount.
Improve asserts in TestWatchpointIgnoreCount
Fri, Feb 10, 4:01 AM
labath closed D29615: Convert Log class to llvm streams by committing rL294736: Convert Log class to llvm streams.
Fri, Feb 10, 4:01 AM

Wed, Feb 8

labath committed rL294549: [cmake] add missing dependency lldbCommands->lldbBase.
[cmake] add missing dependency lldbCommands->lldbBase
Wed, Feb 8, 5:29 PM
labath added a comment to D29615: Convert Log class to llvm streams.

Thank you for the review. I'll submit this tomorrow.

Wed, Feb 8, 4:56 PM
labath added a comment to D29615: Convert Log class to llvm streams.

Ping. Any thoughts on this?

Wed, Feb 8, 9:15 AM

Tue, Feb 7

labath added a comment to D29669: Hardware breakpoints implementation for Arm/AArch64 targets.

Don't be intimidated by the number of comments :) - I think the change looks reasonable as a whole - most of them are just about style and come from the fact you were probably working on the patch while I was refactoring this code. As for tests, what I'd definitely want to see is a lldb-server-style test, which tests just the server changes without the client part (maybe you we're already talking about those - I just want to make sure we're on the same page).

Tue, Feb 7, 2:40 PM