clayborg (Greg Clayton)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 23 2014, 10:11 AM (143 w, 5 d)

Recent Activity

Mon, Jun 19

clayborg accepted D34352: [linux] Change the way we load vdso pseudo-module.
Mon, Jun 19, 9:16 AM

Thu, Jun 8

clayborg accepted D33426: Introduce new command: thread backtrace unique.
Thu, Jun 8, 7:52 AM

Wed, May 31

clayborg resigned from D33674: Implementation of Intel(R) Processor Trace support for Linux.

I trust Pavel to review this since it is in the Linux native plugins mostly.

Wed, May 31, 10:13 AM
clayborg accepted D33426: Introduce new command: thread backtrace unique.

Looks like a good starting point. Thanks for the changes.

Wed, May 31, 10:11 AM

Tue, May 30

clayborg added a comment to D33426: Introduce new command: thread backtrace unique.

Zach made some comments via e-mail:

Tue, May 30, 9:29 AM
clayborg added a comment to D33426: Introduce new command: thread backtrace unique.

The other option for fixing the problem with showing the wrong variables in the backtraces would be to make up a new frame-format string that is used for uniqued stack frames and use that format when showing uniqued stack frames:

Tue, May 30, 8:39 AM
clayborg added a comment to D33426: Introduce new command: thread backtrace unique.

Clicked submit too early with last comments. After seeing how we previously needed to create a temp UniqueStack just to do the lookup, and also how UniqueStack make its thread index ID list mutable, a better solution is to use a std::map as shown in the inlined comments.

Tue, May 30, 8:37 AM
clayborg added a comment to D33426: Introduce new command: thread backtrace unique.

Much cleaner. After seeing how we must construct a UniqueStack just so we can search for it, an even cleaner solution would be to make unique_stacks into:

Tue, May 30, 8:20 AM

May 26 2017

clayborg added inline comments to D32585: Implementation of remote packets for Trace data..
May 26 2017, 1:45 PM
clayborg accepted D33434: Added new API to SBStructuredData class.
May 26 2017, 10:01 AM
clayborg requested changes to D33426: Introduce new command: thread backtrace unique.

We should probably store the stacks as lldb::addr_t values that are load addresses for quicker comparisons and searches. Inlined code details things more clearly.

May 26 2017, 9:59 AM

May 24 2017

clayborg accepted D33504: Fix FDE indexing while scan debug_info section.
May 24 2017, 9:58 AM
clayborg requested changes to D33434: Added new API to SBStructuredData class.

No need for the "StructuredDataType::" or "lldb::StructuredDataType::" prefixes. Since we aren't using an enum class (it was before) and since all enumerators start with "eStructuredDataType", it is now clear where this enum comes from without prefixing with the enum type name and/or namespace. I know you were replicating what was there before. There are two ways to fix this:
1 - define the lldb::StructuredDataType and "enum class StructuredDataType" and then shorten the names by removing eStructuredDataType from each enumerator
2 - leave lldb::StructuredDataType defined as enum StructuredDataType" and leave the names long and they can be used on their own.

May 24 2017, 9:15 AM
clayborg accepted D32585: Implementation of remote packets for Trace data..

If all R"( strings are under 80 characters, this is good to go. If not, just fix and submit, no extra review needed.

May 24 2017, 9:01 AM

May 23 2017

clayborg added a comment to D32585: Implementation of remote packets for Trace data..

Looks like we are down to just running clang format on the code so the R"( strings don't go over 80 chars and this is good to go from me.

May 23 2017, 10:52 AM
clayborg requested changes to D33434: Added new API to SBStructuredData class.

Very close and overall very nice, just a few implementation details to take care of.

May 23 2017, 10:47 AM
clayborg added a comment to D33426: Introduce new command: thread backtrace unique.

Add a test and fix the minor things as suggested and this will be good to go.

May 23 2017, 10:15 AM

May 22 2017

clayborg added a comment to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

I believe this patch is close enough for an initial checkin. We can iterate on it once it is in? We seem to be down to how to best iterate over ranges in ranges for intersect and for contains. Let me know your thoughts. Or feel free to commandeer this and check it in as you want it...

May 22 2017, 1:08 PM
clayborg requested changes to D32585: Implementation of remote packets for Trace data..

Close, some minor fixes.

May 22 2017, 12:07 PM

May 16 2017

clayborg accepted D33083: [Expression parser] Look up module symbols before hunting globally.

Very nice.

May 16 2017, 3:02 PM
clayborg requested changes to D33083: [Expression parser] Look up module symbols before hunting globally.

Just a few makefile changes where CFLAGS is being modified and this will be good to go. Much better location for this. Sean, please keep an eye out for this kind of thing in the future, I believe there is a lot of type searching code and function searching code that could have the same thing done in the future.

May 16 2017, 1:37 PM
clayborg added inline comments to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
May 16 2017, 11:53 AM
clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
May 16 2017, 11:53 AM
clayborg added a comment to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

Sorry I hadn't posted my reply comments, just did that. Will look at your new comments and answer as needed.

May 16 2017, 11:38 AM
clayborg added inline comments to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
May 16 2017, 11:38 AM
clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
  • Added an assert to catch if we don't remove overlapping or invalid ranges that catches the issue where the lambda was returning false instead of true and modified DieRangeInfo::insert() to assert as mentioned.
  • fixed ::contains and ::intersects to use a more efficient traversal.
  • fixed all other issues
May 16 2017, 8:01 AM

May 15 2017

clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
  • Address all of David's previous issues
May 15 2017, 10:39 AM
clayborg added inline comments to D33077: [TypeSystem] Fix inspection of Objective-C object types.
May 15 2017, 9:13 AM

May 12 2017

clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
  • Created a struct named DWARFRange and test it
  • Move all contains and intersects logic into DWARFRange and DieRangeInfo
  • Create a new DWARFVerify::DIEInfo that contains a DieRangeInfo and a NonOverlappingRanges.
  • Simplify verifyDIE as requested to do everything in one place
  • Modified DieRangeInfo::contains and DieRangeInfo::intersects to be faster
  • Added tests for DieRangeInfo::contains and DieRangeInfo::intersects
  • Removed the SortedRanges class and moved it into DieRangeInfo
May 12 2017, 4:17 PM

May 11 2017

clayborg added a comment to D33083: [Expression parser] Look up module symbols before hunting globally.

Yeah, we need to document exactly what this is doing: looking for the best symbol as an expression parser would want it, preferring symbols from the current module in the SymbolContext, and then looking everywhere. Errors if multiple exist in current module, or in any other modules if not in current, bla bla.

May 11 2017, 2:54 PM
clayborg added a comment to D33083: [Expression parser] Look up module symbols before hunting globally.

The searching code is indeed better and what we now want, but I question of this code should live in ClangExpressionDeclMap::FindGlobalDataSymbol. A better home for this might be in SymbolContext::FindGlobalDataSymbol? Then others can use this functionality. Other clients must want this kind of functionality (other expression parsers). Seems a shame to have it live somewhere where someone would have to copy the code. Thoughts anyone?

May 11 2017, 1:35 PM
clayborg added a comment to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

ping

May 11 2017, 12:16 PM
clayborg added a comment to D32585: Implementation of remote packets for Trace data..

So my question is: if we go the jTrace packet route, I would like to not use GDB remote key/value pairs, and just go full JSON. You can make a new JSON dict and pass all of the GDB remote key/value pairs inside and then you can add a "jparams" key whose value is the JSON from the SB layer. JSON packets start with lower case j, not sure why some were upper cased?

May 11 2017, 9:59 AM

May 10 2017

clayborg added a comment to D33083: [Expression parser] Look up module symbols before hunting globally.

Bonus point for implementing a global symbol search that is aware of the above rules and can stop after step 1 if there are matches, and after step 2 if there are matches, etc.

May 10 2017, 7:58 PM
clayborg added a comment to D33083: [Expression parser] Look up module symbols before hunting globally.

Actually, I take that back. Why do you have to call FindGlobalDataSymbol twice? Shouldn't FindGlobalDataSymbol do that work for you. After all you passed in the module. It should itself prefer symbols in the module...

It also seems wrong that we're just picking the first one in the case where we find two symbols at the same level distant from the current module. Shouldn't that be an error?

May 10 2017, 7:56 PM
clayborg added a comment to D33083: [Expression parser] Look up module symbols before hunting globally.

There is a SymbolContext function sorts types based on the context contained in a SymbolContext. Seems like we should do the same thing here? See SymbolContext::SortTypeList().

May 10 2017, 7:12 PM
clayborg accepted D33025: [DWARF parser] Produce correct template parameter packs.

Very nice

May 10 2017, 5:26 PM
clayborg accepted D33077: [TypeSystem] Fix inspection of Objective-C object types.
May 10 2017, 5:24 PM
clayborg added a comment to D33035: Tool for using Intel(R) Processor Trace hardware feature.

Can we please use the generic process plugin code, not the specific Linux one? If the generic code is insufficient - we should adjust it and alter instances of it (Linux and BSD).

May 10 2017, 11:13 AM
clayborg requested changes to D33035: Tool for using Intel(R) Processor Trace hardware feature.

So we don't want clients of SBStructuredData to have to text scrape and write manual decoders. See my inlined comments on the minimal modifications we need to make to SBStructureData first. This then removes a ton of code from your patch. The SBStructureData modifications should probably be done in separate patch as well. internally lldb_private::StructuredData has everything (dicts, array, strings, integers, bools, nulls) inherit from lldb_private::StructuredData::Object. Then SBStructuredData owns a StructuredDataImpl which has a lldb_private::StructuredData::Object shared pointer, so a lldb::SBStructureData can be any object (dicts, array, strings, integers, bools, nulls). So we should expose the ability to get data from SBStructuredData. See my inlined SBStructureData additions I proposed. We really don't want anyone doing manual JSON text scraping.

May 10 2017, 10:06 AM

May 9 2017

clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

Remove unused DWARFVerifier::verifyNoRangesOverlap() function.

May 9 2017, 9:44 AM
clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

Fixed the core issues David was asking for. Main differences are:

  • Now have SortedRanges class that guarantees ranges are sorted instead of relying on DWARFAddressRangesVector being sorted
  • SortedRanges can report if there are invalid ranges in a DWARFAddressRangesVector and if there are overlaps during insert
  • DieRangeInfo now uses SortedRanges instead of DWARFAddressRangesVector
  • DieRangeInfo now reports errors which really cleans up the DWARFVerifier::verifyDie() function
  • NonOverlappingRanges now can report errors when DIEs have overlapping address ranges which really cleans up the DWARFVerifier::verifyDie() function
May 9 2017, 9:42 AM

May 8 2017

clayborg added a comment to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

So now we have DIERangeInfo:

struct DieRangeInfo {
  DWARFDie Die;
  DWARFAddressRangesVector Ranges;
};
May 8 2017, 3:50 PM
clayborg added inline comments to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
May 8 2017, 3:42 PM
clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
  • Made a new NonOverlappingRanges class.
  • Use it to verify address ranges on the fly for
    • functions within all CUs
    • lexical block and inlined functions in DW_TAG_subprogram DIEs
May 8 2017, 3:41 PM

May 5 2017

clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

Moved ranges comparisons over into header file so we can unit test. The unit tests will help in case we make AnyDWARFRangesIntersect or DWARFRangesContains changes that assume sorted lists and try to do things more efficiently.

May 5 2017, 12:21 PM
clayborg added a comment to D32597: Initiate loading of shared libraries in parallel.

I would suggest adding Pavel and Tamas, or anyone that has contributed to DynamicLoaderPOSIXDYLD as this will affect them.

May 5 2017, 11:24 AM
clayborg added a comment to D32820: Parallelize demangling.

What are the measured improvements here? We can't slow things down on any platforms. I know MacOS didn't respond well to making demangling run in parallel. I want to see some numbers here. And please don't quote numbers with tcmalloc or any special allocator unless you have a patch in LLDB already to make this a build option.

May 5 2017, 9:52 AM
clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

Fixed else after return.

May 5 2017, 9:44 AM
clayborg added inline comments to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
May 5 2017, 9:44 AM
clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

Fixes:

  • addressed Adrian's issues
  • added test for invalid DIE ranges where high pc is less than low pc
May 5 2017, 9:41 AM

May 4 2017

clayborg added a comment to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

Would love to get this one in if anyone any time. I have only one more patch after this for .debug_aranges

May 4 2017, 2:26 PM
clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

Fixed address ranges not being contained errors from incorrectly being reported.

May 4 2017, 11:43 AM
clayborg added a comment to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

David: this approach uses your suggested recursive approach and should make things clearer. It also adds verification of overlapping DW_TAG_lexical_block and DW_TAG_inlined_subroutine that are siblings at any level.

May 4 2017, 11:30 AM
clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
  • Make DIE verification recursive
  • Remove all Depth based code and just pass info from the parent
  • add detection of overalap between DW_TAG_lexical_block or DW_TAG_inlined_subroutine DIEs at the same level
  • rename RangeInfoType to DieRangeInfo
  • create a new VerifyDieInfo to help with verification
May 4 2017, 11:29 AM

May 3 2017

clayborg added a reviewer for D32832: Make ConstString creation and access lockfree: jingham.
May 3 2017, 3:25 PM
clayborg added a comment to D32832: Make ConstString creation and access lockfree.

Sorry missed your first note about perf. This has to be able to handle any number of strings efficiently and growing buckets is probably needed. How many buckets are you starting with here? The design probably shouldn't take up gobs of memory if it just has a few strings as well.

May 3 2017, 3:16 PM
clayborg added a comment to D32832: Make ConstString creation and access lockfree.

Do you have performance numbers here? I am all for it if it improves performance. If this is faster than llvm::StringMap why not just fix it there? Seems like everyone could benefit if you fix it in LLVM?

May 3 2017, 3:11 PM
clayborg added a comment to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

One thing to clarify:

May 3 2017, 1:43 PM
clayborg added a comment to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

And lets just get something to start with and optimize when we actually find something is taking too much memory or an algorithm is not efficient?

May 3 2017, 1:33 PM
clayborg added a comment to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

I haven't followed some of the design direction Adrian's been pointing this work in - so all of this is subject to discussion, etc:

  1. I'd expect not to build an entire representation of all ranges up-front, then verify them (uses more memory, etc) - but rather verify during a traversal of the DIEs instead
May 3 2017, 1:32 PM
clayborg created D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
May 3 2017, 12:02 PM
clayborg accepted D30007: [lldb] Provide API to know which sanitizer generated an eStopReasonInstrumentation.

Looks fine to me, make sure Jim is happy as well.

May 3 2017, 10:27 AM · Restricted Project
clayborg created D32812: Break verification down into smaller functions to keep code clean..
May 3 2017, 9:52 AM
clayborg added a comment to D32809: Create DWARFVerifier.cpp and .h and move all DWARF verification code over into it..

This change is simply for the code moving, not the re-org.

May 3 2017, 9:12 AM
clayborg created D32809: Create DWARFVerifier.cpp and .h and move all DWARF verification code over into it..
May 3 2017, 9:12 AM
clayborg accepted D32757: Add TaskMap for iterating a function over a set of integers.

-glldb doesn't emit the Apple accelerator tables IIRC. We don't need to change the DWARF, but just add the Apple accelerator tables by modifying clang to emit them. They will be just fine with DWO as each DWO file would have a set of them. The other way to do this to just check out if this works is to modify "llvm-dsymutil --update" to be able to work on ELF files. "llvm-dsymutil --update" regenerates the accelerator tables and puts them into the DWARF using an existing file with debug info. It was made in case we missing something in the accelerator tables that we added later so we could update old DWARF files gotten from build servers.

May 3 2017, 8:00 AM

May 2 2017

clayborg added a comment to D32771: Verify that no compile units share the same line table in "llvm-dwarfdump --verify".

It is fine to create a DWARFVerifier.cpp, but can we do that in the next patch? Do you really want to review a patch where everything is moved around? And all functionality is moved around? This patch is nice and self contained.

May 2 2017, 6:13 PM
clayborg created D32771: Verify that no compile units share the same line table in "llvm-dwarfdump --verify".
May 2 2017, 4:19 PM
clayborg added a comment to D32765: Add line table verification to lldb-dwarfdump --verify. AbandonedPublic.

Paul: I will submit a follow up patch for the DW_AT_stmt_list not being found multiple times since this patch is accepted.

May 2 2017, 3:51 PM
clayborg added a comment to D32765: Add line table verification to lldb-dwarfdump --verify. AbandonedPublic.

So, unless somebody can come up with a solid use-case, I'd say it should be an error for two CUs to have the same DW_AT_stmt_list offset. (Maybe this should be in the .debug_info verification instead of the line-table verification, though.)

May 2 2017, 3:43 PM
clayborg added a comment to D32765: Add line table verification to lldb-dwarfdump --verify. AbandonedPublic.

Paul: A future patch will add verification of unique DW_AT_stmt_list values and for verifying that all lines entries are in the CU ranges. I need to get another patch in before I do this as this other patch keeps track of all DW_TAG_subprogram address ranges, CU ranges, and verifies all DW_TAG_lexical_block and DW_TAG_inlined_subroutine are contained in their parents. Once I get that in, I can then verify each row address is found in the CU ranges (if available) and also agains the .debug_aranges (if available).

May 2 2017, 3:39 PM
clayborg added a comment to D32765: Add line table verification to lldb-dwarfdump --verify. AbandonedPublic.

Woops, nice copy and paste error in the title. Sorry about that. Phabricator is getting worse for copy and paste these days...

May 2 2017, 3:35 PM
clayborg added a comment to D32765: Add line table verification to lldb-dwarfdump --verify. AbandonedPublic.

David: I took care of all your requests from the previous patch in this one.

May 2 2017, 3:34 PM
clayborg created D32765: Add line table verification to lldb-dwarfdump --verify. AbandonedPublic.
May 2 2017, 3:33 PM
clayborg abandoned D32754: Add line table verification to lldb-dwarfdump --verify..

Lines have changed too much and a previous patch for llvm-dwarfdump --verify changed where verification happens. I will fix all requested items and make a new diff

May 2 2017, 3:32 PM
clayborg added a comment to D32754: Add line table verification to lldb-dwarfdump --verify..

Can you verify that each CU (that has DW_AT_stmt_list) points to a different place in .debug_line?

May 2 2017, 3:12 PM
clayborg added a comment to D32757: Add TaskMap for iterating a function over a set of integers.

I know no one is using TaskRunner, but I would rather not remove it just yet. It has the possibility of being useful. Not in this case, but in general. I'd be interested in hearing what Pavel and Tamas think? None of this affects LLDB on Mac because all Darwin (macOS, iOS, tvOS, watchOS) have Apple accelerator tables emitted by default. If you really want to speed things up, at least when compiling with a new clang, we can change the compiler to emit the apple accelerator tables on all systems...

May 2 2017, 3:08 PM
clayborg added a comment to D32757: Add TaskMap for iterating a function over a set of integers.

So I don't see where you moved all of the .Append functions. And if you did your timings with them not being in there then your timings are off.

May 2 2017, 2:55 PM
clayborg added inline comments to D32722: Verify that all references point to actual DIEs in "llvm-dwarfdump --verify".
May 2 2017, 1:42 PM
clayborg added a comment to D32722: Verify that all references point to actual DIEs in "llvm-dwarfdump --verify".

Ping

May 2 2017, 12:18 PM
clayborg added a comment to D32757: Add TaskMap for iterating a function over a set of integers.

IMO, this is a simpler interface than TaskRunner. Also, after this, there are no users of TaskRunner left. Should I just delete them?

I think you might not have understood TaskRunner's real benefits. It is smart in the way it runs things: it lets you run N things and get each item as soon as it completes. The TaskMap will serialize everything. So if you have 100 items to do and item 0 takes 200 seconds to complete, and items 1 - 99 take 1ms to complete, you will need to wait for task 0 to complete before you can start parsing the data. This will slow down the DWARF parser if you switch over to this. TaskRunner should not be deleted as it has a very specific purpose. Your TaskMap works fine for one case, but not in the other.

That may provide a benefit on machines with a few cores, but doesn't really help when you have 40+ cores. Granted, the average laptop has 4 cores/8 hyperthreads.

May 2 2017, 11:41 AM
clayborg added a comment to D32757: Add TaskMap for iterating a function over a set of integers.

And note in the DWARF parser you can't add the expensive code that aggregates all of the data into the SymbolFileDWARF into "parser_fn" because only on thread can be putting stuff into SymbolFileDWARF at a time.

May 2 2017, 11:34 AM
clayborg requested changes to D32757: Add TaskMap for iterating a function over a set of integers.

IMO, this is a simpler interface than TaskRunner. Also, after this, there are no users of TaskRunner left. Should I just delete them?

May 2 2017, 11:29 AM
clayborg added a comment to D32754: Add line table verification to lldb-dwarfdump --verify..

Marked things as done and commented where things weren't changed.

May 2 2017, 10:53 AM
clayborg updated the diff for D32754: Add line table verification to lldb-dwarfdump --verify..

Updates:

  • reflow code around StmtFormValue
  • comment that we don't need to create an error where things are already checked in the .debug_info to make things clear
  • Use StringRef where needed
  • clang-format
  • include bad file index in error message and update unit test
  • use '\n' instead of "\n"
May 2 2017, 10:52 AM
clayborg created D32754: Add line table verification to lldb-dwarfdump --verify..
May 2 2017, 9:54 AM

May 1 2017

clayborg added a comment to D32722: Verify that all references point to actual DIEs in "llvm-dwarfdump --verify".

I also moved the verification code over into a Verifier class to prepare for future extra verification steps where we will need to persist data between two steps.

May 1 2017, 4:08 PM
clayborg created D32722: Verify that all references point to actual DIEs in "llvm-dwarfdump --verify".
May 1 2017, 4:07 PM
clayborg updated the diff for D32707: lldb-dwarfdump -verify [-quiet].

Fixed llvm-dwarfdump.cpp to use std::all_of.

May 1 2017, 3:10 PM
clayborg added inline comments to D32707: lldb-dwarfdump -verify [-quiet].
May 1 2017, 2:51 PM
clayborg updated the diff for D32707: lldb-dwarfdump -verify [-quiet].

Don't exit right away in llvm-dwarfdump if we encounter errors, exit with non-zero status after we have iterated across all files.

May 1 2017, 2:40 PM
clayborg added a comment to D32707: lldb-dwarfdump -verify [-quiet].

Marked things done

May 1 2017, 2:36 PM
clayborg updated the diff for D32707: lldb-dwarfdump -verify [-quiet].
  • clang-format
  • fixes for Adrian
May 1 2017, 2:35 PM
clayborg added inline comments to D32707: lldb-dwarfdump -verify [-quiet].
May 1 2017, 2:25 PM
clayborg added inline comments to D32707: lldb-dwarfdump -verify [-quiet].
May 1 2017, 1:09 PM
clayborg accepted D32708: Check for lack of C++ context first when demangling.
May 1 2017, 11:31 AM
clayborg created D32707: lldb-dwarfdump -verify [-quiet].
May 1 2017, 11:05 AM
clayborg abandoned D32625: lldb-dwarfdump -verify [-quiet].

I will split this up as requested.

May 1 2017, 10:58 AM
clayborg accepted D32316: Change UniqueCStringMap to use ConstString as the key.

We can iterate on this.

May 1 2017, 9:38 AM