Page MenuHomePhabricator

jasonmolenda (Jason Molenda)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 2 2014, 12:05 PM (246 w, 5 d)

Recent Activity

Wed, May 22

jasonmolenda added a comment to D62221: [lldb-server][LLGS] Support 'g' packets.

Does your feature print *all* the registers including floating point/vector registers? Or just the main general purpose registers? In debugserver, we expedite the register values for the stopping thread:

Wed, May 22, 5:59 PM · Unknown Object (Project)

Tue, May 21

jasonmolenda added inline comments to D62213: [ABI] Implement Windows ABI for x86_64.
Tue, May 21, 7:33 PM · Unknown Object (Project)
jasonmolenda added inline comments to D62221: [lldb-server][LLGS] Support 'g' packets.
Tue, May 21, 3:19 PM · Unknown Object (Project)

Thu, May 16

jasonmolenda accepted D62015: Make sure GetObjectDescription falls back to the Objective-C runtime..
Thu, May 16, 11:06 AM · Unknown Object (Project)
jasonmolenda added a comment to D62015: Make sure GetObjectDescription falls back to the Objective-C runtime..

My one concern is how this will work in a swift-lldb where we have a swift ValueObject, the print description fails, and we fall back to the ObjC print description. That's a change in behavior, right? I imagine worst case is that the objc print description will fail to produce anything and we'll have the same behavior as we do today.

Thu, May 16, 10:14 AM · Unknown Object (Project)

Fri, May 10

jasonmolenda committed rGabcb1215c964: Change the disabling of packet logging to be in TearDownHook lambdas. (authored by jasonmolenda).
Change the disabling of packet logging to be in TearDownHook lambdas.
Fri, May 10, 4:24 PM
jasonmolenda committed rG18ba8947a6c2: Ted pointed out that some of test tests that are enabling packet logging when… (authored by jasonmolenda).
Ted pointed out that some of test tests that are enabling packet logging when…
Fri, May 10, 4:04 PM

Thu, May 9

jasonmolenda accepted D61732: FuncUnwinders: Add a new "SymbolFile" unwind plan.

Looks good to me.

Thu, May 9, 5:48 PM · Unknown Object (Project)
jasonmolenda accepted D61733: Breakpad: Generate unwind plans from STACK CFI records.
Thu, May 9, 5:34 PM · Unknown Object (Project)

Thu, May 2

jasonmolenda committed rGc9f44cd4b6e5: RegisterContextLLDB::GetFullUnwindPlanForFrame has four verbose logging… (authored by jasonmolenda).
RegisterContextLLDB::GetFullUnwindPlanForFrame has four verbose logging…
Thu, May 2, 4:51 PM
jasonmolenda committed rG3af3900ee7f9: Upstreaming an apple local patch by Frederic Riss. (authored by jasonmolenda).
Upstreaming an apple local patch by Frederic Riss.
Thu, May 2, 4:17 PM
jasonmolenda abandoned D60957: Read ObjC class names in one large read, instead of reading them individually.

I had some more revisions on this patch, but I finally understood that I was solving the wrong problem with this patchset. lldb should not fetch class names up front when scanning the objective c class tables, they should only be read lazily as we evaluate an expression. The fact that we're reading names during the table scan is the problem that needs to be fixed.

Thu, May 2, 3:18 PM · Unknown Object (Project)

Apr 26 2019

jasonmolenda accepted D61218: Fix a stack-smasher in PlatformMacOSX::GetSDKDirectory().

LGTM.

Apr 26 2019, 5:29 PM · Restricted Project, Unknown Object (Project)

Apr 25 2019

jasonmolenda updated the diff for D60957: Read ObjC class names in one large read, instead of reading them individually.

Fix one small bug in the jitted expressions. Increase the estimated size of class names that lldb uses to pre-allocate the string pool buffer. Added a method to read the string pool out of the inferior, to reduce code duplication, and have it read the last name to get the full size of the string pool correct.

Apr 25 2019, 6:42 PM · Unknown Object (Project)
jasonmolenda committed rG1cb2c21fb4bd: Another use of the interactive lldb.debugger. (authored by jasonmolenda).
Another use of the interactive lldb.debugger.
Apr 25 2019, 1:46 PM
jasonmolenda committed rG3775794812e5: Two tests were using the interactive convenience variable lldb.debugger. They… (authored by jasonmolenda).
Two tests were using the interactive convenience variable lldb.debugger. They…
Apr 25 2019, 1:03 PM

Apr 24 2019

jasonmolenda committed rGd129ee34a51e: add postfixexpression.cpp. (authored by jasonmolenda).
add postfixexpression.cpp.
Apr 24 2019, 12:49 PM

Apr 22 2019

jasonmolenda committed rG759805fd8a6c: One small tweak to LocateExecutableScriptingResources - I was still stat'ing… (authored by jasonmolenda).
One small tweak to LocateExecutableScriptingResources - I was still stat'ing…
Apr 22 2019, 6:12 PM
jasonmolenda committed rG9270a201b9d1: Add a small check to PlatformDarwin::LoadScriptingResourceForModule which reads… (authored by jasonmolenda).
Add a small check to PlatformDarwin::LoadScriptingResourceForModule which reads…
Apr 22 2019, 6:04 PM
jasonmolenda committed rGa38b8c8abce0: Fix a bug in my change to ModulesDidLoad in r357955. In the process of hoisting… (authored by jasonmolenda).
Fix a bug in my change to ModulesDidLoad in r357955. In the process of hoisting…
Apr 22 2019, 3:42 PM
jasonmolenda accepted D60829: FuncUnwinders: remove "current_offset" from function arguments.

Sorry for the delay in looking at this. It looks like a good change, an improvement on the original for sure. I've never seen multiple eh_frame FDEs for a single function, so that's fine. The .ARM.exidx format and Apple's compact unwind format can theoretically have multiple different unwind plans for a single function - but I've never seen it done in practice. More commonly, a single unwind plan will be used for multiple functions that have the same unwind state. (these two formats don't describe prologue/epilogues - they only describe the unwind state in the middle of the function where exceptions can be thrown)

Apr 22 2019, 3:08 PM · Restricted Project

Apr 21 2019

jasonmolenda updated the summary of D60957: Read ObjC class names in one large read, instead of reading them individually.
Apr 21 2019, 11:20 PM · Unknown Object (Project)
jasonmolenda updated the summary of D60957: Read ObjC class names in one large read, instead of reading them individually.
Apr 21 2019, 11:20 PM · Unknown Object (Project)
jasonmolenda created D60957: Read ObjC class names in one large read, instead of reading them individually.
Apr 21 2019, 11:19 PM · Unknown Object (Project)
jasonmolenda accepted D60949: UnwindPlan: pretty-print dwarf expressions.

very nice.

Apr 21 2019, 9:44 PM · Unknown Object (Project)

Apr 17 2019

jasonmolenda added a comment to D60829: FuncUnwinders: remove "current_offset" from function arguments.

Thanks for digging in to this Pavel. I haven't had time to look over the patch today, but I'd like to; I'll make time for it in the next couple days if that's OK.

Apr 17 2019, 9:45 PM · Restricted Project

Apr 15 2019

jasonmolenda accepted D60655: Fix typo in ArmUnwindInfo::GetUnwindPlan.

Agreed, this change is correct. I double checked this in the http://infocenter.arm.com/help/topic/com.arm.doc.ihi0038b/IHI0038B_ehabi.pdf doc (mod 24 Nov 2015) and the only difference in Section 9.3 "Frame unwinding instructions" Table 4 and this code is in the comment - they now refer to this as 'Pop VFP double-precision registers D[8]-D[8+nnn] saved (as if) by VPUSH (see remark d)'. But there's no benefit in updating this one comment while the others are using the older comments (this code was originally written against the 30 Nov 2012 version of the doc).

Apr 15 2019, 2:36 PM · Restricted Project, Unknown Object (Project)

Apr 8 2019

jasonmolenda committed rG1724a179e7ae: Rename Target::GetSharedModule to Target::GetOrCreateModule. (authored by jasonmolenda).
Rename Target::GetSharedModule to Target::GetOrCreateModule.
Apr 8 2019, 4:02 PM

Apr 5 2019

jasonmolenda updated the diff for D60172: Renamed Target::GetSharedModule to AddModule, allow for ModulesDidLoad to be delayed when batch adding Modules.

Added a testcase, TestModuleLoadedNotifys.

Apr 5 2019, 8:39 PM · Unknown Object (Project)

Apr 4 2019

jasonmolenda added a comment to D60172: Renamed Target::GetSharedModule to AddModule, allow for ModulesDidLoad to be delayed when batch adding Modules.

Thanks Pavel, I'll convert this to use Expected<> while I'm working on it. I'm writing a test case right now, and looking at how DynamicPluginDarwin works more closely for adding & removing binaries, e.g. there's also no way to batch remove libraries and have a group broadcast notification be sent. There was also a bug in my original patch for calling LoadScriptingResourceForModule() to find a python resource file in a dSYM bundle - it is currently called from Target::ModuleUpdated when a binary is added to the target's ModuleList, but I'm suppressing that call with this change, so I need to move that over to ModulesDidLoad.

Apr 4 2019, 6:34 PM · Unknown Object (Project)

Apr 3 2019

jasonmolenda updated the diff for D60172: Renamed Target::GetSharedModule to AddModule, allow for ModulesDidLoad to be delayed when batch adding Modules.

Remove const bool notify's. Rename method to Target::GetOrCreateModule. Refine the method headerdoc a bit.

Apr 3 2019, 3:32 PM · Unknown Object (Project)
jasonmolenda added a comment to D60172: Renamed Target::GetSharedModule to AddModule, allow for ModulesDidLoad to be delayed when batch adding Modules.

OK looked things over a bit.

Apr 3 2019, 2:36 PM · Unknown Object (Project)

Apr 2 2019

jasonmolenda added a comment to D60172: Renamed Target::GetSharedModule to AddModule, allow for ModulesDidLoad to be delayed when batch adding Modules.

Thanks for looking the patch over.

Apr 2 2019, 9:20 PM · Unknown Object (Project)
jasonmolenda created D60172: Renamed Target::GetSharedModule to AddModule, allow for ModulesDidLoad to be delayed when batch adding Modules.
Apr 2 2019, 7:51 PM · Unknown Object (Project)
jasonmolenda committed rGaa107ca3a55f: Avoid macro redefinition error if HAVE_LIBCOMPRESSION is already defined. (authored by jasonmolenda).
Avoid macro redefinition error if HAVE_LIBCOMPRESSION is already defined.
Apr 2 2019, 6:16 PM

Apr 1 2019

jasonmolenda added inline comments to D60022: [Process] Fix WriteMemory return value.
Apr 1 2019, 11:26 AM · Restricted Project, Unknown Object (Project)

Mar 27 2019

jasonmolenda accepted D59896: [ObjectFileMachO] Disable memory caching for savecore..

Looks good. Removing that printf is good. Could you also remove the printf("mach_header:...") in the same function?

Mar 27 2019, 4:08 PM · Restricted Project, Unknown Object (Project)

Mar 26 2019

jasonmolenda added a comment to D55718: [ARC] Basic support in gdb-remote process plugin.

As long as the numbers _can_ still come from the GDB server, I am all for that. If they are not supplied, then we use arch defaults. That allows new system/arch bringups where the info might be changing often, and also allows the info to be locked down. The architecture plug-ins are a great place for this. We should also move the breakpoint opcode logic into the architecture plug-ins.

Mar 26 2019, 12:59 PM · Unknown Object (Project)
jasonmolenda added a comment to D55718: [ARC] Basic support in gdb-remote process plugin.

It would be really nice to get the GDB remote server for ARC so that it vends the correct regs to begin with, but if that isn't possible I guess we need to do what we are doing here. I would really like to not see more architectures have to add code to ProcessGDBRemote.cpp at all. If that isn't possible this solution will need to be used.

Mar 26 2019, 12:14 PM · Unknown Object (Project)
jasonmolenda accepted D59495: Fix an out-of-bounds error in RegisterContextDarwin_arm64.

Sorry for not weighing in earlier, yes this is good.

Mar 26 2019, 12:02 PM · Restricted Project

Mar 20 2019

jasonmolenda committed rG9d760a0a76e6: Change the logging on ptrace(PT_KILL) in MachProcess::Kill to log if… (authored by jasonmolenda).
Change the logging on ptrace(PT_KILL) in MachProcess::Kill to log if…
Mar 20 2019, 4:01 PM
jasonmolenda committed rGdb5edebea266: Update DWARF files. (authored by jasonmolenda).
Update DWARF files.
Mar 20 2019, 4:00 PM

Mar 18 2019

jasonmolenda committed rG2d5e7adf26f4: A target definition file that may work for Aarch32 Cortex-M target processor… (authored by jasonmolenda).
A target definition file that may work for Aarch32 Cortex-M target processor…
Mar 18 2019, 2:39 PM

Mar 13 2019

jasonmolenda committed rG97866d74db72: Reorder the operations in DynamicLoaderDarwinKernel::KextImageInfo… (authored by jasonmolenda).
Reorder the operations in DynamicLoaderDarwinKernel::KextImageInfo…
Mar 13 2019, 4:34 PM
jasonmolenda committed rG6a5fa552c715: Update. (authored by jasonmolenda).
Update.
Mar 13 2019, 11:24 AM

Mar 12 2019

jasonmolenda committed rGc02b95e4f9b5: Rework how lldb warngs about kexts that failed to load in a darwin kernel debug… (authored by jasonmolenda).
Rework how lldb warngs about kexts that failed to load in a darwin kernel debug…
Mar 12 2019, 12:42 PM

Mar 11 2019

jasonmolenda accepted D58347: Reinitialize UnwindTable when the SymbolFile changes.

Yeah, I'm ok with this, thanks.

Mar 11 2019, 4:59 PM · Restricted Project

Mar 8 2019

jasonmolenda committed rGcee6c47a62c4: Add parens to force the order of operations in an expression trying to do… (authored by jasonmolenda).
Add parens to force the order of operations in an expression trying to do…
Mar 8 2019, 4:04 PM

Mar 7 2019

jasonmolenda committed rG988332a54a70: Add ASAN llvm build directory variants to get_llvm_bin_dirs(). (authored by jasonmolenda).
Add ASAN llvm build directory variants to get_llvm_bin_dirs().
Mar 7 2019, 8:18 PM

Mar 6 2019

jasonmolenda committed rGa583486065db: When disassembling Aarch64 target and vendor Apple, set the cpu to "apple… (authored by jasonmolenda).
When disassembling Aarch64 target and vendor Apple, set the cpu to "apple…
Mar 6 2019, 7:18 PM
jasonmolenda committed rG2d6e6cbacc72: Remove the warning in DynamicLoaderDarwinKernel::KextImageInfo… (authored by jasonmolenda).
Remove the warning in DynamicLoaderDarwinKernel::KextImageInfo…
Mar 6 2019, 3:47 PM
jasonmolenda accepted D59030: Pass ConstString by value.

Looks good to me.

Mar 6 2019, 1:14 PM · Restricted Project, Unknown Object (Project)

Mar 5 2019

jasonmolenda committed rG4cc9ff124554: Change the scanning algorithm in DynamicLoaderDarwinKernel… (authored by jasonmolenda).
Change the scanning algorithm in DynamicLoaderDarwinKernel…
Mar 5 2019, 6:45 PM
jasonmolenda committed rGb459f182e83e: Re-commit logging for SBCompileUnit::GetNumLineEntries. (authored by jasonmolenda).
Re-commit logging for SBCompileUnit::GetNumLineEntries.
Mar 5 2019, 6:32 PM
jasonmolenda committed rGf228b2c2efcc: Revert logging addition to SBCompileUnit::GetNumLineEntries, causing lldb-mi… (authored by jasonmolenda).
Revert logging addition to SBCompileUnit::GetNumLineEntries, causing lldb-mi…
Mar 5 2019, 2:18 PM
jasonmolenda committed rG14c1e08ff57b: Add logging to SBCompileUnit::GetNumLineEntries. (authored by jasonmolenda).
Add logging to SBCompileUnit::GetNumLineEntries.
Mar 5 2019, 11:46 AM
jasonmolenda added a comment to D58962: Sanity check --max-gdbserver-port.

LGTM fwiw I think the --min-gdbserver-port and --max-gdbserver-port options were primarily/only used for iOS etc testsuite runs, where a fixed set of ports is relayed between the devices. I was having some problems with lldb-server in platform mode on these devices and thought it would be nice to have a standalone implementation of the platform protocol packets, so I wrote one a couple months ago and that's what we're using now for this environment. I should probably upstream it, I think it would work on linux too, it doesn't use any of lldb/llvm so it has several areas that are primitive because I was going for "good enough" and moving on, e.g. it has a dumb logging class and the networking could use some work, etc. I want to keep this completely free of lldb/llvm dependencies so it's a little bit of an oddball.

Mar 5 2019, 9:28 AM · Unknown Object (Project)

Mar 4 2019

jasonmolenda accepted D58912: [debugserver] Fix IsUserReady thread filtering.

Looks good, that was my only concern.

Mar 4 2019, 3:51 PM · Unknown Object (Project)
jasonmolenda added a comment to D58912: [debugserver] Fix IsUserReady thread filtering.

Will this hide a thread that jumps through a null function pointer? That's the only user process case where a pc of 0 needs to be reported to the developer.

Mar 4 2019, 3:39 PM · Unknown Object (Project)

Feb 28 2019

jasonmolenda committed rG7cdaf1e06bb5: Update com.apple.diagnosticd.diagnostic entitlement name to the newer com.apple. (authored by jasonmolenda).
Update com.apple.diagnosticd.diagnostic entitlement name to the newer com.apple.
Feb 28 2019, 7:35 PM
jasonmolenda committed rGe772052edf6c: Increase timeout in Symbols::DownloadObjectAndSymbolFile from 30 seconds to 120… (authored by jasonmolenda).
Increase timeout in Symbols::DownloadObjectAndSymbolFile from 30 seconds to 120…
Feb 28 2019, 7:25 PM
jasonmolenda committed rGf8fad6ca5bc6: Symbols.cpp in unittest moved too. (authored by jasonmolenda).
Symbols.cpp in unittest moved too.
Feb 28 2019, 3:37 PM

Feb 27 2019

jasonmolenda committed rG321f80e23f04: Move Symbols.cpp files. (authored by jasonmolenda).
Move Symbols.cpp files.
Feb 27 2019, 5:27 PM

Feb 19 2019

jasonmolenda added inline comments to D58347: Reinitialize UnwindTable when the SymbolFile changes.
Feb 19 2019, 12:39 PM · Restricted Project

Feb 18 2019

jasonmolenda committed rG461c4168787b: One more fix while I'm looking at this - remove the unused IsSBProcess method… (authored by jasonmolenda).
One more fix while I'm looking at this - remove the unused IsSBProcess method…
Feb 18 2019, 2:18 PM
jasonmolenda committed rG870c0a648b51: Ah, misunderstood Jonas' feedback - fix this so we'll do the right thing when… (authored by jasonmolenda).
Ah, misunderstood Jonas' feedback - fix this so we'll do the right thing when…
Feb 18 2019, 2:14 PM
jasonmolenda committed rG5044316d162d: Clean up an unused variable warning when building this for mac native. (authored by jasonmolenda).
Clean up an unused variable warning when building this for mac native.
Feb 18 2019, 2:10 PM

Feb 15 2019

jasonmolenda committed rG3bf883eac95b: Add some unconditional logging on the failure points when attaching to a… (authored by jasonmolenda).
Add some unconditional logging on the failure points when attaching to a…
Feb 15 2019, 2:40 PM

Feb 10 2019

jasonmolenda accepted D57928: Fix x86 return pattern detection.

Thanks for fixing this and adding a testcase. I don't know why 0xc9 leave was here; it's handled over in x86AssemblyInspectionEngine::leave_pattern_p. Do you have commit access?

Feb 10 2019, 12:01 AM · Unknown Object (Project)

Feb 8 2019

jasonmolenda committed rG3b68761dc3e0: Tiny fix spotted by static analyzer; GetPath() returns a std::string, we get a… (authored by jasonmolenda).
Tiny fix spotted by static analyzer; GetPath() returns a std::string, we get a…
Feb 8 2019, 3:36 PM

Feb 5 2019

jasonmolenda committed rG8130bf67baa7: Add a warning to GDBRemoteRegisterContext (if packet logging enabled) if the… (authored by jasonmolenda).
Add a warning to GDBRemoteRegisterContext (if packet logging enabled) if the…
Feb 5 2019, 8:08 PM
jasonmolenda accepted D57745: [x64] Process the B field of the REX prefix correctly for the PUSH and POP instructions.

The change looks good to me, thanks for fixing this. I'm not sure you're testing what you meant to test in TestPopRBPWithREX because you're pushing/popping r13. You could get the unwind state at byte offset 2 (after the push r13 has executed) and see that you can GetRegisterInfo() r13, and the unwind state at byte offset 4 and verify that you can't GetRegisterInfo() r13. That's a good test to make sure we handle the B bit correctly.

Feb 5 2019, 4:11 PM · Unknown Object (Project)

Jan 23 2019

jasonmolenda added a comment to D57011: Refactor HAVE_LIBCOMPRESSION and related code in GDBRemoteCommunication.

Sorry for the delay in checking this out. It works fine. You need to add a #include "lldb/Host/Config.h" to GDBRemoteCommunication.h.

Jan 23 2019, 3:34 PM

Jan 22 2019

jasonmolenda added a comment to D57011: Refactor HAVE_LIBCOMPRESSION and related code in GDBRemoteCommunication.

I'll test this later today. The cleanup looks good; the goal of the most recent changes was to make HAVE_LIBCOMPESSION always enabled on Darwin systems - the setting would occasionally get lost in the Xcode project settings and we'd have slow channels using uncompressed communication until we looked into the perf regressions. After this sequence happened twice, I wanted to make it always-on (it also needed to be conditional for a while because these API were only added to Darwin ~4 years ago)

Jan 22 2019, 12:07 PM

Dec 12 2018

jasonmolenda accepted D55607: Make crashlog.py work when a .dSYM is present, but a binary is missing.

Yep, looks good. It would be nice if we found a dSYM with a Spotlight search (mdfind) if we could look NEXT to the dSYM bundle and see if there is a real binary, and load that. But this is a good first step, and it gets us the source-level information for symbolicating the crash. More advanced crashlog users may want to look at the assembly instructions around the crash site, and for that we need the actual binary.

Dec 12 2018, 12:21 PM

Dec 6 2018

jasonmolenda added a comment to D55399: If we still have all_image_infos use it in DynamicLoaderMacOSDYLD to detect exec's.

I don't feel strongly about it, your choice. But if I misunderstood it this time, I'll likely misunderstand it again in the future. :)

Dec 6 2018, 5:15 PM
jasonmolenda accepted D55399: If we still have all_image_infos use it in DynamicLoaderMacOSDYLD to detect exec's.

LGTM.

Dec 6 2018, 4:46 PM

Nov 12 2018

jasonmolenda accepted D54460: Don't keep a global ABI plugin per architecture.

LGTM, my guess is that this was Greg's code originally. He may have made a singleton object out of caution.

Nov 12 2018, 6:06 PM

Nov 2 2018

jasonmolenda added a comment to D54056: Add SetAllowJIT (the SBExpressionOptions equivalent of "expression --allow-jit").

To me --jit sounds like an imperative (i.e. don't use the IR interpreter, jit and execute this expression), whereas --allow-jit seems closer to the behavior here.

Nov 2 2018, 4:33 PM

Oct 29 2018

jasonmolenda accepted D53435: [x86] Fix issues with a realigned stack in MSVC compiled applications.
Oct 29 2018, 4:11 PM · Unknown Object (Project)
jasonmolenda added a comment to D53435: [x86] Fix issues with a realigned stack in MSVC compiled applications.

Thanks Aleksandr, this all looks good. I'd like to see a definition of AFA (and we can say "CFA is DWARF's Canonical Frame Address" in the same spot) maybe in UnwindPlan.h, non-Windows people (ok, me) will not know what that is referring to. I was a little worried about and_rsp_pattern_p() but we're not recording the and'ed value. One long standing problem of the UnwindPlan intermediate representation is that it doesn't have any way to represent an alignment involved in the location computation (short of a DWARF expression). This is a problem on AArch32 / armv7 where the NEON registers are saved on higher alignment boundaries than the stack pointer on function call. (if the alignment is less-than or equal-to the stack frame, then there's no align instructions needed in the prologue.) But you're not doing anything like that, no worries.

Oct 29 2018, 4:11 PM · Unknown Object (Project)
jasonmolenda added a comment to D53435: [x86] Fix issues with a realigned stack in MSVC compiled applications.

Thanks for the ping aleksandr, I have somehow managed to set up my mail rules so I didn't see this. I'll try to look it over later today. Yes, the x86 instruction profiler has definitely overgrown over the years - the ARM64 instruction profiler is probably a better model, but this code is pretty stable so it hasn't been a priority to do anything to it.

Oct 29 2018, 12:26 PM · Unknown Object (Project)

Oct 22 2018

jasonmolenda accepted D50155: Delete MacOSXFrameBackchain unwind logic (NFC).

Sorry for not replying to this. Yes the code is unused - it was the initial unwinder implementation when lldb is very young, before we had our current one. The main reason to keep it around is (as you say) an example of the simplest unwinder someone might use when porting lldb to a new platform. I don't feel strongly about it one way or the other, I'm fine with removing it if that's what you want to do.

Oct 22 2018, 10:02 AM

Oct 15 2018

jasonmolenda created D53305: Simplify LocateDSYMInVincinityOfExecutable a bit, and call Symbols::DownloadObjectAndSymbolFile for .dSYM.yaa archives.
Oct 15 2018, 4:40 PM · Unknown Object (Project)

Oct 11 2018

jasonmolenda added a comment to D53175: [dotest] Make a missing FileCheck binary a warning, not an error.

(obviously this would only be the behavior if a filecheck path was not specified)

Oct 11 2018, 3:53 PM
jasonmolenda added a comment to D53175: [dotest] Make a missing FileCheck binary a warning, not an error.

I've been meaning to look at this - for the command line style "cd test; ./dotest.py" approach, we could use similar logic to what packages/Python/lldbsuite/test/dotest.py does in getOutputPaths() where it finds an lldb binary in the "typical" location. for an Xcode style build, this would be in a directory like ../llvm-build/Release+Asserts/x86_64/bin/FileCheck where the build-style ("Release+Asserts") is going to vary but I'm guessing that the build configuration of the FileCheck binary picked is not important.

Oct 11 2018, 3:53 PM

Aug 8 2018

jasonmolenda added a comment to D50365: Add a new tool named "lldb-vscode" that implements the Visual Studio Code Debug Adaptor Protocol.

Haven't had time to read through the main part of the patch, but I think the changes to debugserver's JSON parser would be good additions even if you've switched away from using it. The debugserver JSON parser is a copy of lldb's with all the StringRef etc llvm classes removed quickly, so it's always been a bit of a mess, I should have forked it from before any of the llvm stuff started being integrated.

Aug 8 2018, 6:29 PM

Jul 16 2018

jasonmolenda updated subscribers of D48868: [LLDB] In ProcessGDBRemote::UpdateThreadIDList(), the thread PCs should not be cleared after they are updated from the stop reply packet.

That's a good point Pavel. I tried to write one (below) but I never saw what the original failure mode was. Venkata, can you help to make a test case that fails before the patch and works after? Or explain what bug was being fixed exactly? I could see that the code was wrong from reading it, but I never understood how you got to this.

Jul 16 2018, 3:34 PM

Jul 11 2018

jasonmolenda accepted D48868: [LLDB] In ProcessGDBRemote::UpdateThreadIDList(), the thread PCs should not be cleared after they are updated from the stop reply packet.

looks good.

Jul 11 2018, 2:02 PM

Jul 10 2018

jasonmolenda added a comment to D48868: [LLDB] In ProcessGDBRemote::UpdateThreadIDList(), the thread PCs should not be cleared after they are updated from the stop reply packet.

I think the m_thread_pcs.clear() in UpdateThreadIDList() is to clear out any old thread pc values that we might have populated in the past. The only way I can see this happening is if the remote stub SOMETIMES returned the thread-pcs: list in the stop packet. UpdateThreadPCsFromStopReplyThreadsValue() which we call if we did get a thread-pcs: in this stop reply packet, clears m_thread_pcs so the only reason to have this also in UpdateThreadIDList() is if we had a stub that was inconsistent.

Jul 10 2018, 7:13 PM

Jul 9 2018

jasonmolenda added a comment to D48868: [LLDB] In ProcessGDBRemote::UpdateThreadIDList(), the thread PCs should not be cleared after they are updated from the stop reply packet.

(just to be clear, the m_thread_pcs.clear() in ProcessGDBRemote::UpdateThreadIDList that I called a bug -- today we only have two ways of populating that, jThreadsInfo or the thread-pcs: value in the stop packet. So clearing it unconditionally here, and then populating it from thread_pcs: seems reasonable.)

Jul 9 2018, 2:00 PM
jasonmolenda added a comment to D48868: [LLDB] In ProcessGDBRemote::UpdateThreadIDList(), the thread PCs should not be cleared after they are updated from the stop reply packet.

I could imagine there being a bug in this ProcessGDBRemote::UpdateThreadIDList -> ProcessGDBRemote::UpdateThreadIDsFromStopReplyThreadsValue sequence when talking to a gdb-remote stub that does not implement the lldb-enhancement jThreadsInfo. If jThreadsInfo isn't implemented, we fall back to looking for the thread-pcs: and threads: key-value pairs in the stop packet that we received. We clear m_thread_pcs, then look if thread-pcs: is present (that's one bug) to add all the thread pc values. After that, we look for the threads: list and if it is present, we call UpdateThreadIDsFromStopReplyThreadsValue which clears m_thread_pcs again (bug #2) and then adds any threads listed to the m_thread_ids.

Jul 9 2018, 1:40 PM

Jul 6 2018

jasonmolenda added a comment to D49033: [test-suite] Add a decorator for the lack of libstdcxx on the system..

Is this going to work with non-clang compilers? ('$CXX -x c++ -stdlib=libstdc++ ') I can imagine gcc supporting these same flags, but will this work on windows?

Jul 6 2018, 2:00 PM

Jun 18 2018

jasonmolenda created D48302: Search for kext variants is searching from parent directory when it should not be.
Jun 18 2018, 4:04 PM

May 30 2018

jasonmolenda added a comment to D47539: [Platform] Accept arbitrary kext variants.

LGTM. If we added more knowledge specifically about kext bundle layouts, we could restrict which files we test to see if they are valid binaries - but we'd need to parse the Info.plist at the top (to get the CFBundleExecutable name, and look for variations on that prefix) and we'd need to handle shallow/deep kext bundles. Given how few files are in kext bundles besides the kexts themselves (a couple of plists), this is code is much simpler than encoding all that extra specifics about kexts.

May 30 2018, 6:38 PM

May 29 2018

jasonmolenda added a comment to D47495: [FileSpec] Re-implmenet removeLastPathComponent.

This looks good. My original change in r311622 to add this "remove the last two file path components" should have explicitly said that this is only done for DBGVersion == 2 to make it clearer for people reading the code.

May 29 2018, 2:20 PM

May 16 2018

jasonmolenda accepted D46934: Make ObjectFileMachO work on non-darwin platforms.

Thanks for untangling this Pavel, I hadn't noticed we weren't building this plugin for non-darwin systems. I'd agree with Adrian's comment that we should have a constants like LLDB_KERNEL_SUCCESS / LLDB_KERNEL_INVALID_ARGUMENT, I think the place where -1 was being returned currently would be considered incorrect (it's probably my fault for all I know ;)

May 16 2018, 12:25 PM

May 10 2018

jasonmolenda accepted D46669: Retrieve the deployment target when retrieving an object file's triple.

Looks good.

May 10 2018, 5:41 PM

Apr 16 2018

jasonmolenda updated subscribers of D45703: Use a utility function to speed up "process load image" for POSIX Platforms.
Apr 16 2018, 8:09 PM

Apr 11 2018

jasonmolenda added a comment to D45547: [Command] Implement `stats`.

Ah, no you couldn't set up a command alias like that. Still, if the full name was statistics, you could type 'stat' and it would match. 'stats' wouldn't, though.

Apr 11 2018, 5:41 PM