Page MenuHomePhabricator

zturner (Zachary Turner)
User

Projects

User does not belong to any projects.

User Details

User Since
May 26 2014, 12:49 PM (237 w, 4 d)

Recent Activity

Yesterday

zturner added a comment to D55727: Add "dump" command as a custom "process plugin" subcommand when ProcessMinidump is used..

This sounds like a good use-case for a lit / FileCheck test. Could you add some simple tests that run lldb with -c on a static minidump with known information inside that we don't change, then run these commands and check the output?

Fri, Dec 14, 3:26 PM
zturner added a comment to D55685: Update Microsoft name mangling scheme for exception specifiers in the type system.

BTW, as far as updating the demangler, as long as it doesn't crash or generate an error on a valid _E mangling, that should be sufficient (with a test). If you want bonus points you can make it print out noexcept when you see the _E, but I won't require it as it's a bit of extra work. If you decide not to do that, I'll just file a bug for it so that we don't forget.

Fri, Dec 14, 3:02 PM
zturner added a comment to D55715: Add AddressSpace mangling to MS mode.

It would be interesting to teach llvm-undname to demangle this more naturally. Right for this mangling: ?f1@@YAXPEAU?$AS_@$00$$CBD@__clang@@@Z I see this demangling: void __cdecl f1(struct __clang::AS_<1, char const> *). That's an accurate representation of the underlying structure, but it would be cool if we had special cases for things in the __clang namespace, so that we could display this as void __cdecl f1(char __attribute__((address_space(1))) const *) {}
`

Fri, Dec 14, 11:25 AM
zturner committed rL349175: [NativePDB] Fix local-variables.cpp test..
[NativePDB] Fix local-variables.cpp test.
Fri, Dec 14, 10:46 AM
zturner committed rLLDB349175: [NativePDB] Fix local-variables.cpp test..
[NativePDB] Fix local-variables.cpp test.
Fri, Dec 14, 10:46 AM
zturner committed rL349173: [ADT] Fix bugs in SmallBitVector..
[ADT] Fix bugs in SmallBitVector.
Fri, Dec 14, 10:24 AM
zturner closed D54933: Fix bugs in SmallBitVector.
Fri, Dec 14, 10:24 AM
zturner committed rL349172: Fix Visual Studio PointerIntPair visualizer.
Fix Visual Studio PointerIntPair visualizer
Fri, Dec 14, 10:23 AM
zturner closed D55252: fix PointerIntPair visualizer.
Fri, Dec 14, 10:23 AM
zturner accepted D55597: lldb-test: Improve newline handling.
Fri, Dec 14, 10:17 AM
zturner committed rL349169: [MS Demangler] Fail gracefully on invalid pointer types..
[MS Demangler] Fail gracefully on invalid pointer types.
Fri, Dec 14, 10:13 AM
zturner committed rL349168: [MS Demangler] Add a regression test for an invalid mangled name..
[MS Demangler] Add a regression test for an invalid mangled name.
Fri, Dec 14, 10:02 AM
zturner committed rL349165: Fix a crash in llvm-undname with invalid types..
Fix a crash in llvm-undname with invalid types.
Fri, Dec 14, 9:47 AM

Thu, Dec 13

zturner added a comment to D55685: Update Microsoft name mangling scheme for exception specifiers in the type system.

Also we still need to put this behind -fms-compatibility-version. Finally, it would be nice if you could also update the demangler (llvm/lib/Demangle/MicrosoftDemangle.cpp)

Thu, Dec 13, 6:47 PM
zturner added a comment to D55685: Update Microsoft name mangling scheme for exception specifiers in the type system.

Ahh I read the new test cases, and all of the test cases are about the case where noexcept function is a parameter, so maybe this is actually the case I was referring to. Can you add a test case for something like this:

Thu, Dec 13, 6:44 PM
zturner added inline comments to D55685: Update Microsoft name mangling scheme for exception specifiers in the type system.
Thu, Dec 13, 6:38 PM
zturner added a comment to D55571: [ast] CreateParameterDeclaration should use an appropriate DeclContext..

Zachary, how did you figure out this can be an issue? Does it fix something we should be testing?

Thu, Dec 13, 2:27 PM
zturner committed rL349067: [NativePDB] Add support for local variables..
[NativePDB] Add support for local variables.
Thu, Dec 13, 10:21 AM
zturner committed rLLDB349067: [NativePDB] Add support for local variables..
[NativePDB] Add support for local variables.
Thu, Dec 13, 10:21 AM
zturner closed D55575: [NativePDB] Support local variables.
Thu, Dec 13, 10:21 AM
zturner committed rLLD349066: Correctly handle skewed streams in drop_front() method..
Correctly handle skewed streams in drop_front() method.
Thu, Dec 13, 10:15 AM
zturner committed rL349066: Correctly handle skewed streams in drop_front() method..
Correctly handle skewed streams in drop_front() method.
Thu, Dec 13, 10:14 AM

Wed, Dec 12

zturner updated the diff for D55575: [NativePDB] Support local variables.

Updated test to be less dependent on the exact format of the source.

Wed, Dec 12, 10:13 AM
zturner committed rLLDB348941: [ast] CreateParameterDeclaration should use an appropriate DeclContext..
[ast] CreateParameterDeclaration should use an appropriate DeclContext.
Wed, Dec 12, 9:22 AM
zturner committed rL348941: [ast] CreateParameterDeclaration should use an appropriate DeclContext..
[ast] CreateParameterDeclaration should use an appropriate DeclContext.
Wed, Dec 12, 9:22 AM
zturner closed D55571: [ast] CreateParameterDeclaration should use an appropriate DeclContext..
Wed, Dec 12, 9:22 AM
zturner added inline comments to D55430: build.py: Implement "gcc" builder.
Wed, Dec 12, 8:42 AM
zturner added inline comments to D55575: [NativePDB] Support local variables.
Wed, Dec 12, 7:37 AM
zturner added inline comments to D55575: [NativePDB] Support local variables.
Wed, Dec 12, 7:37 AM

Tue, Dec 11

zturner added a comment to D55142: Minidump debugging using the native PDB reader.

How large is the PDB file here?

~100kb

Tue, Dec 11, 3:30 PM · Restricted Project
zturner added inline comments to D55574: Remove else statements after returns.
Tue, Dec 11, 3:21 PM
zturner created D55575: [NativePDB] Support local variables.
Tue, Dec 11, 1:24 PM
zturner created D55571: [ast] CreateParameterDeclaration should use an appropriate DeclContext..
Tue, Dec 11, 12:55 PM
zturner added a comment to D55569: [lit] Add a basic implementation of build for GccBuilder.

@labath: Sorry, I didn't miss it, I just forgot about it (that's not much better, I know). I'll look today. If Pavel's is more complete let's use that as a starting point, although TBH I'm fine going with either one.

Tue, Dec 11, 12:52 PM
zturner added inline comments to D55142: Minidump debugging using the native PDB reader.
Tue, Dec 11, 10:38 AM · Restricted Project

Mon, Dec 10

zturner committed rL348813: Fix undefined behavior in Variable.h.
Fix undefined behavior in Variable.h
Mon, Dec 10, 4:19 PM
zturner committed rLLDB348813: Fix undefined behavior in Variable.h.
Fix undefined behavior in Variable.h
Mon, Dec 10, 4:19 PM
zturner added a comment to D55142: Minidump debugging using the native PDB reader.

How large is the PDB file here?

Mon, Dec 10, 11:48 AM · Restricted Project
zturner added inline comments to D55522: Cache memory regions in ProcessMinidump and use the linux maps as the source of the information if available..
Mon, Dec 10, 10:40 AM
zturner added inline comments to D55472: Speadup memory regions handling and cleanup related code.
Mon, Dec 10, 10:01 AM · Restricted Project

Fri, Dec 7

zturner committed rLLDB348631: [NativePDB] Reconstruct function declarations from debug info..
[NativePDB] Reconstruct function declarations from debug info.
Fri, Dec 7, 11:37 AM
zturner committed rL348631: [NativePDB] Reconstruct function declarations from debug info..
[NativePDB] Reconstruct function declarations from debug info.
Fri, Dec 7, 11:37 AM
zturner closed D55384: [NativePDB] Reconstruct FunctionDecl AST nodes from PDB debug info.
Fri, Dec 7, 11:37 AM
zturner updated the diff for D55384: [NativePDB] Reconstruct FunctionDecl AST nodes from PDB debug info.

Removed accidentally added function.

Fri, Dec 7, 10:07 AM
zturner added a comment to D55384: [NativePDB] Reconstruct FunctionDecl AST nodes from PDB debug info.

Clang-cl emits S_LOCAL symbols while MSVC emits S_REGREL32 and S_REGISTER symbols. So, to get more test coverage, I added an MSVC test as well.

I don't want to block this patch, but my thoughts after reading this is that this is repeating the same mistakes that we did with dwarf. The reason we need so much to run our tests in so many configurations is that we haven't found a way way to handle the fact that some things can be expressed in multiple ways in the debug info other than compiling the source code with the compiler which happens to use that dialect. Then, if a later e.g. clang chooses to do the same thing that msvc does, we lose coverage here without anyone noticing. For low-level details like these, I believe a test where the type of the symbol is explicit would be more appropriate (for dwarf that might be a .s file, I don't know if that would work for pdbs).

Fri, Dec 7, 10:04 AM
zturner updated the diff for D55384: [NativePDB] Reconstruct FunctionDecl AST nodes from PDB debug info.

Add some comments regarding fixing DeclContext reconstruction.

Fri, Dec 7, 10:02 AM

Thu, Dec 6

zturner added inline comments to D55318: [Expressions] Add support of expressions evaluation in some object's context.
Thu, Dec 6, 4:58 PM · Restricted Project
zturner added inline comments to D55318: [Expressions] Add support of expressions evaluation in some object's context.
Thu, Dec 6, 4:34 PM · Restricted Project
zturner updated the diff for D55384: [NativePDB] Reconstruct FunctionDecl AST nodes from PDB debug info.

Clang-cl emits S_LOCAL symbols while MSVC emits S_REGREL32 and S_REGISTER symbols. So, to get more test coverage, I added an MSVC test as well. Also a little NFC cleanup in the main source file (basically just making sure these decls get added to the decl map).

Thu, Dec 6, 1:38 PM
zturner accepted D55302: Implement WindowsDYLD::DidAttach for querying the load address with a gdb-remote.

Looks good if the tests pass. If something comes up (fingers crossed) we can always revert again.

Thu, Dec 6, 1:10 PM
zturner created D55384: [NativePDB] Reconstruct FunctionDecl AST nodes from PDB debug info.
Thu, Dec 6, 1:06 PM
zturner accepted D55214: Introduce ObjectFileBreakpad.
Thu, Dec 6, 11:59 AM
zturner committed rLLDB348514: Fix line endings in build.py.
Fix line endings in build.py
Thu, Dec 6, 10:48 AM
zturner committed rL348514: Fix line endings in build.py.
Fix line endings in build.py
Thu, Dec 6, 10:48 AM
zturner committed rLLDB348511: [build.py] Embed the output file name in generated object file names..
[build.py] Embed the output file name in generated object file names.
Thu, Dec 6, 10:43 AM
zturner committed rL348511: [build.py] Embed the output file name in generated object file names..
[build.py] Embed the output file name in generated object file names.
Thu, Dec 6, 10:43 AM
zturner committed rLLDB348505: [PDB] Move some code around. NFC..
[PDB] Move some code around. NFC.
Thu, Dec 6, 9:52 AM
zturner committed rL348505: [PDB] Move some code around. NFC..
[PDB] Move some code around. NFC.
Thu, Dec 6, 9:52 AM
zturner committed rLLD348505: [PDB] Move some code around. NFC..
[PDB] Move some code around. NFC.
Thu, Dec 6, 9:52 AM
zturner committed rLLDB348499: Support skewed stream arrays..
Support skewed stream arrays.
Thu, Dec 6, 8:58 AM
zturner committed rL348499: Support skewed stream arrays..
Support skewed stream arrays.
Thu, Dec 6, 8:58 AM
zturner closed D55344: Support skewed Stream Arrays.
Thu, Dec 6, 8:58 AM

Wed, Dec 5

zturner created D55344: Support skewed Stream Arrays.
Wed, Dec 5, 3:45 PM

Tue, Dec 4

zturner committed rL348319: [build.py] Disable tests on non-Windows..
[build.py] Disable tests on non-Windows.
Tue, Dec 4, 3:59 PM
zturner committed rLLDB348319: [build.py] Disable tests on non-Windows..
[build.py] Disable tests on non-Windows.
Tue, Dec 4, 3:59 PM
zturner committed rL348318: Remove the hash code from CVRecord..
Remove the hash code from CVRecord.
Tue, Dec 4, 3:59 PM
zturner added inline comments to D55214: Introduce ObjectFileBreakpad.
Tue, Dec 4, 3:21 PM
zturner committed rL348314: Fix LLDB build script..
Fix LLDB build script.
Tue, Dec 4, 2:49 PM
zturner committed rLLDB348314: Fix LLDB build script..
Fix LLDB build script.
Tue, Dec 4, 2:49 PM
zturner committed rL348307: [llvm-pdbutil] Remove the analyze subcommand..
[llvm-pdbutil] Remove the analyze subcommand.
Tue, Dec 4, 1:52 PM
zturner committed rLLD348306: [PDB] Emit S_UDT records in LLD..
[PDB] Emit S_UDT records in LLD.
Tue, Dec 4, 1:51 PM
zturner committed rL348306: [PDB] Emit S_UDT records in LLD..
[PDB] Emit S_UDT records in LLD.
Tue, Dec 4, 1:51 PM
zturner closed D55228: [PDB] Emit S_UDT records in LLD.
Tue, Dec 4, 1:51 PM
zturner committed rLLDB348305: [build.py] A few general improvements..
[build.py] A few general improvements.
Tue, Dec 4, 1:51 PM
zturner committed rL348305: [build.py] A few general improvements..
[build.py] A few general improvements.
Tue, Dec 4, 1:51 PM
zturner closed D55230: [lit] Multiple build outputs and default target bitness.
Tue, Dec 4, 1:51 PM
zturner added inline comments to D55228: [PDB] Emit S_UDT records in LLD.
Tue, Dec 4, 11:52 AM
zturner accepted D55236: [codeview] Look through typedefs in getCompleteTypeIndex.
Tue, Dec 4, 11:48 AM
zturner updated the diff for D55228: [PDB] Emit S_UDT records in LLD.

Changed the test to an llvm assembly test, and properly handle collisions. I actually added some instrumentation to detect if any collisions were actually occurring, and I did not find any with a PDB containing 450,000 S_UDT records. On the other hand, I did not measure a performance impact from adding this, so I'm adding it anyway. We can revisit later if it shows up on a profile.

Tue, Dec 4, 11:17 AM
zturner added a comment to D55239: [codeview] Emit typedefs of types derived from incomplete types.

My whole point was that our slowdowns were with cl.exe-generated OBJs, not clang OBJs. If LLD doesn't support this remapping (and dropping) in the same way as link.exe, this won't completly fix S_UDTs.

Tue, Dec 4, 9:29 AM
zturner added inline comments to D55091: Add --analyze option to llvm-dwarfdump.
Tue, Dec 4, 9:26 AM
zturner added a comment to D55239: [codeview] Emit typedefs of types derived from incomplete types.

I just wanted to point out that this overall process of dropping UDT records in the compiler is not the behavior that MSVC exhibits. S_UDTs are (should be) stripped by the linker, not by the compiler.

Tue, Dec 4, 8:59 AM
zturner added a comment to D55091: Add --analyze option to llvm-dwarfdump.

So do we have a consensus where the --analyze option should go? llvm-dwarfdump or llvm-objdump?

Tue, Dec 4, 8:49 AM

Mon, Dec 3

zturner added inline comments to D55239: [codeview] Emit typedefs of types derived from incomplete types.
Mon, Dec 3, 4:03 PM
zturner added a comment to D55228: [PDB] Emit S_UDT records in LLD.

Yea he's right, I was just having a brain fail when I wrote that. I'm updating the code to correctly handle collisions. I don't think we need to do anything special for S_CONSTANT though, because the DenseSet<> is just holding hash values of generic CVSymbol records, which could be any kind of symbol, including S_CONSTANT. With a record-kind-agnostic hash set and the ability to handle collisions, we just need to change the if statement to a switch statement and we can handle all the types we want.

Mon, Dec 3, 2:12 PM
zturner added a comment to D55230: [lit] Multiple build outputs and default target bitness.

What is the reason we aren't using cmake + ninja for this kind of stuff? Or is it using it under the covers?

Mon, Dec 3, 1:04 PM
zturner added inline comments to D55228: [PDB] Emit S_UDT records in LLD.
Mon, Dec 3, 12:08 PM
zturner created D55230: [lit] Multiple build outputs and default target bitness.
Mon, Dec 3, 12:06 PM
zturner committed rL348176: Fix compilation failure on Windows..
Fix compilation failure on Windows.
Mon, Dec 3, 12:02 PM
zturner committed rCTE348176: Fix compilation failure on Windows..
Fix compilation failure on Windows.
Mon, Dec 3, 12:02 PM
zturner updated the diff for D55228: [PDB] Emit S_UDT records in LLD.

Update the diff for real.

Mon, Dec 3, 11:44 AM
zturner updated the diff for D55228: [PDB] Emit S_UDT records in LLD.

Cleanup the test a little bit. Also added a CHECK-NOT: S_END line to make sure that the typedef we emit actually is inside the proper scope.

Mon, Dec 3, 11:43 AM
zturner created D55228: [PDB] Emit S_UDT records in LLD.
Mon, Dec 3, 11:37 AM
zturner added a comment to D55056: [CMake] Default options for faster executables on MSVC.

Some people like to build Release without debug info because debug info slows down the build time. Personally I think debug info should be always-on and we should use the increased build time as a way to motivate people to submit patches to make debug info generation faster, but that's just me :)

Mon, Dec 3, 11:27 AM
zturner added a comment to D54995: [MemoryBuffer] Add the setter to be able to force disabled mmap.

Assuming this patch were to go in as-is (which it probably won't, based on the feedback, but let's just pretend), that would avoid having to explicitly update how many callsites?

Mon, Dec 3, 11:15 AM
zturner committed rL348166: Fix issue with Tpi Stream hash map..
Fix issue with Tpi Stream hash map.
Mon, Dec 3, 11:08 AM
zturner committed rL348160: Don't build the Tpi Hash map by default..
Don't build the Tpi Hash map by default.
Mon, Dec 3, 10:35 AM

Fri, Nov 30

zturner added inline comments to D55142: Minidump debugging using the native PDB reader.
Fri, Nov 30, 4:59 PM · Restricted Project
zturner committed rL348059: Use RequireNullTerminator=false in identify_magic..
Use RequireNullTerminator=false in identify_magic.
Fri, Nov 30, 4:25 PM
zturner committed rL348058: [lit] Add a generic build script with a lit substitution..
[lit] Add a generic build script with a lit substitution.
Fri, Nov 30, 4:25 PM