kevinfrei wrote:
You generally have to tag people with an at sign to get their attention :)
@jeffreytan81 @clayborg @kusmour
https://github.com/llvm/llvm-project/pull/89405
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llv
https://github.com/kevinfrei created
https://github.com/llvm/llvm-project/pull/90622
I'm taking another swing at getting these tests going, on the hypothesis that
the problems with buildbots & whatnot are because they're not configured with
CURL support, which I've confirmed would cause the pr
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/90622
>From dfa1acd8e51b04b4a37cde4fc064ab294ed7a02e Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Mon, 25 Mar 2024 08:23:47 -0700
Subject: [PATCH 1/8] Trying to deal with Linux AArch64 test failures :/
---
.../S
https://github.com/kevinfrei edited
https://github.com/llvm/llvm-project/pull/90622
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kevinfrei edited
https://github.com/llvm/llvm-project/pull/90622
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kevinfrei edited
https://github.com/llvm/llvm-project/pull/90622
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kevinfrei edited
https://github.com/llvm/llvm-project/pull/90622
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kevinfrei ready_for_review
https://github.com/llvm/llvm-project/pull/90622
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
kevinfrei wrote:
Can someone please approve this, so I can yet again see if one of the weird
buildbot configurations I don't have the ability to try out fails on these
tests? The C++ code really ought to ship, as it fixes some egregious issues
that were regressed several months ago (due to lac
@@ -44,6 +44,10 @@ lldb_build_intel_pt = '@LLDB_BUILD_INTEL_PT@'
if lldb_build_intel_pt == '1':
config.enabled_plugins.append('intel-pt')
+llvm_enable_curl = '@LLVM_ENABLE_CURL@'
kevinfrei wrote:
I validated that this works correctly (had the same work).
@@ -87,8 +105,15 @@ SymbolVendorELF::CreateInstance(const lldb::ModuleSP
&module_sp,
FileSpecList search_paths = Target::GetDefaultDebugFileSearchPaths();
FileSpec dsym_fspec =
PluginManager::LocateExecutableSymbolFile(module_spec, search_paths);
- if (!dsym_fspec)
kevinfrei wrote:
Thanks for the diagnostics & fix. I really appreciate it. I'm on vacation this
week, so I'll get this ready & relanded next Monday.
https://github.com/llvm/llvm-project/pull/90622
___
lldb-commits mailing list
lldb-commits@lists.llvm.
https://github.com/kevinfrei created
https://github.com/llvm/llvm-project/pull/78605
I've been working on more/better configuration for improving DEBUGINFOD
support. This is the first (and easiest) slice of the work.
I've added `timeout` and `cache-path` settings that can override the DEBUGINF
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/78605
>From b46553c6fe17a50dc2072544e46b7a1dde127436 Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Thu, 18 Jan 2024 09:09:50 -0800
Subject: [PATCH] Added settings for cache location and timeout
---
.../Debuginfod
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/78605
>From b46553c6fe17a50dc2072544e46b7a1dde127436 Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Thu, 18 Jan 2024 09:09:50 -0800
Subject: [PATCH 1/2] Added settings for cache location and timeout
---
.../Debugi
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/78605
>From b46553c6fe17a50dc2072544e46b7a1dde127436 Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Thu, 18 Jan 2024 09:09:50 -0800
Subject: [PATCH 1/2] Added settings for cache location and timeout
---
.../Debugi
@@ -54,6 +55,34 @@ class PluginProperties : public Properties {
return urls;
}
+ llvm::Expected GetCachePath() {
kevinfrei wrote:
String storage lives 40 lines lower (line 97) because, yeah, this bit me. The
Debuginfod library takes a StringRef, and I
@@ -112,31 +142,49 @@ SymbolLocator *SymbolLocatorDebuginfod::CreateInstance() {
return new SymbolLocatorDebuginfod();
}
-static std::optional GetFileForModule(
-const ModuleSpec &module_spec,
-std::function(llvm::object::BuildIDRef)>
-PullFromServer) {
- if
@@ -112,31 +142,49 @@ SymbolLocator *SymbolLocatorDebuginfod::CreateInstance() {
return new SymbolLocatorDebuginfod();
}
-static std::optional GetFileForModule(
-const ModuleSpec &module_spec,
-std::function(llvm::object::BuildIDRef)>
-PullFromServer) {
- if
@@ -112,31 +142,49 @@ SymbolLocator *SymbolLocatorDebuginfod::CreateInstance() {
return new SymbolLocatorDebuginfod();
}
-static std::optional GetFileForModule(
-const ModuleSpec &module_spec,
-std::function(llvm::object::BuildIDRef)>
-PullFromServer) {
- if
@@ -112,31 +142,49 @@ SymbolLocator *SymbolLocatorDebuginfod::CreateInstance() {
return new SymbolLocatorDebuginfod();
}
-static std::optional GetFileForModule(
-const ModuleSpec &module_spec,
-std::function(llvm::object::BuildIDRef)>
-PullFromServer) {
- if
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/78605
>From b46553c6fe17a50dc2072544e46b7a1dde127436 Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Thu, 18 Jan 2024 09:09:50 -0800
Subject: [PATCH 1/5] Added settings for cache location and timeout
---
.../Debugi
kevinfrei wrote:
I've returned to this after getting some other work up for a PR, and I'm stuck
again. If I remove LLVM_DIR, the thing doesn't get anywhere. It explicitly asks
for LLVM_DIR, if I work through that, then it asks for Clang_DIR. I'm getting
frustrated because it seems like the con
@@ -54,6 +55,34 @@ class PluginProperties : public Properties {
return urls;
}
+ llvm::Expected GetCachePath() {
kevinfrei wrote:
D'oh. You're right. I'll hoist that StringRef up and switch the function to
return a string. Good catch!
https://github.
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/78605
>From b46553c6fe17a50dc2072544e46b7a1dde127436 Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Thu, 18 Jan 2024 09:09:50 -0800
Subject: [PATCH 1/6] Added settings for cache location and timeout
---
.../Debugi
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/78605
>From b46553c6fe17a50dc2072544e46b7a1dde127436 Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Thu, 18 Jan 2024 09:09:50 -0800
Subject: [PATCH 1/6] Added settings for cache location and timeout
---
.../Debugi
kevinfrei wrote:
> LGTM for debuginfod
I've considered moving that entire thing into a namespace. Would you be
amenable to that (at a later date...)?
Unimportant: The OMF2097 github pic is pretty excellent, but clearly you're
almost as old as me...
https://github.com/llvm/llvm-project/pull/7
@@ -112,31 +141,52 @@ SymbolLocator *SymbolLocatorDebuginfod::CreateInstance() {
return new SymbolLocatorDebuginfod();
}
-static std::optional GetFileForModule(
-const ModuleSpec &module_spec,
-std::function(llvm::object::BuildIDRef)>
-PullFromServer) {
- if
@@ -1,7 +1,13 @@
include "../../../../include/lldb/Core/PropertiesBase.td"
let Definition = "symbollocatordebuginfod" in {
- def ServerURLs : Property<"server_urls", "Array">,
+ def ServerURLs : Property<"server-urls", "Array">,
ElementType<"String">,
Desc<"An orde
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/78605
>From b46553c6fe17a50dc2072544e46b7a1dde127436 Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Thu, 18 Jan 2024 09:09:50 -0800
Subject: [PATCH 1/8] Added settings for cache location and timeout
---
.../Debugi
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/78605
>From 48c6e5edc1dc5f832f8f5c922c61af9070ad341d Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Thu, 18 Jan 2024 09:09:50 -0800
Subject: [PATCH 1/8] Added settings for cache location and timeout
---
.../Debugi
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/78605
>From 48c6e5edc1dc5f832f8f5c922c61af9070ad341d Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Thu, 18 Jan 2024 09:09:50 -0800
Subject: [PATCH 1/8] Added settings for cache location and timeout
---
.../Debugi
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/78605
>From 773740afcf9c54ef45a1178ee681ee46c29c9759 Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Thu, 18 Jan 2024 09:09:50 -0800
Subject: [PATCH 1/8] Added settings for cache location and timeout
---
.../Debugi
kevinfrei wrote:
> Looks good to me on the LLDB side, but you should probably get the ok from
> the maintainers of the debug infod library for those changes.
I think that was @mysterymath
https://github.com/llvm/llvm-project/pull/78605
___
lldb-commi
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/78605
>From bf4fd0e1ce2236d94d15046c344d90c472368c98 Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Thu, 18 Jan 2024 09:09:50 -0800
Subject: [PATCH 1/8] Added settings for cache location and timeout
---
.../Debugi
kevinfrei wrote:
Sure. That's probably the solution. I just can't get a reliable repro, so I can
only validate that it doesn't break the mainstream monorepo build. I'm happy to
shepherd any diff you've indicated can tell me it's fixed on your configuration.
I truly appreciate the different wor
https://github.com/kevinfrei edited
https://github.com/llvm/llvm-project/pull/79181
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kevinfrei ready_for_review
https://github.com/llvm/llvm-project/pull/79181
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
kevinfrei wrote:
> I'm wondering if shell test are really the best way to test this. For more
> complex scenarios like are being tested here, we generally prefer [1] API
> tests because they're more expressive and allow you to build more complicated
> test binaries with our Makefile system. Th
@@ -0,0 +1,65 @@
+# Tests for basic Debuginfod functionality
+
+Because the Debuginfod protocol is a simple HTTP path-based system, one can
+mimic a Debuginfod server by setting up a directory structure to reflect the
+protocol properly. That's how all these tests operate. We over
kevinfrei wrote:
> Will this now work with .dwp files not having UUID?
The lack of UUID is kinda why this is so important. The connection is strictly
based on the filename. This just expands the variety of filenames that can be
supported. One thing that's helpful is that the .gnu_debuglink can
https://github.com/kevinfrei converted_to_draft
https://github.com/llvm/llvm-project/pull/79181
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kevinfrei created
https://github.com/llvm/llvm-project/pull/70996
I've plumbed the LLVM DebugInfoD client into LLDB, and added automatic
downloading of DWP files to the SymbolFileDWARF.cpp plugin. If you have
DEBUGINFOD_URLS set to a space delimited set of web servers, LLDB
@@ -4892,6 +4894,21 @@ void TargetProperties::SetDebugUtilityExpression(bool
debug) {
SetPropertyAtIndex(idx, debug);
}
+Args TargetProperties::GetDebugInfoDURLs() const {
+ Args urls;
+ m_collection_sp->GetPropertyAtIndexAsArgs(ePropertyDebugInfoDURLs, urls);
+ return u
@@ -4892,6 +4894,21 @@ void TargetProperties::SetDebugUtilityExpression(bool
debug) {
SetPropertyAtIndex(idx, debug);
}
+Args TargetProperties::GetDebugInfoDURLs() const {
+ Args urls;
+ m_collection_sp->GetPropertyAtIndexAsArgs(ePropertyDebugInfoDURLs, urls);
+ return u
https://github.com/kevinfrei edited
https://github.com/llvm/llvm-project/pull/70996
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
kevinfrei wrote:
> First off, thank you for working on this. `debuginfod` has been on my radar
> since support was added to LLVM and I was curious at which point someone was
> going to add support for it to LLDB. I wasn't super familiar with what
> exactly it provides, and in case others here
@@ -396,8 +398,22 @@ Symbols::LocateExecutableSymbolFile(const ModuleSpec
&module_spec,
}
}
}
-
- return LocateExecutableSymbolFileDsym(module_spec);
+ FileSpec dsym_bundle = LocateExecutableSymbolFileDsym(module_spec);
+ if (dsym_bundle)
+return dsym_bundle
https://github.com/kevinfrei edited
https://github.com/llvm/llvm-project/pull/70996
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -48,6 +48,7 @@ add_lldb_library(lldbSymbol NO_PLUGIN_DEPENDENCIES
lldbHost
lldbTarget
lldbUtility
+LLVMDebuginfod
kevinfrei wrote:
`LINK_COMPONENTS` gets added to targets all over the place. The library is only
used in this particular targe
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/70996
>From 6454d4fb652f61a20850c75f0e69759dffe28511 Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Wed, 18 Oct 2023 14:37:34 -0700
Subject: [PATCH 1/2] DEBUGINFOD based DWP acquisition for LLDB
Summary:
I've plumb
@@ -396,8 +398,22 @@ Symbols::LocateExecutableSymbolFile(const ModuleSpec
&module_spec,
}
}
}
-
- return LocateExecutableSymbolFileDsym(module_spec);
+ FileSpec dsym_bundle = LocateExecutableSymbolFileDsym(module_spec);
+ if (dsym_bundle)
+return dsym_bundle
kevinfrei wrote:
> Out of curiosity, why did you choose the delimiter as ' ' instead of
> something like ';'?
Because that's how the environment variable works. It was less a choice and
more 🤷
https://github.com/llvm/llvm-project/pull/70996
___
lld
https://github.com/kevinfrei edited
https://github.com/llvm/llvm-project/pull/70996
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
kevinfrei wrote:
> > Yes, that specific kind of refactoring seemed like a good idea, but given
> > that this is my first real foray into the LLDB space, I didn't want to bite
> > off that much work to start with.
>
> I'd be happy to help with that and I'm sure @clayborg wouldn't mind providing
@@ -258,6 +258,8 @@ class TargetProperties : public Properties {
bool GetDebugUtilityExpression() const;
+ Args GetDebugInfoDURLs() const;
kevinfrei wrote:
I *really* hate that, but that's clearly consistent with the rest of the code.
I need to pronounce
@@ -0,0 +1,4 @@
+add_subdirectory(Default)
+if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ add_subdirectory(DebugSymbols)
kevinfrei wrote:
I'm switching my previous PR to be a "Debuginfod" SymbolLocator plugin, and I
think this plugin name is far too general. @clayb
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/70996
>From b04c85dbed0b369e747aa2a3823789203156736b Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Wed, 18 Oct 2023 14:37:34 -0700
Subject: [PATCH 1/4] DEBUGINFOD based DWP acquisition for LLDB
Summary:
I've plumb
kevinfrei wrote:
I updated the diff with the plugin-ified version of the work. It's *much*
cleaner with no debugger-wide changes to speak of (Thanks for the set up for
that, @JDevlieghere!). I did *not* add Debuginfod logging in the LLDB part of
the code, as I intend to add diagnostic debuggin
@@ -396,8 +398,22 @@ Symbols::LocateExecutableSymbolFile(const ModuleSpec
&module_spec,
}
}
}
-
- return LocateExecutableSymbolFileDsym(module_spec);
+ FileSpec dsym_bundle = LocateExecutableSymbolFileDsym(module_spec);
+ if (dsym_bundle)
+return dsym_bundle
@@ -4892,6 +4894,21 @@ void TargetProperties::SetDebugUtilityExpression(bool
debug) {
SetPropertyAtIndex(idx, debug);
}
+Args TargetProperties::GetDebugInfoDURLs() const {
+ Args urls;
+ m_collection_sp->GetPropertyAtIndexAsArgs(ePropertyDebugInfoDURLs, urls);
+ return u
@@ -0,0 +1,154 @@
+//===-- SymbolLocatorDebuginfod.cpp
--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -0,0 +1,154 @@
+//===-- SymbolLocatorDebuginfod.cpp
--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -0,0 +1,154 @@
+//===-- SymbolLocatorDebuginfod.cpp
--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -0,0 +1,8 @@
+include "../../../../include/lldb/Core/PropertiesBase.td"
+
+let Definition = "symbollocatordebuginfod" in {
+ def URLs: Property<"urls", "String">,
+Global,
+DefaultStringValue<"">,
+Desc<"A space-separated, ordered list of Debuginfod server URLs to
@@ -46,6 +46,10 @@ bool canUseDebuginfod();
/// environment variable.
SmallVector getDefaultDebuginfodUrls();
+/// Sets the list of debuginfod server URLs to query. This overrides the
+/// environment variable DEBUGINFOD_URLS.
kevinfrei wrote:
Switched the se
@@ -62,15 +66,25 @@ bool canUseDebuginfod() {
}
SmallVector getDefaultDebuginfodUrls() {
- const char *DebuginfodUrlsEnv = std::getenv("DEBUGINFOD_URLS");
- if (DebuginfodUrlsEnv == nullptr)
-return SmallVector();
-
- SmallVector DebuginfodUrls;
- StringRef(DebuginfodU
@@ -0,0 +1,154 @@
+//===-- SymbolLocatorDebuginfod.cpp
--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -4,7 +4,7 @@ let Definition = "modulelist" in {
def EnableExternalLookup: Property<"enable-external-lookup", "Boolean">,
Global,
DefaultTrue,
-Desc<"Control the use of external tools and repositories to locate symbol
files. Directories listed in target.debug-f
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/70996
>From b04c85dbed0b369e747aa2a3823789203156736b Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Wed, 18 Oct 2023 14:37:34 -0700
Subject: [PATCH 1/5] DEBUGINFOD based DWP acquisition for LLDB
Summary:
I've plumb
kevinfrei wrote:
Looks like I missed committing some staged edits. Hold on before reviewing...
https://github.com/llvm/llvm-project/pull/70996
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lld
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/70996
>From b04c85dbed0b369e747aa2a3823789203156736b Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Wed, 18 Oct 2023 14:37:34 -0700
Subject: [PATCH 1/5] DEBUGINFOD based DWP acquisition for LLDB
Summary:
I've plumb
@@ -0,0 +1,142 @@
+//===-- SymbolLocatorDebuginfod.cpp
---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
https://github.com/kevinfrei updated
https://github.com/llvm/llvm-project/pull/70996
>From b04c85dbed0b369e747aa2a3823789203156736b Mon Sep 17 00:00:00 2001
From: Kevin Frei
Date: Wed, 18 Oct 2023 14:37:34 -0700
Subject: [PATCH 1/6] DEBUGINFOD based DWP acquisition for LLDB
Summary:
I've plumb
kevinfrei wrote:
The DWP tests I tried to land turned into a nightmare of "your change to test
infra requires you learn about all the wacky ways obscure test infra may or may
not be configured" so there *are* tests, but they're disabled. If folks are
okay with using yaml2obj as a mechanism to
101 - 175 of 175 matches
Mail list logo