Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

Michael137 (Michael Buch)
User

Projects

User Details

User Since
Jun 9 2022, 10:32 AM (68 w, 6 d)

Recent Activity

Tue, Sep 12

Michael137 added a comment to D156774: [lldb][DWARFASTParserClang] Resolve nested types when parsing structures.

Also, I assume the extra changes to make the PointerIntPair formatter work will be in a follow-up patch?

Tue, Sep 12, 1:19 PM · Restricted Project, Restricted Project
Michael137 added a comment to D156774: [lldb][DWARFASTParserClang] Resolve nested types when parsing structures.
Tue, Sep 12, 1:18 PM · Restricted Project, Restricted Project

Aug 31 2023

Michael137 abandoned D142993: [libcxx] Add _LIBCPP_NODEBUG to global std::ranges::__cpo variables.

We worked around this in xcode

Aug 31 2023, 4:50 PM · Restricted Project, Restricted Project

Aug 23 2023

Michael137 added a comment to D157907: [NFC] Refactor X86TargetLowering::getGlobalWrapperKind().

I've reverted the patch, yeah seeing the IR would be useful

I won't be on my PC for the next 12 hours or so. I shared the IR with @jasonmolenda earlier today, hopefully he can forward it to you

If you have access to a x86_64 (or Rosetta) Darwin machine you should be able to repro it by compiling lldb/test/API/commands/expression/import-std-module/deque-basic/main.cpp with your changes and attaching lldb as follows:

./bin/lldb a.out -o "sett set target.import-std-module true" -o "br se -p return -X main" -o run -o "expr std::sort(a.begin(), a.end())"

I'm not in a rush to get this relanded so posting the IR later is fine

Aug 23 2023, 11:43 PM · Restricted Project, Restricted Project
Michael137 added a comment to D157907: [NFC] Refactor X86TargetLowering::getGlobalWrapperKind().

I attached the module it's blowing up on

Aug 23 2023, 11:38 PM · Restricted Project, Restricted Project

Aug 22 2023

Michael137 added a comment to D157907: [NFC] Refactor X86TargetLowering::getGlobalWrapperKind().

I've reverted the patch, yeah seeing the IR would be useful

Aug 22 2023, 9:11 AM · Restricted Project, Restricted Project
Michael137 added a comment to D157907: [NFC] Refactor X86TargetLowering::getGlobalWrapperKind().

Hi, this is causing a regression on the greendragon x86_64 lldb bot, it took a little while to repo and narrow down today. https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/ is failing on TestDequeFromStdModule.py, I can repo it on an intel mac. We're crashing under

LLVM ERROR: unable to evaluate offset to undefined symbol 'L21$pb'

4   liblldb.18.0.0git.dylib       	       0x1357b08a4 llvm::report_fatal_error(llvm::Twine const&, bool) + 388 (ErrorHandling.cpp:123)
5   liblldb.18.0.0git.dylib       	       0x13f73da2b getLabelOffset(llvm::MCAsmLayout const&, llvm::MCSymbol const&, bool, unsigned long long&) + 187 (MCFragment.cpp:107)
6   liblldb.18.0.0git.dylib       	       0x13f73aa48 getSymbolOffsetImpl(llvm::MCAsmLayout const&, llvm::MCSymbol const&, bool, unsigned long long&) + 72 (MCFragment.cpp:118)
7   liblldb.18.0.0git.dylib       	       0x13f73abde getSymbolOffsetImpl(llvm::MCAsmLayout const&, llvm::MCSymbol const&, bool, unsigned long long&) + 478 (MCFragment.cpp:143)
8   liblldb.18.0.0git.dylib       	       0x13f73ac56 llvm::MCAsmLayout::getSymbolOffset(llvm::MCSymbol const&) const + 38 (MCFragment.cpp:158)
9   liblldb.18.0.0git.dylib       	       0x13f6df97f llvm::MCAssembler::evaluateFixup(llvm::MCAsmLayout const&, llvm::MCFixup const&, llvm::MCFragment const*, llvm::MCValue&, unsigned long long&, bool&) const + 1151 (MCAssembler.cpp:262)
10  liblldb.18.0.0git.dylib       	       0x13f6e2aec llvm::MCAssembler::handleFixup(llvm::MCAsmLayout const&, llvm::MCFragment&, llvm::MCFixup const&) + 92 (MCAssembler.cpp:804)
11  liblldb.18.0.0git.dylib       	       0x13f6e362b llvm::MCAssembler::layout(llvm::MCAsmLayout&) + 2651 (MCAssembler.cpp:933)
12  liblldb.18.0.0git.dylib       	       0x13f6e40cd llvm::MCAssembler::Finish() + 77 (MCAssembler.cpp:944)
13  liblldb.18.0.0git.dylib       	       0x13f75b10b llvm::MCObjectStreamer::finishImpl() + 203 (MCObjectStreamer.cpp:932)
14  liblldb.18.0.0git.dylib       	       0x13f744709 (anonymous namespace)::MCMachOStreamer::finishImpl() + 761 (MCMachOStreamer.cpp:533)
15  liblldb.18.0.0git.dylib       	       0x13f785b10 llvm::MCStreamer::finish(llvm::SMLoc) + 224 (MCStreamer.cpp:1021)
16  liblldb.18.0.0git.dylib       	       0x1381ac986 llvm::AsmPrinter::doFinalization(llvm::Module&) + 6502 (AsmPrinter.cpp:2398)
17  liblldb.18.0.0git.dylib       	       0x13f1708ae llvm::FPPassManager::doFinalization(llvm::Module&) + 78 (LegacyPassManager.cpp:1499)
18  liblldb.18.0.0git.dylib       	       0x13f1699be (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) + 1358 (LegacyPassManager.cpp:1586)
19  liblldb.18.0.0git.dylib       	       0x13f1692ba llvm::legacy::PassManagerImpl::run(llvm::Module&) + 266 (LegacyPassManager.cpp:535)
20  liblldb.18.0.0git.dylib       	       0x13f170af1 llvm::legacy::PassManager::run(llvm::Module&) + 33 (LegacyPassManager.cpp:1677)
21  liblldb.18.0.0git.dylib       	       0x138d51d7d llvm::MCJIT::emitObject(llvm::Module*) + 477 (MCJIT.cpp:171)

@Michael137 might be better able to understand the nature of the regression, I'm not very familiar with this part of llvm, I'm trying to get repo steps for him on an aarch64 mac to build & run it under translation. I think we'll need to revert this until we can figure out the failure.

Aug 22 2023, 7:01 AM · Restricted Project, Restricted Project

Aug 21 2023

Michael137 added a comment to D151465: [Dexter] Remove builder from Dexter.

FYI, looks like debug-info tests started failing on the public x86_64 bot after this patch: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/59089/console

Aug 21 2023, 8:29 AM · Restricted Project, Restricted Project, debug-info

Aug 20 2023

Michael137 added a comment to D156774: [lldb][DWARFASTParserClang] Resolve nested types when parsing structures.

What were your lldb commands when you tested this?

script import lldb; frame = lldb.thread.GetFrameAtIndex(0); print(frame.variables[0].type.GetNumberOfMemberEnums())

LLDB currently completes types lazily when it thinks it can. Does your new API still fail if you run expr p prior? (the idea is that that would trigger completion of the type and parse dwarf). If we dont ever call GetFullCompilerType on your type LLDB will never try to pull in the definition

No amount of tinkering with expr makes script print(frame.variables[0].type.GetNumberOfMemberEnums()) output a non-zero value.
I tested this with the changes I uploaded here half an hour ago.

Aug 20 2023, 5:26 AM · Restricted Project, Restricted Project
Michael137 added a comment to D156774: [lldb][DWARFASTParserClang] Resolve nested types when parsing structures.

I tested this patch together with the following new code:

uint32_t TypeSystemClang::GetNumMemberEnums(lldb::opaque_compiler_type_t type) {
  using EnumIt = clang::DeclContext::specific_decl_iterator<clang::EnumDecl>;
  if (!type)
    return 0;
  clang::QualType qual_type = RemoveWrappingTypes(GetCanonicalQualType(type));
  clang::DeclContext *ctx = qual_type->getAsRecordDecl()->getDeclContext();
  return std::distance(EnumIt(ctx->decls_begin()), EnumIt(ctx->decls_end()));
}

CompilerType
TypeSystemClang::GetMemberEnumAtIndex(lldb::opaque_compiler_type_t type,
                                      size_t index) {
  using EnumIt = clang::DeclContext::specific_decl_iterator<clang::EnumDecl>;
  if (!type)
    return CompilerType();

  clang::QualType qual_type = RemoveWrappingTypes(GetCanonicalQualType(type));
  clang::DeclContext *ctx = qual_type->getAsRecordDecl()->getDeclContext();
  size_t enum_index = 0;
  for (EnumIt enums_it(ctx->decls_begin()), enums_end(ctx->decls_end());
       enums_it != enums_end;
       ++enums_it, ++enum_index) {
      if (enum_index == index) {
        return CompilerType(weak_from_this(), *enums_it);
      }
  }
}

I created all the wrappers to make it available in Python. The result was unsatisfactory: this code doesn't even trigger DWARFASTParserClang::ParseChildMembers that this patch touches, and return 0 instead of 1. This doesn't change even if I trigger ParseChildMembers via other means before asking for a number of member enums in a type.

Code I tested this on:

using intptr_t = long;
using uintptr_t = unsigned long;

struct PointerIntPairInfo {
  enum MaskAndShiftConstants : uintptr_t {
    PointerBitMask =
        ~(uintptr_t)(((intptr_t)1 << 3) - 1),
  };

  int a{};
};

static uintptr_t dummy() {
  return PointerIntPairInfo::PointerBitMask;
}

int main()
{
    PointerIntPairInfo p;
    __builtin_debugtrap();
    return p.a + foo();
}

If you have any suggestions what I missed or did wrong, please let me know.

I'll continue with this patch nevertheless, but it's clear now that there's still a way to go until I can access that enum without going through slow expression evaluator.

Aug 20 2023, 3:17 AM · Restricted Project, Restricted Project

Aug 17 2023

Michael137 committed rG9c3f1f42cbed: [lldb][ClangASTImporter][NFC] Remove redundant calls to ASTImporter::Imported (authored by Michael137).
[lldb][ClangASTImporter][NFC] Remove redundant calls to ASTImporter::Imported
Aug 17 2023, 9:55 AM · Restricted Project
Michael137 closed D158172: [lldb][ClangASTImporter][NFC] Remove redundant calls to ASTImporter::Imported.
Aug 17 2023, 9:55 AM · Restricted Project, Restricted Project
Michael137 updated the diff for D158172: [lldb][ClangASTImporter][NFC] Remove redundant calls to ASTImporter::Imported.
  • Reword commit message
Aug 17 2023, 4:19 AM · Restricted Project, Restricted Project
Michael137 updated the summary of D158172: [lldb][ClangASTImporter][NFC] Remove redundant calls to ASTImporter::Imported.
Aug 17 2023, 4:18 AM · Restricted Project, Restricted Project
Michael137 requested review of D158172: [lldb][ClangASTImporter][NFC] Remove redundant calls to ASTImporter::Imported.
Aug 17 2023, 4:17 AM · Restricted Project, Restricted Project

Aug 15 2023

Michael137 committed rG92d7254a989d: [lldb][CPlusPlus][NFCI] Remove redundant construction of ClangASTImporter (authored by Michael137).
[lldb][CPlusPlus][NFCI] Remove redundant construction of ClangASTImporter
Aug 15 2023, 3:10 PM · Restricted Project
Michael137 committed rGbb90a5cf2041: [llvm][utils] Fix SmallVector formatter when type is a pointer (authored by Michael137).
[llvm][utils] Fix SmallVector formatter when type is a pointer
Aug 15 2023, 3:10 PM · Restricted Project, Restricted Project
Michael137 closed D157992: [lldb][CPlusPlus][NFCI] Remove redundant construction of ClangASTImporter.
Aug 15 2023, 3:10 PM · Restricted Project, Restricted Project
Michael137 closed D157961: [llvm][utils] Fix SmallVector formatter when type is a pointer.
Aug 15 2023, 3:10 PM · Restricted Project, Restricted Project
Michael137 retitled D157961: [llvm][utils] Fix SmallVector formatter when type is a pointer from [llvm][utils] Support SmallVector with pointer-type template parameter to [llvm][utils] Fix SmallVector formatter when type is a pointer.
Aug 15 2023, 3:09 PM · Restricted Project, Restricted Project
Michael137 updated the diff for D157961: [llvm][utils] Fix SmallVector formatter when type is a pointer.
  • Reword commit message
Aug 15 2023, 3:05 PM · Restricted Project, Restricted Project
Michael137 requested review of D157992: [lldb][CPlusPlus][NFCI] Remove redundant construction of ClangASTImporter.
Aug 15 2023, 9:07 AM · Restricted Project, Restricted Project
Michael137 updated the diff for D157961: [llvm][utils] Fix SmallVector formatter when type is a pointer.
  • Remove drive-by change
Aug 15 2023, 3:49 AM · Restricted Project, Restricted Project
Michael137 requested review of D157961: [llvm][utils] Fix SmallVector formatter when type is a pointer.
Aug 15 2023, 3:45 AM · Restricted Project, Restricted Project

Aug 10 2023

Michael137 committed rG487ab39a5082: [lldb][test] Remove tests relying on deprecated std::char_traits specializations (authored by Michael137).
[lldb][test] Remove tests relying on deprecated std::char_traits specializations
Aug 10 2023, 11:49 AM · Restricted Project
Michael137 closed D157636: [lldb][test] Remove tests relying on deprecated std::char_traits specializations.
Aug 10 2023, 11:49 AM · Restricted Project, Restricted Project
Michael137 added a reviewer for D157636: [lldb][test] Remove tests relying on deprecated std::char_traits specializations: aprantl.
Aug 10 2023, 11:06 AM · Restricted Project, Restricted Project
Michael137 requested review of D157636: [lldb][test] Remove tests relying on deprecated std::char_traits specializations.
Aug 10 2023, 11:05 AM · Restricted Project, Restricted Project

Aug 9 2023

Michael137 requested review of D157512: [lldb][PlatformDarwin] Only parse SDK from debug-info if target language is Objective-C.
Aug 9 2023, 7:48 AM · Restricted Project, Restricted Project
Michael137 added a comment to D156774: [lldb][DWARFASTParserClang] Resolve nested types when parsing structures.

Are you still planning on moving this forward? Otherwise I could commandeer the revision to get this in. I do think it's a useful bug to address

I do. Locally I've been preparing additional changes on top of this patch that expose enums in SBType, so that I can do end-to-end test to ensure this sufficiently addresses my use case.
On top of that, I'm planning to redo this patch after the example of DW_TAG_subprogram per your suggestion.

Unfortunately, I didn't have time last week for this, and now I'm knee deep into triaging old Clang bugs. I'm not finished with that until number of open issues is brought under 20k :)

Aug 9 2023, 7:05 AM · Restricted Project, Restricted Project
Michael137 added a comment to D156774: [lldb][DWARFASTParserClang] Resolve nested types when parsing structures.

Are you still planning on moving this forward? Otherwise I could commandeer the revision to get this in. I do think it's a useful bug to address

Aug 9 2023, 6:32 AM · Restricted Project, Restricted Project
Michael137 added a comment to D157059: [lldb][PECOFF] Exclude alignment padding when reading section data.

Hi, this is failing on swift-ci (runs on x86 bots) with the following error:

Aug 9 2023, 5:51 AM · Restricted Project, Restricted Project, Restricted Project

Aug 4 2023

Michael137 added a comment to D156693: [clang][ASTImporter]Skip check depth of friend template parameter.

Could you please elaborate in the commit message what exactly the issue currently is and how the patch addresses it?

Aug 4 2023, 2:13 AM · Restricted Project, Restricted Project

Aug 2 2023

Michael137 added inline comments to D156774: [lldb][DWARFASTParserClang] Resolve nested types when parsing structures.
Aug 2 2023, 2:38 AM · Restricted Project, Restricted Project
Michael137 added inline comments to D156774: [lldb][DWARFASTParserClang] Resolve nested types when parsing structures.
Aug 2 2023, 1:58 AM · Restricted Project, Restricted Project
Michael137 added a comment to D156774: [lldb][DWARFASTParserClang] Resolve nested types when parsing structures.

Could you update the commit message with a description of the failure and summary of the fix? And change the title to something like [lldb][DWARFASTParserClang] Resolve nested types when parsing structures

Aug 2 2023, 1:58 AM · Restricted Project, Restricted Project
Michael137 added inline comments to D156774: [lldb][DWARFASTParserClang] Resolve nested types when parsing structures.
Aug 2 2023, 1:53 AM · Restricted Project, Restricted Project

Aug 1 2023

Michael137 committed rG5ce7831b4023: [lldb][test] Skip *-dbg-info-content API tests (authored by Michael137).
[lldb][test] Skip *-dbg-info-content API tests
Aug 1 2023, 2:44 PM · Restricted Project
Michael137 closed D156827: [lldb][test] Skip *-dbg-info-content API tests.
Aug 1 2023, 2:43 PM · Restricted Project, Restricted Project
Michael137 accepted D156822: [lldb] Make IR interpretation interruptible.

LGTM

Aug 1 2023, 2:32 PM · Restricted Project, Restricted Project
Michael137 updated the diff for D156827: [lldb][test] Skip *-dbg-info-content API tests.
  • Amend commit message
Aug 1 2023, 2:24 PM · Restricted Project, Restricted Project
Michael137 updated the summary of D156827: [lldb][test] Skip *-dbg-info-content API tests.
Aug 1 2023, 2:19 PM · Restricted Project, Restricted Project
Michael137 requested review of D156827: [lldb][test] Skip *-dbg-info-content API tests.
Aug 1 2023, 2:15 PM · Restricted Project, Restricted Project
Michael137 accepted D102762: [lldb] Use a time-based timeout instead of a hardcoded instruction count in the IRInterpreter.

LGTM

Aug 1 2023, 10:06 AM · Restricted Project, Restricted Project
Michael137 added inline comments to D156774: [lldb][DWARFASTParserClang] Resolve nested types when parsing structures.
Aug 1 2023, 1:36 AM · Restricted Project, Restricted Project
Michael137 added a comment to D156774: [lldb][DWARFASTParserClang] Resolve nested types when parsing structures.

Thanks for addressing this.

Aug 1 2023, 1:35 AM · Restricted Project, Restricted Project
Michael137 added a reviewer for D156774: [lldb][DWARFASTParserClang] Resolve nested types when parsing structures: Michael137.
Aug 1 2023, 12:37 AM · Restricted Project, Restricted Project

Jul 31 2023

Michael137 accepted D156606: [lldb] Improve memory usage by freeing CTF types (NFC).

LGTM

Jul 31 2023, 2:34 AM · Restricted Project, Restricted Project

Jul 28 2023

Michael137 added a comment to D156498: [lldb] Support recursive record types in CTF.

Generally LGTM, just some clarifications questions

Jul 28 2023, 7:18 AM · Restricted Project, Restricted Project

Jul 27 2023

Michael137 added inline comments to D156447: [lldb] Split CTF parsing and type creation (NFC).
Jul 27 2023, 2:33 PM · Restricted Project, Restricted Project
Michael137 added inline comments to D156447: [lldb] Split CTF parsing and type creation (NFC).
Jul 27 2023, 2:30 PM · Restricted Project, Restricted Project

Jul 26 2023

Michael137 committed rGb0b2b6bab4d2: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info (authored by Michael137).
[lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info
Jul 26 2023, 10:27 AM · Restricted Project
Michael137 closed D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
Jul 26 2023, 10:26 AM · Restricted Project, Restricted Project
Michael137 updated the diff for D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
  • EXPECT -> ASSERT
Jul 26 2023, 8:13 AM · Restricted Project, Restricted Project
Michael137 updated the diff for D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
  • Fix test
Jul 26 2023, 8:12 AM · Restricted Project, Restricted Project
Michael137 updated the diff for D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
  • Parameterize tests
  • Return bool to indicate SDK mismatch
Jul 26 2023, 6:59 AM · Restricted Project, Restricted Project

Jul 25 2023

Michael137 added a comment to D102762: [lldb] Use a time-based timeout instead of a hardcoded instruction count in the IRInterpreter.

Generally LGTM, just left some minor comments

Jul 25 2023, 4:12 PM · Restricted Project, Restricted Project
Michael137 updated the diff for D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
  • Update unit-tests
  • Expand function docs
Jul 25 2023, 7:35 AM · Restricted Project, Restricted Project
Michael137 added inline comments to D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
Jul 25 2023, 7:19 AM · Restricted Project, Restricted Project
Michael137 added inline comments to D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
Jul 25 2023, 2:03 AM · Restricted Project, Restricted Project
Michael137 updated the diff for D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
  • Remove more headers
Jul 25 2023, 1:59 AM · Restricted Project, Restricted Project
Michael137 updated the diff for D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
  • Remove redundant header
Jul 25 2023, 1:58 AM · Restricted Project, Restricted Project
Michael137 updated the diff for D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
  • Move into PlatformDarwin
  • Return XcodeSDK from GetSDKPathFromDebugInfo so it's easier to re-use from Swift plugin
  • Introduce ResolveSDKPathFromDebugInfo to be used from PlatformDarwin
  • Adjust tests
Jul 25 2023, 1:54 AM · Restricted Project, Restricted Project

Jul 24 2023

Michael137 added inline comments to D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
Jul 24 2023, 10:53 AM · Restricted Project, Restricted Project

Jul 22 2023

Michael137 added inline comments to D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
Jul 22 2023, 3:33 AM · Restricted Project, Restricted Project
Michael137 added reviewers for D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info: kastiglione, JDevlieghere.
Jul 22 2023, 3:27 AM · Restricted Project, Restricted Project
Michael137 updated the diff for D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
  • Remove redundant headers
Jul 22 2023, 3:26 AM · Restricted Project, Restricted Project
Michael137 added inline comments to D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
Jul 22 2023, 3:25 AM · Restricted Project, Restricted Project
Michael137 requested review of D156020: [lldb][PlatformDarwin] Parse SDK path for module compilation from debug-info.
Jul 22 2023, 3:23 AM · Restricted Project, Restricted Project

Jul 13 2023

Michael137 accepted D155219: [llvm][utils] Disable lldb formatters for PointerIntPair and PointerUnion.
Jul 13 2023, 10:10 AM · Restricted Project, Restricted Project
Michael137 accepted D155197: [lldb][NFC] Refactor test to enable subsequent reuse.
Jul 13 2023, 6:43 AM · Restricted Project, Restricted Project

Jul 12 2023

Michael137 added inline comments to D137028: [llvm][utils] Add DenseMap data formatters.
Jul 12 2023, 5:01 AM · Restricted Project, Restricted Project

Jul 11 2023

Michael137 added a comment to D154862: [lldb] Support Compact C Type Format (CTF).

All my comments seem to have been submitted on a stale revision. So they shifted up a couple of lines. But looks like Phabricator doesn't allow me to delete/move them

Jul 11 2023, 4:08 AM · Restricted Project, Restricted Project
Michael137 added inline comments to D154862: [lldb] Support Compact C Type Format (CTF).
Jul 11 2023, 4:05 AM · Restricted Project, Restricted Project
Michael137 added inline comments to D154862: [lldb] Support Compact C Type Format (CTF).
Jul 11 2023, 4:03 AM · Restricted Project, Restricted Project
Michael137 added a comment to D154709: [clang][ASTImporter] Add a 'Message' member to ASTImportError and use it throughout ASTImporter.

The goal is to have a message always in ASTImportError? Then probably the constructor without message can be removed, at least to check if really the message is added at all places. I found that it is missing in VisitObjCImplementationDecl.

Jul 11 2023, 1:46 AM · Restricted Project, Restricted Project

Jul 10 2023

Michael137 accepted D154843: [lldb] Disable TestNamespaceLookup in DWARF 5 + dSYM setting.
Jul 10 2023, 7:04 AM · Restricted Project, Restricted Project

Jul 7 2023

Michael137 accepted D154730: [lldb] Consider TAG_imported_declaration in DebugNamesIndex.

LGTM, thanks!

Jul 7 2023, 11:18 AM · Restricted Project, Restricted Project
Michael137 added a reviewer for D154709: [clang][ASTImporter] Add a 'Message' member to ASTImportError and use it throughout ASTImporter: aprantl.
Jul 7 2023, 6:08 AM · Restricted Project, Restricted Project
Michael137 updated the diff for D154709: [clang][ASTImporter] Add a 'Message' member to ASTImportError and use it throughout ASTImporter.
  • Fix commit message
Jul 7 2023, 6:03 AM · Restricted Project, Restricted Project
Michael137 retitled D154709: [clang][ASTImporter] Add a 'Message' member to ASTImportError and use it throughout ASTImporter from [clang][ASTImporter] Add a 'Message' member to ASTImportError use it throught ASTImporter to [clang][ASTImporter] Add a 'Message' member to ASTImportError and use it throughout ASTImporter.
Jul 7 2023, 6:02 AM · Restricted Project, Restricted Project
Michael137 added a comment to D154709: [clang][ASTImporter] Add a 'Message' member to ASTImportError and use it throughout ASTImporter.

Didn't add tests for this since checking the contents of the error message didn't seem worth testing.
But don't mind adding tests if reviewers feel more comfortable

Jul 7 2023, 6:02 AM · Restricted Project, Restricted Project
Michael137 updated the diff for D154709: [clang][ASTImporter] Add a 'Message' member to ASTImportError and use it throughout ASTImporter.
  • Remove redundant header additions
Jul 7 2023, 6:00 AM · Restricted Project, Restricted Project
Michael137 requested review of D154709: [clang][ASTImporter] Add a 'Message' member to ASTImportError and use it throughout ASTImporter.
Jul 7 2023, 5:58 AM · Restricted Project, Restricted Project

Jun 20 2023

Michael137 updated the diff for D153362: [clang][DebugInfo] Emit DW_AT_defaulted for defaulted C++ member functions.
  • clang-format
Jun 20 2023, 8:50 AM · Restricted Project, Restricted Project, Restricted Project
Michael137 requested review of D153364: [llvm][DebugInfo] Emit DW_AT_defaulted for defaulted C++ member functions.
Jun 20 2023, 8:49 AM · Restricted Project, Restricted Project
Michael137 updated the diff for D153362: [clang][DebugInfo] Emit DW_AT_defaulted for defaulted C++ member functions.
  • remove redundant includes
Jun 20 2023, 8:33 AM · Restricted Project, Restricted Project, Restricted Project
Michael137 requested review of D153362: [clang][DebugInfo] Emit DW_AT_defaulted for defaulted C++ member functions.
Jun 20 2023, 8:31 AM · Restricted Project, Restricted Project, Restricted Project
Michael137 committed rGc146df961876: [clang][DebugInfo] Emit DW_AT_deleted on any deleted member function (authored by Michael137).
[clang][DebugInfo] Emit DW_AT_deleted on any deleted member function
Jun 20 2023, 1:20 AM · Restricted Project, Restricted Project, Restricted Project
Michael137 closed D153282: [clang][DebugInfo] Emit DW_AT_deleted on any deleted member function.
Jun 20 2023, 1:19 AM · Restricted Project, Restricted Project, Restricted Project

Jun 19 2023

Michael137 added a comment to D153043: [lldb] Fix handling of cfi_restore in the unwinder.

This is now failing with:

clang: warning: argument unused during compilation: '-fmodules-cache-path=/Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/lldb-test-build.noindex/module-cache-clang/lldb-shell' [-Wunused-command-line-argument]
Undefined symbols for architecture x86_64:
  "abort", referenced from:
      asm_main in eh-frame-dwarf-unwind-abort-edbc93.o
     (maybe you meant: g_hard_abort)
ld: symbol(s) not found for architecture x86_64
Jun 19 2023, 4:30 PM · Restricted Project, Restricted Project
Michael137 updated the diff for D153282: [clang][DebugInfo] Emit DW_AT_deleted on any deleted member function.
  • fix test comment
Jun 19 2023, 8:08 AM · Restricted Project, Restricted Project, Restricted Project
Michael137 requested review of D153282: [clang][DebugInfo] Emit DW_AT_deleted on any deleted member function.
Jun 19 2023, 8:06 AM · Restricted Project, Restricted Project, Restricted Project

Jun 16 2023

Michael137 added a comment to D153043: [lldb] Fix handling of cfi_restore in the unwinder.

Looks like this is failing on the Darwin x86_64 buildbots: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/56510/execution/node/74/log/

Jun 16 2023, 3:12 AM · Restricted Project, Restricted Project
Michael137 added a comment to rG11ebe3d90655: [RISCV] relaxDwarfCallFrameFragment: remove unneeded relocations for relaxation.

@MaskRay Looks like this broke the x86_64 LLDB buildbots: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/56511/execution/node/43/log/

Jun 16 2023, 2:58 AM · Restricted Project, Restricted Project

Jun 14 2023

Michael137 added a comment to D147066: [DWARFLinker][DWARFv5] Add handling of DW_OP_addrx and DW_OP_constx expression operands..

Looks like this broke the lldb matrix bots for DWARFv2: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-matrix/6580/execution/node/54/log/

********************
Failed Tests (2):
  lldb-api :: lang/c/tls_globals/TestTlsGlobals.py
  lldb-api :: lang/cpp/thread_local/TestThreadLocal.py
Jun 14 2023, 4:16 AM · Restricted Project, Restricted Project

Jun 13 2023

Michael137 added a comment to D144999: [Clang][MC][MachO]Only emits compact-unwind format for "canonical" personality symbols. For the rest, use DWARFs..

Michael and I looked into this. This simple c++ file is resulting in eh_frame unwind info on aarch64 darwin instead of compact unwind info.

P.S: still no luck reproducing this with TOT clang. Would you mind verifying my test case below (this was on M1 mac):

### clang is built with commit up to 5b1c62c0f2e9a739707429f650cb897c067f86c2
vyng-macbookpro3 /Users/vyng/repo/llvm-project/build_all$ ./bin/clang++  ../cross-project-tests/debuginfo-tests/dexter-tests/optnone-struct-and-methods.cpp -g -O0 -c -o test_tot.o

vyng-macbookpro3 /Users/vyng/repo/llvm-project/build_all$ objdump --macho --unwind-info --dwarf=frames  test_tot.o
Contents of __compact_unwind section:
  Entry at offset 0x0:
    start:                0x0 ltmp0
    length:               0x70
    compact encoding:     0x44000000
    personality function: 0x0 ___gxx_personality_v0
    LSDA:                 0x238 ltmp1
  Entry at offset 0x20:
    start:                0x70 __ZN12_GLOBAL__N_11AC1Ev
    length:               0x2c
    compact encoding:     0x04000000
  Entry at offset 0x40:
    start:                0x9c __ZN12_GLOBAL__N_11A7getDataEv
    length:               0x78
    compact encoding:     0x04000000
  Entry at offset 0x60:
    start:                0x114 __ZN12_GLOBAL__N_11AD1Ev
    length:               0x2c
    compact encoding:     0x04000000
  Entry at offset 0x80:
    start:                0x140 __ZN12_GLOBAL__N_11AC2Ev
    length:               0x2c
    compact encoding:     0x02001000
  Entry at offset 0xa0:
    start:                0x16c __ZN12_GLOBAL__N_11A12setOtherDataEv
    length:               0x74
    compact encoding:     0x04000000
  Entry at offset 0xc0:
    start:                0x1e0 __ZN12_GLOBAL__N_11A12getOtherDataEv
    length:               0x18
    compact encoding:     0x02001000
  Entry at offset 0xe0:
    start:                0x1f8 __ZN12_GLOBAL__N_11AD2Ev
    length:               0x40
    compact encoding:     0x04000000

.debug_frame contents:


.eh_frame contents:
<<<< nothing in eh_frame section, which is expected and matches what produced by base clang
Jun 13 2023, 8:31 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
Michael137 committed rGfae704bad900: [lldb][test] Re-XFAIL prefer-debug-over-eh-frame.test (authored by Michael137).
[lldb][test] Re-XFAIL prefer-debug-over-eh-frame.test
Jun 13 2023, 7:09 AM · Restricted Project
Michael137 closed D152806: [lldb][test] Re-XFAIL prefer-debug-over-eh-frame.test.
Jun 13 2023, 7:08 AM · Restricted Project, Restricted Project
Michael137 updated the summary of D152806: [lldb][test] Re-XFAIL prefer-debug-over-eh-frame.test.
Jun 13 2023, 5:37 AM · Restricted Project, Restricted Project