Page MenuHomePhabricator
Feed Advanced Search

Today

labath added a comment to D54670: 03/03: .debug_types: Update of D32167 (.debug_types) on top of D51578 (section concatenation).

I am still worried about the divergence from llvm's dwarf reader here.

I am still going to investigate your DW_FORM_* dispatching suggestion. It looks too simple to work, maybe it is the right way forward.

Wed, Feb 20, 2:23 AM · Restricted Project
labath added inline comments to D58347: Reinitialize UnwindTable when the SymbolFile changes.
Wed, Feb 20, 1:46 AM
labath added a comment to D58398: Add Facebook Minidump directory streams and options to dump them..

lgtm

Wed, Feb 20, 1:35 AM · Restricted Project
labath added a comment to D58394: Add --auto-continue to stop-hooks, fix up a few tests.

Thank you for jumping onto this. I've tried the patch out on linux, and the stop-hook-threads.test now passes. However, the basic test now fails for me because the stop hook isn't fired in the "run" command. it is caused by the "is hijacked" check in ProcessEventData::DoOnRemoval, as removing that condition causes to hook to fire, but that's probably not the right thing to do here. The difference here is probably caused by PlatformLinux hijacking the process events during the launch sequence https://github.com/llvm-mirror/lldb/blob/76c0545e7f24cd6636df61292472df64cfa2900e/source/Plugins/Platform/Linux/PlatformLinux.cpp#L337, but I am not sure where is the error here. I definitely know that there is something fishy going on in PlatformLinux, as e.g. we don't get a "Process XXX stopped" message when launching with the --stop-at-entry flag, so it's quite possible the error is there. If you think that the general behavior is right there, then we can just XFAIL this test for linux, and one of us will get to fixing PlatformLinux eventually.

Wed, Feb 20, 1:34 AM · Restricted Project
labath added a comment to D54670: 03/03: .debug_types: Update of D32167 (.debug_types) on top of D51578 (section concatenation).

I am still worried about the divergence from llvm's dwarf reader here. We now have a relatively nice Object API, which presents a view of the object file that everybody is used to (i.e., as a bunch of sections). This includes the llvm object and dwarf readers, and the DWARF spec (!). But now we are drilling a hole in that API, which basically reverts the sections and gives us back the a view of the object file as a stream of bytes. And if the object file happens to be compressed, then we have to mock up a new uncompressed buffer with all of the data, even though the compression is supposed to be transparent and unobtrusive (and it mostly is, if you stick to viewing the object file as a collection of sections). All because our dwarf reader cannot handle the fact that the debug info can come from multiple sections? How come nobody else has this problem?

Wed, Feb 20, 1:02 AM · Restricted Project
labath added a comment to D58410: [Reproducers] Initialize reproducers before initializing the debugger..

I think this looks mostly fine. See my comment about not using SB classes in the reproducer api. I still kind of like the idea of naming the reproducer class in some special way, to make it more obvious that it is not "just another" SB class, but I'm not sure if that would be just more confusing.

Wed, Feb 20, 12:28 AM · Restricted Project

Yesterday

labath accepted D58405: Merge target triple into module triple when constructing module from memory.

Augmenting the architecture with the target information sounds right to me. If we're reading a module from memory, then we already have a running target, and I consider that information more reliable (since it comes from os/lldb-server) than the object file architecture (which is just random bits in process memory). I might even go so far as to say that if we detect that the module and target ArchSpecs substantially differ (for some meaning of "substantially"), we should reject the attempt to create the module in the first place. Maybe we even do that already at some level?

Tue, Feb 19, 11:51 PM
labath added a comment to D42870: [lldb] [ObjectFile/ELF] Correct recognition of NetBSD images.

Looks good to me. Thank you for writing the tests. @davide, do you have anything to add here?

Tue, Feb 19, 6:40 AM · Restricted Project, Restricted Project
labath accepted D42870: [lldb] [ObjectFile/ELF] Correct recognition of NetBSD images.
Tue, Feb 19, 6:40 AM · Restricted Project, Restricted Project
labath created D58382: [Sanitizer] Add interceptor for pthread_sigmask.
Tue, Feb 19, 6:06 AM · Restricted Project, Restricted Project
labath committed rG95e29763d428: Revert "minidump: Add ability to attach (breakpad) symbol files to placeholder… (authored by labath).
Revert "minidump: Add ability to attach (breakpad) symbol files to placeholder…
Tue, Feb 19, 5:52 AM
labath committed rLLDB354324: Revert "minidump: Add ability to attach (breakpad) symbol files to placeholder….
Revert "minidump: Add ability to attach (breakpad) symbol files to placeholder…
Tue, Feb 19, 5:52 AM
labath committed rL354324: Revert "minidump: Add ability to attach (breakpad) symbol files to placeholder….
Revert "minidump: Add ability to attach (breakpad) symbol files to placeholder…
Tue, Feb 19, 5:52 AM
labath committed rG499611a20ffa: Fix vscode tests for python3 (authored by labath).
Fix vscode tests for python3
Tue, Feb 19, 12:25 AM
labath committed rL354308: Fix vscode tests for python3.
Fix vscode tests for python3
Tue, Feb 19, 12:25 AM
labath committed rLLDB354308: Fix vscode tests for python3.
Fix vscode tests for python3
Tue, Feb 19, 12:25 AM
labath committed rGeebf32fad62e: [gui] Simplify SourceFileWindowDelegate::WindowDelegateDraw (authored by labath).
[gui] Simplify SourceFileWindowDelegate::WindowDelegateDraw
Tue, Feb 19, 12:13 AM
labath committed rLLDB354307: [gui] Simplify SourceFileWindowDelegate::WindowDelegateDraw.
[gui] Simplify SourceFileWindowDelegate::WindowDelegateDraw
Tue, Feb 19, 12:12 AM
labath committed rL354307: [gui] Simplify SourceFileWindowDelegate::WindowDelegateDraw.
[gui] Simplify SourceFileWindowDelegate::WindowDelegateDraw
Tue, Feb 19, 12:12 AM

Mon, Feb 18

labath accepted D57475: [Reproducers] Add SBReproducer macros.

lgtm

Mon, Feb 18, 11:10 PM · Restricted Project
labath committed rG9d800a135a74: Un-XFAIL TestLinuxCore for windows (authored by labath).
Un-XFAIL TestLinuxCore for windows
Mon, Feb 18, 8:05 AM
labath committed rLLDB354278: Un-XFAIL TestLinuxCore for windows.
Un-XFAIL TestLinuxCore for windows
Mon, Feb 18, 8:05 AM
labath committed rL354278: Un-XFAIL TestLinuxCore for windows.
Un-XFAIL TestLinuxCore for windows
Mon, Feb 18, 8:04 AM
labath committed rG81b02590d84b: Fix TestLinuxCore for python3 (authored by labath).
Fix TestLinuxCore for python3
Mon, Feb 18, 7:08 AM
labath committed rLLDB354273: Fix TestLinuxCore for python3.
Fix TestLinuxCore for python3
Mon, Feb 18, 7:08 AM
labath committed rL354273: Fix TestLinuxCore for python3.
Fix TestLinuxCore for python3
Mon, Feb 18, 7:08 AM
labath created D58350: Insert random blocks of python code with swig instead of modify-python-lldb.py.
Mon, Feb 18, 6:40 AM
labath added a comment to D58193: Do not explicitly depend on llvm tools during standalone build.

@sgraenitz I currently have this patch applied to LLVM 8rc1 source tree for fedora,

Mon, Feb 18, 6:37 AM · Restricted Project
labath created D58347: Reinitialize UnwindTable when the SymbolFile changes.
Mon, Feb 18, 5:25 AM
labath added a comment to D58193: Do not explicitly depend on llvm tools during standalone build.

Ok, I see. Thanks for explaining that. I agree that it would be great if we could reduce the differences between an in-tree and a standalone build to a minimum.

Mon, Feb 18, 4:21 AM · Restricted Project
labath closed D58050: PECOFF: Implement GetBaseAddress.

Committed in r354258.

Mon, Feb 18, 4:01 AM · Restricted Project
labath committed rG515e7cdec04a: minidump: Add ability to attach (breakpad) symbol files to placeholder modules (authored by labath).
minidump: Add ability to attach (breakpad) symbol files to placeholder modules
Mon, Feb 18, 3:58 AM
labath committed rLLDB354263: minidump: Add ability to attach (breakpad) symbol files to placeholder modules.
minidump: Add ability to attach (breakpad) symbol files to placeholder modules
Mon, Feb 18, 3:58 AM
labath committed rL354263: minidump: Add ability to attach (breakpad) symbol files to placeholder modules.
minidump: Add ability to attach (breakpad) symbol files to placeholder modules
Mon, Feb 18, 3:58 AM
labath committed rGd1304bba343f: PECOFF: Implement GetBaseAddress (authored by labath).
PECOFF: Implement GetBaseAddress
Mon, Feb 18, 3:07 AM
labath committed rLLDB354258: PECOFF: Implement GetBaseAddress.
PECOFF: Implement GetBaseAddress
Mon, Feb 18, 3:07 AM
labath committed rL354258: PECOFF: Implement GetBaseAddress.
PECOFF: Implement GetBaseAddress
Mon, Feb 18, 3:07 AM
labath added a comment to D58050: PECOFF: Implement GetBaseAddress.

Thank you. It looks like windows is green now, so I'll go ahead and commit this.

Mon, Feb 18, 2:42 AM · Restricted Project
labath updated subscribers of D58339: Changes for running LLDB test suite for Swift on PowerPC64LE.

I think so, but @davide (or someone else) can confirm that. In any case, it definitely shouldn't be here, as the llvm repo does not contain any of the swift code.

Mon, Feb 18, 2:40 AM · Restricted Project
labath committed rG9d723b8296d7: Return better error message from GDBRemoteCommunication::ConnectLocally (authored by labath).
Return better error message from GDBRemoteCommunication::ConnectLocally
Mon, Feb 18, 2:36 AM
labath committed rL354256: Return better error message from GDBRemoteCommunication::ConnectLocally.
Return better error message from GDBRemoteCommunication::ConnectLocally
Mon, Feb 18, 2:35 AM
labath committed rLLDB354256: Return better error message from GDBRemoteCommunication::ConnectLocally.
Return better error message from GDBRemoteCommunication::ConnectLocally
Mon, Feb 18, 2:35 AM
labath added inline comments to D58167: Refactor user/group name resolving code.
Mon, Feb 18, 2:24 AM
labath committed rLLDB354251: Set cmake policy CMP0075 to NEW.
Set cmake policy CMP0075 to NEW
Mon, Feb 18, 2:13 AM
labath committed rG105f94914975: Set cmake policy CMP0075 to NEW (authored by labath).
Set cmake policy CMP0075 to NEW
Mon, Feb 18, 2:13 AM
labath committed rL354251: Set cmake policy CMP0075 to NEW.
Set cmake policy CMP0075 to NEW
Mon, Feb 18, 2:09 AM
labath closed D58279: Set cmake policy CMP0075 to NEW.
Mon, Feb 18, 2:09 AM · Restricted Project
labath added a comment to D58330: 01/03: new SectionPart for Section subranges (for effective .debug_types concatenation).

It also appears that we will still end up mmapping the object file, and then copying all of the debug info out of it into a heap buffer.

In all usual cases at least on Linux LLDB should use just the mmap part, without any copying - see the block on line 691 of SymbolFileDWARF::get_debug_info_data(): https://reviews.llvm.org/D51578#C1361566NL682

The question is how hard to optimize the corner cases of IsInMemory(), SHF_COMPRESSED with .debug_types etc. Originally I did not optimize it but I think this is what @clayborg did not like: https://reviews.llvm.org/D51578#1383458

Mon, Feb 18, 2:06 AM · Restricted Project

Sun, Feb 17

labath added a comment to D58339: Changes for running LLDB test suite for Swift on PowerPC64LE.

I think you wanted to submit this patch to the downstream swift repo. I don't know exactly how that works, but I think they accept github pull requests.

Sun, Feb 17, 11:48 PM · Restricted Project
labath added a comment to D58330: 01/03: new SectionPart for Section subranges (for effective .debug_types concatenation).

This all still seems very messy to me. It also appears that we will still end up mmapping the object file, and then copying all of the debug info out of it into a heap buffer.

Sun, Feb 17, 11:43 PM · Restricted Project
labath added a comment to D58125: Add ability to import std module into expression parser to improve C++ debugging.

@labath Thanks for the hint with the sysroot, but I'm not really sure what's the best way to test this. Making a whole fake sysroot that can be used to compile a std module seems overkill, and not sure if symlinking or so is a good approach either. I'm open to suggestions.

Sun, Feb 17, 11:21 PM · Restricted Project, Restricted Project
labath added a comment to D57400: Add a .gitignore file to the root that ignores any files outside of the project directories..

FWIW, I am convinced by @kristina's arguments. Given that we store build trees in other stuff in the root folder (a practice which I am still trying to digest), I think we should have some safeguards to prevent them from accidentally being comitted. However, I don't feel like the right person to hit "approve" here.

Sun, Feb 17, 11:02 PM

Fri, Feb 15

labath created D58279: Set cmake policy CMP0075 to NEW.
Fri, Feb 15, 5:24 AM · Restricted Project
labath added a comment to D58050: PECOFF: Implement GetBaseAddress.

ping

Fri, Feb 15, 4:24 AM · Restricted Project
labath committed rG4f85014dffda: Remove alignment from struct XSAVE altogether (authored by labath).
Remove alignment from struct XSAVE altogether
Fri, Feb 15, 4:22 AM
labath committed rLLDB354125: Remove alignment from struct XSAVE altogether.
Remove alignment from struct XSAVE altogether
Fri, Feb 15, 4:22 AM
labath committed rL354125: Remove alignment from struct XSAVE altogether.
Remove alignment from struct XSAVE altogether
Fri, Feb 15, 4:22 AM
labath committed rG5f54fe2332ef: Fix the gdb-client test suite for python3 (authored by labath).
Fix the gdb-client test suite for python3
Fri, Feb 15, 2:48 AM
labath committed rL354114: Fix the gdb-client test suite for python3.
Fix the gdb-client test suite for python3
Fri, Feb 15, 2:47 AM
labath committed rLLDB354114: Fix the gdb-client test suite for python3.
Fix the gdb-client test suite for python3
Fri, Feb 15, 2:47 AM
labath added a comment to D58273: Fix TestDataFormatterLibcxxListLoop.py test.

Yeah, that sounds like a good interim solution.

Fri, Feb 15, 2:29 AM · Restricted Project, Restricted Project
labath updated the diff for D58167: Refactor user/group name resolving code.

Rename things to follow lldb style. All the remaining comments should be either
marked as done, or have a comment explaining why I don't think doing that is a
good idea.

Fri, Feb 15, 2:28 AM
labath added inline comments to D58167: Refactor user/group name resolving code.
Fri, Feb 15, 2:28 AM
labath committed rG0ed2d160635d: Sort files in source/Host/CMakeLists.txt (authored by labath).
Sort files in source/Host/CMakeLists.txt
Fri, Feb 15, 2:06 AM
labath committed rLLDB354112: Sort files in source/Host/CMakeLists.txt.
Sort files in source/Host/CMakeLists.txt
Fri, Feb 15, 2:06 AM
labath committed rL354112: Sort files in source/Host/CMakeLists.txt.
Sort files in source/Host/CMakeLists.txt
Fri, Feb 15, 2:06 AM
labath accepted D58273: Fix TestDataFormatterLibcxxListLoop.py test.

The slight problem here is that we don't know which libc++ version we are going to build with, so this will then fail for people still using the old one. However, choosing the latest libc++ version here seems like the right thing to do.

Fri, Feb 15, 1:39 AM · Restricted Project, Restricted Project
labath added a comment to D58257: Disable ExecControl/StopHook/stop-hook-threads.test on Linux.

BTW, I am pretty sure the assert that Jorge is hitting would be reproduced everywhere when running the test in debug build (so that LLDB_CONFIGURATION_DEBUG is defined). I normally use a Release+Asserts build, hoping that has all assertions enabled, but it turns out this is not controlled by that.

Fri, Feb 15, 12:29 AM · Restricted Project

Thu, Feb 14

labath committed rG0af864b4b2af: Fix lldb-server test suite for python3 (authored by labath).
Fix lldb-server test suite for python3
Thu, Feb 14, 11:47 PM
labath committed rLLDB354106: Fix lldb-server test suite for python3.
Fix lldb-server test suite for python3
Thu, Feb 14, 11:47 PM
labath committed rL354106: Fix lldb-server test suite for python3.
Fix lldb-server test suite for python3
Thu, Feb 14, 11:46 PM
labath closed D58177: Fix lldb-server test suite for python3.
Thu, Feb 14, 11:46 PM · Restricted Project
labath added a comment to D58177: Fix lldb-server test suite for python3.

Thank you for reviewing this.

Thu, Feb 14, 11:46 PM · Restricted Project
labath committed rGb302bd232407: Use sys.executable in lldb-dotest (authored by labath).
Use sys.executable in lldb-dotest
Thu, Feb 14, 11:43 PM
labath committed rG8d6b60c14cea: Embed swig version into lldb.py in a different way (authored by labath).
Embed swig version into lldb.py in a different way
Thu, Feb 14, 11:43 PM
labath committed rL354105: Use sys.executable in lldb-dotest.
Use sys.executable in lldb-dotest
Thu, Feb 14, 11:43 PM
labath committed rL354104: Embed swig version into lldb.py in a different way.
Embed swig version into lldb.py in a different way
Thu, Feb 14, 11:43 PM
labath committed rLLDB354105: Use sys.executable in lldb-dotest.
Use sys.executable in lldb-dotest
Thu, Feb 14, 11:43 PM
labath committed rLLDB354104: Embed swig version into lldb.py in a different way.
Embed swig version into lldb.py in a different way
Thu, Feb 14, 11:42 PM
labath closed D58172: Embed swig version into lldb.py in a different way.
Thu, Feb 14, 11:42 PM · Restricted Project
labath committed rG8c02e778ffc8: Remove redundant semicolon after namespace-closing '}' (authored by labath).
Remove redundant semicolon after namespace-closing '}'
Thu, Feb 14, 11:34 PM
labath committed rL354103: Remove redundant semicolon after namespace-closing '}'.
Remove redundant semicolon after namespace-closing '}'
Thu, Feb 14, 11:34 PM
labath committed rLLDB354103: Remove redundant semicolon after namespace-closing '}'.
Remove redundant semicolon after namespace-closing '}'
Thu, Feb 14, 11:34 PM
labath added a comment to D58193: Do not explicitly depend on llvm tools during standalone build.

I think it's useful to be able to fully test lldb if you have all the available tools even if it's built standalone. This is especially relevant for swift-lldb, which more often than not is built standalone because swift is often built standalone. I'm generally not in favor of keeping things around only because somebody downstream uses it, but I can see the usefulness for people who work on upstream LLDB as well. I'm not sure if other people feel the same way though.

Thu, Feb 14, 11:34 PM · Restricted Project
labath accepted D58257: Disable ExecControl/StopHook/stop-hook-threads.test on Linux.

lgtm. I think the current behavior of stop hooks with process control commands is so under-defined that it does not make sense to run this test, especially given that we're considering disallowing that altogether. If we wanted to just test that stop hooks do run in the presence of multiple threads, then it should be possible to replace the "continue" command in the hook with something else which e.g. prints a variable. Then we can just check that the variable gets displayed correctly.

Thu, Feb 14, 11:26 PM · Restricted Project
labath accepted D58230: [lldb] [MainLoop] Add kevent() EINTR handling.

The change looks fine to me. I don't understand all the intricacies of the RetryAfterSignal discussion (AFAICT, it does not matter what you do there, since RunImpl::Poll is called in a loop anyway), so I'll let you sort that out with Kamil.

Thu, Feb 14, 11:12 PM · Restricted Project, Restricted Project
labath added a comment to D58193: Do not explicitly depend on llvm tools during standalone build.

BTW, what's the reason for having super-high-fidelity list of dependencies in a standalone build? I know that they're important for in-tree builds, as that makes sure everything is built when you run "check-lldb". However, that's isn't going to help you with standalone builds. The binaries are already there, or they aren't, and there's nothing we can do to change that. I'd consider just removing all non-lldb targets from the deps list when in standalone mode.

Thu, Feb 14, 11:46 AM · Restricted Project
labath added a comment to D58167: Refactor user/group name resolving code.

I didn't get around to address the style issues yet, but I wanted to respond to one high-level comment today:

Thu, Feb 14, 11:40 AM
labath added a comment to D58172: Embed swig version into lldb.py in a different way.

Yes, my long term plan is to try to get rid of this file altogether. Doing the hotpatching at runtime is an interesting idea. I may resort to that, but I think it would be better to add all of these as regular blocks of inline %pythoncode%, as that's how swig is meant to be used. However, i haven't looked at that too closely yet. I am trying to dismantle this one step at a time.

Thu, Feb 14, 10:41 AM · Restricted Project
labath accepted D58235: Don't source local .lldbinit in the test suite.

lgtm

Thu, Feb 14, 8:51 AM · Restricted Project
labath accepted D58227: [lldb] [MainLoop] Remove redundant termination clause (NFCI).

That sounds correct. The extra check must have crept in because of all the refactors this class has gone through to support all possible event handling mechanisms...

Thu, Feb 14, 8:49 AM · Restricted Project, Restricted Project
labath added a comment to D58235: Don't source local .lldbinit in the test suite.

Are you sure you're adding this to the right place? This is modifying the substitution for lldb-mi and not lldb..

Thu, Feb 14, 6:59 AM · Restricted Project
labath committed rG66d88326abf9: Move UnwindTable from ObjectFile to Module (authored by labath).
Move UnwindTable from ObjectFile to Module
Thu, Feb 14, 6:43 AM
labath committed rLLDB354033: Move UnwindTable from ObjectFile to Module.
Move UnwindTable from ObjectFile to Module
Thu, Feb 14, 6:43 AM
labath committed rL354033: Move UnwindTable from ObjectFile to Module.
Move UnwindTable from ObjectFile to Module
Thu, Feb 14, 6:43 AM
labath closed D58129: Move UnwindTable from ObjectFile to Module.
Thu, Feb 14, 6:43 AM · Restricted Project
labath added inline comments to D58129: Move UnwindTable from ObjectFile to Module.
Thu, Feb 14, 6:25 AM · Restricted Project
labath accepted D58229: [lldb] [MainLoop] Report errno for failed kevent().

That seems right. Even the macos manpage for kevent says the error is returned through errno.

Thu, Feb 14, 5:45 AM · Restricted Project, Restricted Project
labath added a comment to D58230: [lldb] [MainLoop] Add kevent() EINTR handling.

We already had a patch for this, but it kind of got forgotten while we were figuring out how to test it. I had made a test for the behavior here https://reviews.llvm.org/D42206#980045. Could you please try it out and incorporate it into the patch (or write some other kind of test for this fix)?

Thu, Feb 14, 5:43 AM · Restricted Project, Restricted Project
labath accepted D58228: [lldb] [lldb-server] Catch and report errors from main loop.
Thu, Feb 14, 5:26 AM · Restricted Project, Restricted Project