amccarth (Adrian McCarthy)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 26 2015, 9:26 AM (138 w, 5 d)

Recent Activity

Thu, Sep 21

amccarth committed rL313904: [LLDB] Implement interactive command interruption.
[LLDB] Implement interactive command interruption
Thu, Sep 21, 12:38 PM
amccarth closed D37923: Implement interactive command interruption by committing rL313904: [LLDB] Implement interactive command interruption.
Thu, Sep 21, 12:38 PM

Wed, Sep 20

amccarth accepted D37923: Implement interactive command interruption.

But just a thought: Is it worth doing all the work to scan for line endings for the interruption points? What if, instead, it just printed the next _n_ characters on each iteration until the entire buffer has been printed. Sure, sometimes an interruption will split a line, and sometimes it won't. I'm not sure that's important for interactive usage. It would mean less fiddly code, faster output (because you don't have to scan every character), and a zillion short lines will print as fast as a smaller number of longer lines that represents the same volume of text.

Wed, Sep 20, 4:24 PM
amccarth committed rL313785: Fix the SIGINT handlers.
Fix the SIGINT handlers
Wed, Sep 20, 11:11 AM
amccarth closed D37926: Fix the SIGINT handlers by committing rL313785: Fix the SIGINT handlers.
Wed, Sep 20, 11:11 AM

Tue, Sep 19

amccarth committed rL313655: Re-land r313210 - Fix for bug 34532 - A few rough corners related to post….
Re-land r313210 - Fix for bug 34532 - A few rough corners related to post…
Tue, Sep 19, 11:09 AM

Mon, Sep 18

amccarth committed rL313540: Revert "Fix for bug 34532 - A few rough corners related to post-mortem….
Revert "Fix for bug 34532 - A few rough corners related to post-mortem…
Mon, Sep 18, 9:01 AM

Fri, Sep 15

amccarth added inline comments to D37923: Implement interactive command interruption.
Fri, Sep 15, 1:48 PM
amccarth added a comment to D37923: Implement interactive command interruption.

I haven't looked at the whole patch yet, but it seems the SIGINT fix is well isolated. That should probably be in a separate patch.

Fri, Sep 15, 1:16 PM

Wed, Sep 13

amccarth committed rL313210: Fix for bug 34532 - A few rough corners related to post-mortem debugging….
Fix for bug 34532 - A few rough corners related to post-mortem debugging…
Wed, Sep 13, 3:58 PM
amccarth closed D37651: Fix for bug 34532 - A few rough corners related to post-mortem debugging (core/minidump) by committing rL313210: Fix for bug 34532 - A few rough corners related to post-mortem debugging….
Wed, Sep 13, 3:58 PM
amccarth added a comment to D37651: Fix for bug 34532 - A few rough corners related to post-mortem debugging (core/minidump).

@sas: Do the latest changes address your concerns with this patch?

Wed, Sep 13, 2:15 PM
amccarth committed rL313192: Mark static member functions as static in CodeViewDebug.
Mark static member functions as static in CodeViewDebug
Wed, Sep 13, 1:55 PM
amccarth closed D37715: Mark static member functions as static in CodeViewDebug by committing rL313192: Mark static member functions as static in CodeViewDebug.
Wed, Sep 13, 1:55 PM
amccarth accepted D37651: Fix for bug 34532 - A few rough corners related to post-mortem debugging (core/minidump).

LGTM. Thanks for adding the tests.

Wed, Sep 13, 10:53 AM
amccarth added a comment to D37715: Mark static member functions as static in CodeViewDebug.
In D37715#868973, @rnk wrote:

Looks good! Make sure to run check-clang and check-llvm. The CGDebugInfo.cpp change might affect clang codegen tests that generate debug info for DWARF.

Wed, Sep 13, 9:09 AM

Tue, Sep 12

amccarth updated the diff for D37715: Mark static member functions as static in CodeViewDebug.

Adds code-gen test. Corrects problem with first param of static method being
treated as the type of the this pointer. Addresses style suggestions.

Tue, Sep 12, 5:10 PM
amccarth added a comment to D37715: Mark static member functions as static in CodeViewDebug.

Good tip on the lowering. Extra test coming momentarily.

Tue, Sep 12, 5:09 PM

Mon, Sep 11

amccarth added a reviewer for D37715: Mark static member functions as static in CodeViewDebug: rnk.
Mon, Sep 11, 3:31 PM
amccarth created D37715: Mark static member functions as static in CodeViewDebug.
Mon, Sep 11, 3:25 PM

Fri, Sep 8

amccarth added a comment to D37651: Fix for bug 34532 - A few rough corners related to post-mortem debugging (core/minidump).

I think I agree with Jim that it would be better to propagate an error from DoResume than to introduce CanResume. I could imagine situations where DoResume could fail for a reason that CanResume was unable to predict. Having one path for handling failure to resume seems cleaner.

Fri, Sep 8, 5:07 PM

Thu, Sep 7

amccarth added inline comments to D37602: Properly hook debuginfo-tests up to lit and CMake.
Thu, Sep 7, 4:38 PM
amccarth committed rL312735: Fix for bug 34510 - Minidump target does not resolve new symbols correctly.
Fix for bug 34510 - Minidump target does not resolve new symbols correctly
Thu, Sep 7, 11:31 AM
amccarth closed D37527: Fix for bug 34510 - Minidump target does not resolve new symbols correctly by committing rL312735: Fix for bug 34510 - Minidump target does not resolve new symbols correctly.
Thu, Sep 7, 11:31 AM
amccarth added a comment to D37527: Fix for bug 34510 - Minidump target does not resolve new symbols correctly.

I'll commit it momentarily.

Thu, Sep 7, 11:16 AM

Wed, Sep 6

amccarth accepted D37527: Fix for bug 34510 - Minidump target does not resolve new symbols correctly.

This looks fine.

Wed, Sep 6, 2:12 PM

Tue, Sep 5

amccarth added a comment to D37409: [CodeView] Don't output nested typedefs that are scoped to classes..

Nice description of the problem.

Tue, Sep 5, 8:32 AM

Thu, Aug 31

amccarth added a comment to D37331: [ELF] Prevent crash with binary inputs with non-ascii file names.
In D37331#858023, @ruiu wrote:

Find a unicode character whose encoding contains a byte > 128

Its basically any non-ASCII character. But is it portable? I mean, for example, if Windows crt converts an command line argument into UTF-16 encoding, this test will fail due to the difference of number of underscores.

Thu, Aug 31, 1:20 PM

Aug 4 2017

amccarth committed rL310144: Enable llvm-pdbutil to list enumerations using native PDB reader.
Enable llvm-pdbutil to list enumerations using native PDB reader
Aug 4 2017, 3:38 PM
amccarth closed D35738: Enable llvm-pdbutil to list enumerations using native PDB reader by committing rL310144: Enable llvm-pdbutil to list enumerations using native PDB reader.
Aug 4 2017, 3:38 PM
amccarth updated the diff for D35738: Enable llvm-pdbutil to list enumerations using native PDB reader.

Addressed additional feedback.

Aug 4 2017, 1:46 PM
amccarth added inline comments to D35738: Enable llvm-pdbutil to list enumerations using native PDB reader.
Aug 4 2017, 1:16 PM
amccarth added a comment to D35738: Enable llvm-pdbutil to list enumerations using native PDB reader.

PTAL.

Aug 4 2017, 10:30 AM
amccarth updated the diff for D35738: Enable llvm-pdbutil to list enumerations using native PDB reader.

Simplified NativeEnumTypes by moving work to NativeSession which already had
access to Tpi and thus LazyRandomTypeCollection. NativeEnumTypes can now
exactly answer how many objects is knows about because it scans the types
when its constructed and maintains a vector of the relevant TypeIndexes.

Aug 4 2017, 10:01 AM

Aug 2 2017

amccarth added a comment to D35738: Enable llvm-pdbutil to list enumerations using native PDB reader.

I'll ping when it's ready for another look.

Aug 2 2017, 9:59 AM

Aug 1 2017

amccarth updated the diff for D35738: Enable llvm-pdbutil to list enumerations using native PDB reader.

Enable llvm-pdbutil to list enumerations using native PDB reader

Aug 1 2017, 3:50 PM

Jul 28 2017

amccarth added a comment to D35738: Enable llvm-pdbutil to list enumerations using native PDB reader.

I'm reworking NativeEnumTypes per the discussion. I'll have an update on Monday.

Jul 28 2017, 4:54 PM
amccarth added inline comments to D35738: Enable llvm-pdbutil to list enumerations using native PDB reader.
Jul 28 2017, 11:17 AM

Jul 27 2017

amccarth added a comment to D35738: Enable llvm-pdbutil to list enumerations using native PDB reader.

Is it that much extra work to implement children? It would be nice if this could just be feature complete. It seems like all you have to do is read the FieldList member of the CodeView record, load that item, and then create an enumerator that iterates each item and returns a NativeConstantSymbol or whatever we're calling it

Jul 27 2017, 5:01 PM

Jul 21 2017

amccarth created D35738: Enable llvm-pdbutil to list enumerations using native PDB reader.
Jul 21 2017, 3:02 PM

Jul 17 2017

amccarth abandoned D35506: Fix after r308190..

Beaten to it by r308219.

Jul 17 2017, 2:36 PM
amccarth created D35506: Fix after r308190..
Jul 17 2017, 2:09 PM

Jul 12 2017

amccarth committed rL307834: [PDB] Enable NativeSession to create symbols for built-in types on demand.
[PDB] Enable NativeSession to create symbols for built-in types on demand
Jul 12 2017, 12:38 PM
amccarth closed D35163: [PDB] Enable NativeSession to create symbols for built-in types on demand by committing rL307834: [PDB] Enable NativeSession to create symbols for built-in types on demand.
Jul 12 2017, 12:38 PM
amccarth committed rL307823: Temporary fix to green up the build bots on behalf of zturner who's on vacation..
Temporary fix to green up the build bots on behalf of zturner who's on vacation.
Jul 12 2017, 11:10 AM

Jul 11 2017

amccarth updated the diff for D35163: [PDB] Enable NativeSession to create symbols for built-in types on demand.

Switched from std::unordered_map to llvm::DenseMap per zturner's suggestion.

Jul 11 2017, 3:48 PM
amccarth added inline comments to D35163: [PDB] Enable NativeSession to create symbols for built-in types on demand.
Jul 11 2017, 1:31 PM
amccarth updated the diff for D35163: [PDB] Enable NativeSession to create symbols for built-in types on demand.

Addressed feedback from zturner and rnk.

Jul 11 2017, 1:31 PM
amccarth added a comment to D35163: [PDB] Enable NativeSession to create symbols for built-in types on demand.

I've got one more suggestion from Zach to take care of, then I'll upload an updated patch.

Jul 11 2017, 12:02 PM

Jul 10 2017

amccarth added inline comments to D35224: [lld/pdb] Create an empty public symbol records stream.
Jul 10 2017, 3:16 PM

Jul 9 2017

amccarth created D35163: [PDB] Enable NativeSession to create symbols for built-in types on demand.
Jul 9 2017, 6:13 AM

Jul 5 2017

amccarth added inline comments to D34915: [pdb] Add a test for every known CodeView type.
Jul 5 2017, 4:50 PM

Jun 28 2017

amccarth added a comment to D34667: [Demangler] [DO NOT SUBMIT] Initial patch for Microsoft demangler..

So the idea is to convert the mangled name to an AST and then convert the AST to a string. That makes sense. But is the string form of the result always enough? Will there ever be a need for a caller to get the AST or some other representation?

Jun 28 2017, 4:37 PM
amccarth committed rL306610: Introduce symbol cache to PDB NativeSession.
Introduce symbol cache to PDB NativeSession
Jun 28 2017, 3:48 PM

Jun 27 2017

amccarth updated the diff for D34542: Introduce symbol cache to PDB NativeSession.

Fixed order of includes to comply with LLVM style

Jun 27 2017, 3:31 PM
amccarth added inline comments to D34542: Introduce symbol cache to PDB NativeSession.
Jun 27 2017, 3:15 PM
amccarth updated the diff for D34542: Introduce symbol cache to PDB NativeSession.

Addresses feedback from zturner.

Jun 27 2017, 2:41 PM
amccarth added inline comments to D34542: Introduce symbol cache to PDB NativeSession.
Jun 27 2017, 2:39 PM
amccarth added a comment to D34542: Introduce symbol cache to PDB NativeSession.

ping

Jun 27 2017, 1:16 PM

Jun 23 2017

amccarth added a comment to D34553: Shorten sanitizer plugin names.

Thanks for doing this. This seems a reasonable alternative to fixing all the build tools upstream. And overly long paths are difficult to read.

Jun 23 2017, 11:07 AM

Jun 22 2017

amccarth created D34542: Introduce symbol cache to PDB NativeSession.
Jun 22 2017, 4:37 PM
amccarth committed rL306043: Fix build break by using llvm::make_unique instead of std::make_unique..
Fix build break by using llvm::make_unique instead of std::make_unique.
Jun 22 2017, 11:58 AM
amccarth committed rL306042: Add IDs and clone methods to NativeRawSymbol.
Add IDs and clone methods to NativeRawSymbol
Jun 22 2017, 11:44 AM
amccarth committed rL306041: Make IPDBSession::getGlobalScope a non-const method.
Make IPDBSession::getGlobalScope a non-const method
Jun 22 2017, 11:43 AM
amccarth accepted D34491: [PDB] Fix reading of clang-generated PDBs by CVDump..

Thanks for the clarification.

Jun 22 2017, 10:05 AM
amccarth added inline comments to D34491: [PDB] Fix reading of clang-generated PDBs by CVDump..
Jun 22 2017, 7:57 AM

Jun 21 2017

amccarth created D34479: Add IDs and clone methods to NativeRawSymbol.
Jun 21 2017, 2:57 PM
amccarth created D34468: Make IPDBSession::getGlobalScope a non-const method.
Jun 21 2017, 11:46 AM

Jun 16 2017

amccarth added inline comments to D34284: [StringRef] Make getAsInteger a tad more robust..
Jun 16 2017, 12:34 PM

Jun 13 2017

amccarth added a comment to D20217: Add direct control of whether or not a symbol is preemtable at runtime.

Which word is more common, preemptable or preemptible?
This patch uses preemptable, and the discussion here uses both. man elf on Linux uses preemptible.

Jun 13 2017, 10:15 AM

Jun 9 2017

amccarth added a comment to D34058: Rename llvm-pdbdump -> llvm-pdbutil.

It looks like some unrelated changes got mixed in here.

Jun 9 2017, 9:59 AM

Jun 1 2017

amccarth added a comment to D33785: [CodeView] Fix alignment / padding when writing symbol records.
In D33785#770614, @rnk wrote:

I guess I'm saying it seems nice to always write aligned records until we come up with some reason to not write aligned records. Having the flexibility to do either seems good. We definitely have to read the unaligned records.

Jun 1 2017, 2:31 PM

May 24 2017

amccarth accepted D33475: [pdb] pad source file name buffer at the end instead of the beginning.
May 24 2017, 3:17 PM
amccarth added a comment to D33475: [pdb] pad source file name buffer at the end instead of the beginning.

Thanks for checking! I'd like to see that conclusion in a comment somewhere appropriate and a test to make sure it doesn't regress.

May 24 2017, 11:45 AM
amccarth added a comment to D33475: [pdb] pad source file name buffer at the end instead of the beginning.

I'm slightly confused by the summary. This patch changes where the names are written to. How do we know that right versus changing where the names are read from?

May 24 2017, 8:15 AM

May 16 2017

amccarth accepted D33245: Simplify the use of CVTypeVisitor.

I'm happy.

May 16 2017, 3:45 PM
amccarth committed rL303215: Add test for FixedStreamArrayIterator::operator->.
Add test for FixedStreamArrayIterator::operator->
May 16 2017, 3:24 PM
amccarth closed D33249: Add test for FixedStreamArrayIterator::operator-> by committing rL303215: Add test for FixedStreamArrayIterator::operator->.
May 16 2017, 3:24 PM
amccarth added a comment to D33245: Simplify the use of CVTypeVisitor.

Having just figured out some of this pipeline stuff, I really appreciate making this easier to user.

May 16 2017, 1:41 PM
amccarth created D33249: Add test for FixedStreamArrayIterator::operator->.
May 16 2017, 11:11 AM

May 5 2017

amccarth committed rL302257: Allow operator-> to work from a FixedStreamArrayIterator..
Allow operator-> to work from a FixedStreamArrayIterator.
May 5 2017, 10:27 AM

May 4 2017

amccarth accepted D32873: [pdb] Don't verify TPI hash values up front.
May 4 2017, 1:37 PM
amccarth accepted D32870: [pdb] Don't build the entire source file list up front..

Thanks for the changes. Those make it much easier to understand.

May 4 2017, 12:49 PM
amccarth added inline comments to D32870: [pdb] Don't build the entire source file list up front..
May 4 2017, 11:09 AM

Apr 26 2017

amccarth accepted D32547: [CodeView] Isolate the parsing code for various types of CV debug info fragments.

I'm satisfied, but you might want to wait to hear from at least one other reviewer.

Apr 26 2017, 3:27 PM
amccarth added a comment to D32547: [CodeView] Isolate the parsing code for various types of CV debug info fragments.

Looks nice. I noticed just minor stuff.

Apr 26 2017, 2:37 PM

Apr 20 2017

amccarth committed rL300877: VarStreamArrayIterator needed non-const operator* overload..
VarStreamArrayIterator needed non-const operator* overload.
Apr 20 2017, 12:49 PM
amccarth closed D32235: VarStreamArrayIterator needed non-const operator* overload by committing rL300877: VarStreamArrayIterator needed non-const operator* overload..
Apr 20 2017, 12:48 PM
amccarth retitled D32235: VarStreamArrayIterator needed non-const operator* overload from Add `operator->` overload to VarStreamArrayIterator to VarStreamArrayIterator needed non-const operator* overload.
Apr 20 2017, 11:48 AM
amccarth updated the diff for D32235: VarStreamArrayIterator needed non-const operator* overload.

Better solution after discussion with inglorion and zturner.

Apr 20 2017, 11:47 AM

Apr 19 2017

amccarth created D32235: VarStreamArrayIterator needed non-const operator* overload.
Apr 19 2017, 11:17 AM
amccarth added inline comments to D32212: Create some helpers for generating bit masks.
Apr 19 2017, 9:26 AM

Apr 10 2017

amccarth committed rL299848: Improves pretty printing of variable types in llvm-pdbdump.
Improves pretty printing of variable types in llvm-pdbdump
Apr 10 2017, 9:56 AM
amccarth closed D31832: Improves pretty printing of variable types in llvm-pdbdump by committing rL299848: Improves pretty printing of variable types in llvm-pdbdump.
Apr 10 2017, 9:55 AM
amccarth added a comment to D31832: Improves pretty printing of variable types in llvm-pdbdump.

Thanks for the review, especially for the heads up on the merge points.

Apr 10 2017, 9:48 AM

Apr 7 2017

amccarth created D31832: Improves pretty printing of variable types in llvm-pdbdump.
Apr 7 2017, 3:49 PM
amccarth added a comment to D31802: Add methods to find the next *unset* bits in a bit vector.

Not really in the scope of this change, but, since BitVector has these STL-like methods, 'twould be nice if there were a BitVector::npos analogous to std::basic_string::npos rather than having all the users of the class have to hardcode the magic value or make vague checks like >= 0.

Apr 7 2017, 7:54 AM
amccarth accepted D31800: [llvm-pdbdump] Display padding bytes on record layout.

With this, it seems llvm-pdbdump is becoming a more sophisticated analysis tool rather than just a dumper. It makes me wonder whether this is the best tool to do this kind of analysis. On the one hand, it works for any binary with a PDB, whether it's built by clang or MSVC. On the other hand, it's not useful for clang-built binaries targeting other platforms. It almost seems like it should be done looking at the IR rather than the final debug info.

Apr 7 2017, 7:42 AM

Apr 6 2017

amccarth accepted D31794: Allow specification of what kinds of class members to dump.

Clang-format did some awkward comment wrapping in some of the new code.

Apr 6 2017, 4:45 PM
amccarth accepted D31791: Allow llvm-pdbdump pretty mode to only dump certain types of types.

LGTM

Apr 6 2017, 3:58 PM