| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[lldb][DWARFIndex] Adapt DWARFIndex DIERefCallback to IterationAction (#152001) Continuation of https://github.com/llvm/llvm-project/pull/151489 | 1 年前 | |
[lldb][DWARFIndex] Adapt DWARFIndex DIERefCallback to IterationAction (#152001) Continuation of https://github.com/llvm/llvm-project/pull/151489 | 1 年前 | |
[lldb] Support DW_OP_WASM_location in DWARFExpression (#151010) Add support for DW_OP_WASM_location in DWARFExpression. This PR rebases #78977 and cleans up the unit test. The DWARF extensions are documented at https://yurydelendik.github.io/webassembly-dwarf/ and supported by LLVM-based toolchains such as Clang, Swift, Emscripten, and Rust. | 1 年前 | |
[LLDB][NFC] Create a namespace for the DWARF plugin (#68150) As a followup of https://github.com/llvm/llvm-project/pull/67851, I'm defining a new namespace lldb_plugin::dwarf for the classes in this Plugins/SymbolFile/DWARF folder. This change is very NFC and helped me with exporting the necessary symbols for my out-of-tree language plugin. The only class that I didn't change is ClangDWARFASTParser, because that shouldn't be in the same namespace as the generic language-agnostic dwarf parser. It would be a good idea if other plugins follow the same namespace scheme. | 2 年前 | |
[lldb/DWARF] s/DWARFRangeList/llvm::DWARFAddressRangeVector (#116620) The main difference is that the llvm class (just a std::vector in disguise) is not sorted. It turns out this isn't an issue because the callers either: - ignore the range list; - convert it to a different format (which is then sorted); - or query the minimum value (which is faster than sorting) The last case is something I want to get rid of in a followup as a part of removing the assumption that function's entry point is also its lowest address. | 1 年前 | |
[lldb] Eliminate namespace lldb_private::dwarf (NFC) (#150073) Eliminate the lldb_private::dwarf namespace, in favor of using llvm::dwarf directly. The latter is shorter, and this avoids ambiguity in the ABI plugins that define a dwarf namespace inside an anonymous namespace. | 1 年前 | |
[lldb] (Begin to) support discontinuous lldb_private::Functions (#115730) This is the beginning of a different, more fundamental approach to handling. This PR tries to tries to minimize functional changes. It only makes sure that we store the true set of ranges inside the function object, so that subsequent patches can make use of it. | 1 年前 | |
[LLDB][DWARF] Use the same qualified name computation for Rust (#165840) Currently LLDB's ParseRustVariantPart generates the following CXXRecordDecl for a Rust enum rust enum AA { A(u8) } `` CXXRecordDecl 0x5555568d5970 <<invalid sloc>> <invalid sloc> struct AA |-CXXRecordDecl 0x5555568d5ab0 <<invalid sloc>> <invalid sloc> union test_issue::AA$Inner definition | |-CXXRecordDecl 0x5555568d5d18 <<invalid sloc>> <invalid sloc> struct A$Variant definition | | |-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable trivial | | | -Destructor simple irrelevant trivial needs_implicit | | -FieldDecl 0x555555a77880 <<invalid sloc>> <invalid sloc> value 'test_issue::AA::A' | -FieldDecl 0x555555a778f0 <<invalid sloc>> <invalid sloc> $variant$ 'test_issue::AA::test_issue::AA$Inner::A$Variant' |-CXXRecordDecl 0x5555568d5c48 <<invalid sloc>> <invalid sloc> struct A definition | -FieldDecl 0x555555a777e0 <<invalid sloc>> <invalid sloc> __0 'unsigned char' -FieldDecl 0x555555a77960 <<invalid sloc>> <invalid sloc> $variants$ 'test_issue::AA::test_issue::AA$Inner' `` While when the Rust enum type name is the same as its variant name, the generated CXXRecordDecl becomes the following – there's a circular reference between struct A$Variant and struct A, causing #163048. rust enum A { A(u8) } ` CXXRecordDecl 0x5555568d5760 <<invalid sloc>> <invalid sloc> struct A |-CXXRecordDecl 0x5555568d58a0 <<invalid sloc>> <invalid sloc> union test_issue::A$Inner definition | |-CXXRecordDecl 0x5555568d5a38 <<invalid sloc>> <invalid sloc> struct A$Variant definition | | -FieldDecl 0x5555568d5b70 <<invalid sloc>> <invalid sloc> value 'test_issue::A' <---- bug here | -FieldDecl 0x5555568d5be0 <<invalid sloc>> <invalid sloc> $variant$ 'test_issue::A::test_issue::A$Inner::A$Variant' -FieldDecl 0x5555568d5c50 <<invalid sloc>> <invalid sloc> $variants$ 'test_issue::A::test_issue::A$Inner' `` The problem was caused by GetUniqueTypeNameAndDeclaration not returning the correct qualified name for DWARF DIE test_issue::A::A, instead, it returned A. This caused ParseStructureLikeDIE to find the wrong type test_issue::A and returned early. The failure in GetUniqueTypeNameAndDeclaration` appears to stem from a language check that returns early unless the language is C++. I changed it so Rust follows the C++ path rather than returning. I’m not entirely sure this is the right approach — Rust’s qualified name rules look similar, but not identical? Alternatively, we could add a Rust-specific implementation that forms qualified names according to Rust's rules. | 8 个月前 | |
[lldb][DWARF] Support DW_AT_bit_size on type tags (#165686) One (DWARF-spec compliant) exmample is: https://github.com/llvm/llvm-project/pull/164372, where we attach a DW_AT_bit_size to _BitInt types that can't be exactly described by a byte-size. This patch adds support for DW_AT_bit_size to DWARFASTParserClang when parsing type tags. Note, we don't use this bit-size yet, but will do so in follow-up patches. | 9 个月前 | |
[lldb] Eliminate namespace lldb_private::dwarf (NFC) (#150073) Eliminate the lldb_private::dwarf namespace, in favor of using llvm::dwarf directly. The latter is shorter, and this avoids ambiguity in the ABI plugins that define a dwarf namespace inside an anonymous namespace. | 1 年前 | |
[LLDB][NFC] Create a namespace for the DWARF plugin (#68150) As a followup of https://github.com/llvm/llvm-project/pull/67851, I'm defining a new namespace lldb_plugin::dwarf for the classes in this Plugins/SymbolFile/DWARF folder. This change is very NFC and helped me with exporting the necessary symbols for my out-of-tree language plugin. The only class that I didn't change is ClangDWARFASTParser, because that shouldn't be in the same namespace as the generic language-agnostic dwarf parser. It would be a good idea if other plugins follow the same namespace scheme. | 2 年前 | |
[lldb][DWARF] Remove obsolete calls to Supports_DW_AT_APPLE_objc_complete_type and DW_AT_decl_file_attributes_are_invalid (#120226) Depends on https://github.com/llvm/llvm-project/pull/120225 With llvm-gcc support being removed from LLDB, these APIs are now trivial and can be removed too. | 1 年前 | |
Reapply "[lldb][dwarf] Compute fully qualified names on simplified template names with DWARFTypePrinter (#117071)" 9de73b20404f0b2db1cbf70d164cfe0789d5bb94 lands a fix to DWARFTypePrinter that is used by lldb in this change. | 1 年前 | |
[lldb/DWARF] s/DWARFRangeList/llvm::DWARFAddressRangeVector (#116620) The main difference is that the llvm class (just a std::vector in disguise) is not sorted. It turns out this isn't an issue because the callers either: - ignore the range list; - convert it to a different format (which is then sorted); - or query the minimum value (which is faster than sorting) The last case is something I want to get rid of in a followup as a part of removing the assumption that function's entry point is also its lowest address. | 1 年前 | |
[lldb] Switch to llvm::DWARFUnitHeader (#89808) These are now close enough that they can be swapped out. | 2 年前 | |
Allow lldb to load .dwp files with large .debug_info or .debug_types. (#73736) A previous patch to llvm allowed the DWARFUnitIndex class to handle .debug_info.dwo and .debug_types.dwo sections to go over 4GB by checking for this case and fixing up the DWARFUnitIndex. LLDB's DWARF parser tries to use the llvm's DWARF parser when it can, and LLDB's DWARF parser uses the llvm::DWARFUnitIndex which should allow us to load large .dwp files, but there were a few things missing on the LLDB front: - support for parsing DWARFUnit objects when the offset exceeds 4GB due to a 32 bit truncation issue - not populating the required DWARF sections when we call DWARFContext::GetAsLLVM() which didn't allow the fixups to happen as the data was missing. This patch fixes these issues and now allows LLDB to parse large .dwp files without issues. The issue was discovered when running the "target modules dump separate-debug-info" command on one of these binaries that used a large .dwp file. This is unfortunately hard to test without creating a huge .dwp file, so there are currently no tests for this that I can think of adding that wouldn't cause disk space constraints or making testing times longer by producing a huge .dwp file. | 2 年前 | |
[LLDB][NFC] Create a namespace for the DWARF plugin (#68150) As a followup of https://github.com/llvm/llvm-project/pull/67851, I'm defining a new namespace lldb_plugin::dwarf for the classes in this Plugins/SymbolFile/DWARF folder. This change is very NFC and helped me with exporting the necessary symbols for my out-of-tree language plugin. The only class that I didn't change is ClangDWARFASTParser, because that shouldn't be in the same namespace as the generic language-agnostic dwarf parser. It would be a good idea if other plugins follow the same namespace scheme. | 2 年前 | |
[lldb] Replace SmallSet with SmallPtrSet (NFC) (#154366) This patch replaces SmallSet<T *, N> with SmallPtrSet<T *, N>. Note that SmallSet.h "redirects" SmallSet to SmallPtrSet for pointer element types: template <typename PointeeType, unsigned N> class SmallSet<PointeeType*, N> : public SmallPtrSet<PointeeType*, N> {}; We only have 10 instances that rely on this "redirection". Since the redirection doesn't improve readability, this patch replaces SmallSet with SmallPtrSet for pointer element types. I'm planning to remove the redirection eventually. | 11 个月前 | |
[lldb] Fix lookup of types in anonymous namespaces with -gsimple-template-names (#123054) Anonymous namespaces are supposed to be optional when looking up types. This was not working in combination with -gsimple-template-names, because the way it was constructing the complete (with template args) name scope (i.e., by generating thescope as a string and then reparsing it) did not preserve the information about the scope kinds. Essentially what the code wants here is to call GetTypeLookupContext (that's the function used to get the context in the "regular" code path), but to embelish each name with the template arguments (if they don't have them already). This PR implements exactly that by adding an argument to control which kind of names are we interested in. This should also make the lookup faster as it avoids parsing of the long string, but I haven't attempted to benchmark that. I believe this function can also be used in some other places where we're manually appending template names, but I'm leaving that for another patch. | 1 年前 | |
[lldb] Delete unused DWARFDataExtractor methods (#146356) They are left over from our previous attempt at DWARF64. The new attempt is not using them, and they also don't have equivalents in the llvm DWARFDataExtractor class. | 1 年前 | |
[lldb] Delete unused DWARFDataExtractor methods (#146356) They are left over from our previous attempt at DWARF64. The new attempt is not using them, and they also don't have equivalents in the llvm DWARFDataExtractor class. | 1 年前 | |
[lldb][DWARF] Replace lldb's DWARFDebugArangeSet with llvm's (#110058) They are close enough to swap lldb's DWARFDebugArangeSet with the llvm one. The difference is that llvm's DWARFDebugArangeSet add empty ranges when extracting. To accommodate this, DWARFDebugAranges in lldb filters out empty ranges when extracting. | 1 年前 | |
[LLDB][NFC] Create a namespace for the DWARF plugin (#68150) As a followup of https://github.com/llvm/llvm-project/pull/67851, I'm defining a new namespace lldb_plugin::dwarf for the classes in this Plugins/SymbolFile/DWARF folder. This change is very NFC and helped me with exporting the necessary symbols for my out-of-tree language plugin. The only class that I didn't change is ClangDWARFASTParser, because that shouldn't be in the same namespace as the generic language-agnostic dwarf parser. It would be a good idea if other plugins follow the same namespace scheme. | 2 年前 | |
[lldb] Eliminate namespace lldb_private::dwarf (NFC) (#150073) Eliminate the lldb_private::dwarf namespace, in favor of using llvm::dwarf directly. The latter is shorter, and this avoids ambiguity in the ABI plugins that define a dwarf namespace inside an anonymous namespace. | 1 年前 | |
Add support for using foreign type units in .debug_names. (#87740) This patch adds support for the new foreign type unit support in .debug_names. Features include: - don't manually index foreign TUs if we have info for them - only use the type unit entries that match the .dwo files when we have a .dwp file - fix type unit lookups for .dwo files - fix crashers that happen due to PeekDIEName() using wrong offsets where an entry had DW_IDX_comp_unit and DW_IDX_type_unit entries and when we had no type unit support, it would cause us to think it was a normal DIE in .debug_info from the main executable. --------- Co-authored-by: paperchalice <liujunchang97@outlook.com> | 2 年前 | |
[lldb] Use SmallPtrSet directly instead of SmallSet (NFC) (#154472) I'm trying to remove the redirection in SmallSet.h: template <typename PointeeType, unsigned N> class SmallSet<PointeeType*, N> : public SmallPtrSet<PointeeType*, N> {}; to make it clear that we are using SmallPtrSet. There are only handful places that rely on this redirection. This patch replaces SmallSet to SmallPtrSet where the element type is a pointer. | 11 个月前 | |
[lldb][DWARF] Change GetAttributes to always visit current DIE before recursing (#123261) GetAttributes returns all attributes on a given DIE, including any attributes that the DIE references via DW_AT_abstract_origin and DW_AT_specification. However, if an attribute exists on both the referring DIE and the referenced DIE, the first one encountered will be the one that takes precendence when querying the returned DWARFAttributes. But there was no guarantee in which order those attributes get visited. That means there's no convenient way of ensuring that an attribute of a definition doesn't get shadowed by one found on the declaration. One use-case where we don't want this to happen is for DW_AT_object_pointer (which can exist on both definitions and declarations, see https://github.com/llvm/llvm-project/pull/123089). This patch makes sure we visit the current DIE's attributes before following DIE references. I tried keeping as much of the original GetAttributes unchanged and just add an outer GetAttributes that keeps track of the DIEs we need to visit next. There's precendent for this iteration order in llvm::DWARFDie::findRecursively and also lldb_private::ElaboratingDIEIterator. We could use the latter to implement GetAttributes, though it also follows DW_AT_signature so I decided to leave it for follow-up. | 1 年前 | |
[lldb] Eliminate namespace lldb_private::dwarf (NFC) (#150073) Eliminate the lldb_private::dwarf namespace, in favor of using llvm::dwarf directly. The latter is shorter, and this avoids ambiguity in the ABI plugins that define a dwarf namespace inside an anonymous namespace. | 1 年前 | |
[LLDB][NFC] Create a namespace for the DWARF plugin (#68150) As a followup of https://github.com/llvm/llvm-project/pull/67851, I'm defining a new namespace lldb_plugin::dwarf for the classes in this Plugins/SymbolFile/DWARF folder. This change is very NFC and helped me with exporting the necessary symbols for my out-of-tree language plugin. The only class that I didn't change is ClangDWARFASTParser, because that shouldn't be in the same namespace as the generic language-agnostic dwarf parser. It would be a good idea if other plugins follow the same namespace scheme. | 2 年前 | |
[lldb] Eliminate namespace lldb_private::dwarf (NFC) (#150073) Eliminate the lldb_private::dwarf namespace, in favor of using llvm::dwarf directly. The latter is shorter, and this avoids ambiguity in the ABI plugins that define a dwarf namespace inside an anonymous namespace. | 1 年前 | |
[lldb] Move DWARFDeclContext functions from DWARFDebugInfoEntry to DW… (#95227) …ARFDIE This puts them closer to the other two functions doing something very similar. I've tried to stick to the original logic of the functions as much as possible, though I did apply some easy simplifications. The changes in DWARFDeclContext.h are there to make the unit tests produce more useful error messages. | 2 年前 | |
[LLDB][NFC] Added the interface DWARFExpression::Delegate to break dependencies and reduce lldb-server size (#131645) This patch addresses the issue #129543. After this patch DWARFExpression does not call DWARFUnit directly and does not depend on lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp and a lot of clang code. After this patch the size of lldb-server binary (Linux Aarch64) is reduced from 47MB to 17MB. | 1 年前 | |
[LLDB][NFC] Added the interface DWARFExpression::Delegate to break dependencies and reduce lldb-server size (#131645) This patch addresses the issue #129543. After this patch DWARFExpression does not call DWARFUnit directly and does not depend on lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp and a lot of clang code. After this patch the size of lldb-server binary (Linux Aarch64) is reduced from 47MB to 17MB. | 1 年前 | |
[lldb] Eliminate namespace lldb_private::dwarf (NFC) (#150073) Eliminate the lldb_private::dwarf namespace, in favor of using llvm::dwarf directly. The latter is shorter, and this avoids ambiguity in the ABI plugins that define a dwarf namespace inside an anonymous namespace. | 1 年前 | |
Reapply "[lldb][dwarf] Compute fully qualified names on simplified template names with DWARFTypePrinter (#117071)" 9de73b20404f0b2db1cbf70d164cfe0789d5bb94 lands a fix to DWARFTypePrinter that is used by lldb in this change. | 1 年前 | |
[lldb][DWARFIndex] Adapt DWARFIndex DIERefCallback to IterationAction (#152001) Continuation of https://github.com/llvm/llvm-project/pull/151489 | 1 年前 | |
[lldb][DWARFIndex][NFC] Remove DWARFIndex::IterationActionAdaptor Now that all DWARFIndex APIs have been converted to use IterationAction, the IterationActionAdaptor is unused. | 1 年前 | |
[LLDB][NFC] Create a namespace for the DWARF plugin (#68150) As a followup of https://github.com/llvm/llvm-project/pull/67851, I'm defining a new namespace lldb_plugin::dwarf for the classes in this Plugins/SymbolFile/DWARF folder. This change is very NFC and helped me with exporting the necessary symbols for my out-of-tree language plugin. The only class that I didn't change is ClangDWARFASTParser, because that shouldn't be in the same namespace as the generic language-agnostic dwarf parser. It would be a good idea if other plugins follow the same namespace scheme. | 2 年前 | |
[lldb] Switch to llvm::DWARFUnitHeader (#89808) These are now close enough that they can be swapped out. | 2 年前 | |
[lldb] Add the ability to load DWARF64 .debug_str_offsets tables for DWARF32 DWARF units in .dwp files in LLDB. (#167997) This patch is updating the reading capabilities of the LLDB DWARF parser for a llvm-dwp patch https://github.com/llvm/llvm-project/pull/167457 that will emit .dwp files where the compile units are DWARF32 and the .debug_str_offsets tables will be emitted as DWARF64 to allow .debug_str sections that exceed 4GB in size. | 8 个月前 | |
[lldb] Add the ability to load DWARF64 .debug_str_offsets tables for DWARF32 DWARF units in .dwp files in LLDB. (#167997) This patch is updating the reading capabilities of the LLDB DWARF parser for a llvm-dwp patch https://github.com/llvm/llvm-project/pull/167457 that will emit .dwp files where the compile units are DWARF32 and the .debug_str_offsets tables will be emitted as DWARF64 to allow .debug_str sections that exceed 4GB in size. | 8 个月前 | |
[lldb][DWARFIndex] Adapt DebugNamesDWARFIndex::ProcessEntry to IterationAction (#152025) Continuation of https://github.com/llvm/llvm-project/pull/151489 | 1 年前 | |
[lldb][DWARFIndex] Adapt DebugNamesDWARFIndex::ProcessEntry to IterationAction (#152025) Continuation of https://github.com/llvm/llvm-project/pull/151489 | 1 年前 | |
[lldb] Add more ways to find the .dwp file. (#81067) When using split DWARF we can run into many different ways to store debug info: - lldb loads <exe> which contains skeleton DWARF and needs to find <exe>.dwp - lldb loads <exe> which is stripped but has .gnu_debuglink pointing to <exe>.debug with skeleton DWARF and needs to find <exe>.dwp - lldb loads <exe> which is stripped but has .gnu_debuglink pointing to <exe>.debug with skeleton DWARF and needs to find <exe>.debug.dwp - lldb loads <exe>.debug and needs to find <exe>.dwp Previously we only handled the first two cases. This patch adds support for the latter two. | 2 年前 | |
[lldb] Add more ways to find the .dwp file. (#81067) When using split DWARF we can run into many different ways to store debug info: - lldb loads <exe> which contains skeleton DWARF and needs to find <exe>.dwp - lldb loads <exe> which is stripped but has .gnu_debuglink pointing to <exe>.debug with skeleton DWARF and needs to find <exe>.dwp - lldb loads <exe> which is stripped but has .gnu_debuglink pointing to <exe>.debug with skeleton DWARF and needs to find <exe>.debug.dwp - lldb loads <exe>.debug and needs to find <exe>.dwp Previously we only handled the first two cases. This patch adds support for the latter two. | 2 年前 | |
update ManualDWARFIndex::Index to use std::once (#165896) Small change to use (what I think is) a better practice -- we were using the m_indexed bool member to make sure we called Index() once, but we should just use std::once! This change shouldn't affect functionality. This change may also make concurrent access to Index() thread-safe, though the ManualDWARFIndex API isn't completely thread-safe due to Decode(). I'm not sure if ManualDWARFIndex was ever intended to be thread-safe. Test Plan: ninja check-lldb Tested basic debugging workflow of a couple of large projects I had built. Basically: (lldb) target create <project> (lldb) b main (lldb) r (lldb) step ... I A/B tested the performance of launching several modules with parallel module loading and didn't observe any performance regressions. --------- Co-authored-by: Tom Yang <toyang@fb.com> | 9 个月前 | |
update ManualDWARFIndex::Index to use std::once (#165896) Small change to use (what I think is) a better practice -- we were using the m_indexed bool member to make sure we called Index() once, but we should just use std::once! This change shouldn't affect functionality. This change may also make concurrent access to Index() thread-safe, though the ManualDWARFIndex API isn't completely thread-safe due to Decode(). I'm not sure if ManualDWARFIndex was ever intended to be thread-safe. Test Plan: ninja check-lldb Tested basic debugging workflow of a couple of large projects I had built. Basically: (lldb) target create <project> (lldb) b main (lldb) r (lldb) step ... I A/B tested the performance of launching several modules with parallel module loading and didn't observe any performance regressions. --------- Co-authored-by: Tom Yang <toyang@fb.com> | 9 个月前 | |
[lldb] Preparation for DWARF indexing speedup (#123732) This is part of the work proposed in <https://discourse.llvm.org/t/rfc-speeding-up-dwarf-indexing-again/83979>. One of the change is that the there will be a different structure for holding the partial indexes and the final (consolidated) index. To prepare for this, I'm making the IndexSet structure a template. The index cache encoding/decoding methods are changed into free functions, as they only need to know how to work with the final index. I've moved this functionality to a separate file as all this doesn't really depend on the rest of the ManualDWARFIndex and it needs to be public due to its use in the unit test (both of which indicate that it could be a component of its own). | 1 年前 | |
[lldb] Fix typo in ManualDWARFIndexSet.h operator== wasn't used in production code, but the bad definition made the tests vacuosly pass. | 1 年前 | |
[lldb][DWARFIndex] Adapt DWARFIndex DIERefCallback to IterationAction (#152001) Continuation of https://github.com/llvm/llvm-project/pull/151489 | 1 年前 | |
[lldb][DWARFIndex] Adapt DWARFIndex DIERefCallback to IterationAction (#152001) Continuation of https://github.com/llvm/llvm-project/pull/151489 | 1 年前 | |
Revert "Reland [MS][clang] Add support for vector deleting destructors" (#169116) This reverts 4d10c1165442cbbbc0017b48fcdd7dae1ccf3678 and its two dependent commits: e6b9805b574bb5c90263ec7fbcb94df76d2807a4 and c243406a695ca056a07ef4064b0f9feee7685320, see discussion in https://github.com/llvm/llvm-project/pull/165598#issuecomment-3563825509. | 8 个月前 | |
[lldb][TypeSystem] Enable colored AST dump (#86159) This patch causes the various AST dump commands ( target modules dump ast/target dump typesystem) to be color-highlighted. I added a bool show_color parameter to SymbolFile::DumpClangAST and TypeSystem::Dump. In TypeSystemClang I temporarily sets the getShowColors flag on the owned Clang AST (using an RAII helper) for the duration of the AST dump. We use Debugger::GetUseColors to decide whether to color the AST dump. | 10 个月前 | |
[lldb][TypeSystem] Enable colored AST dump (#86159) This patch causes the various AST dump commands ( target modules dump ast/target dump typesystem) to be color-highlighted. I added a bool show_color parameter to SymbolFile::DumpClangAST and TypeSystem::Dump. In TypeSystemClang I temporarily sets the getShowColors flag on the owned Clang AST (using an RAII helper) for the duration of the AST dump. We use Debugger::GetUseColors to decide whether to color the AST dump. | 10 个月前 | |
[lldb][TypeSystem] Enable colored AST dump (#86159) This patch causes the various AST dump commands ( target modules dump ast/target dump typesystem) to be color-highlighted. I added a bool show_color parameter to SymbolFile::DumpClangAST and TypeSystem::Dump. In TypeSystemClang I temporarily sets the getShowColors flag on the owned Clang AST (using an RAII helper) for the duration of the AST dump. We use Debugger::GetUseColors to decide whether to color the AST dump. | 10 个月前 | |
[lldb][DWARFIndex] Adapt DWARFIndex ObjC APIs to IterationAction (#151839) Continuation of https://github.com/llvm/llvm-project/pull/151489 | 1 年前 | |
[lldb][DWARFIndex] Adapt DWARFIndex ObjC APIs to IterationAction (#151839) Continuation of https://github.com/llvm/llvm-project/pull/151489 | 1 年前 | |
| 1 年前 | ||
[lldb] Support DW_OP_WASM_location in DWARFExpression (#151010) Add support for DW_OP_WASM_location in DWARFExpression. This PR rebases #78977 and cleans up the unit test. The DWARF extensions are documented at https://yurydelendik.github.io/webassembly-dwarf/ and supported by LLVM-based toolchains such as Clang, Swift, Emscripten, and Rust. | 1 年前 | |
[lldb] Support DW_OP_WASM_location in DWARFExpression (#151010) Add support for DW_OP_WASM_location in DWARFExpression. This PR rebases #78977 and cleans up the unit test. The DWARF extensions are documented at https://yurydelendik.github.io/webassembly-dwarf/ and supported by LLVM-based toolchains such as Clang, Swift, Emscripten, and Rust. | 1 年前 | |
[lldb] Eliminate namespace lldb_private::dwarf (NFC) (#150073) Eliminate the lldb_private::dwarf namespace, in favor of using llvm::dwarf directly. The latter is shorter, and this avoids ambiguity in the ABI plugins that define a dwarf namespace inside an anonymous namespace. | 1 年前 | |
Reapply [lldb][DWARF] Delay struct/class/union definition DIE searching when parsing declaration DIEs. (#98361) This is a reapply of https://github.com/llvm/llvm-project/pull/92328 and https://github.com/llvm/llvm-project/pull/93839. It now passes the [test](https://github.com/llvm/llvm-project/commit/de3f1b6d68ab8a0e827db84b328803857a4f60df), which crashes with the original reverted changes. | 2 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 |