[llvm] [lldb] DEBUGINFOD based DWP acquisition for LLDB (PR #70996)

Greg Clayton via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 9 17:11:06 PST 2023


================
@@ -62,15 +66,25 @@ bool canUseDebuginfod() {
 }
 
 SmallVector<StringRef> getDefaultDebuginfodUrls() {
-  const char *DebuginfodUrlsEnv = std::getenv("DEBUGINFOD_URLS");
-  if (DebuginfodUrlsEnv == nullptr)
-    return SmallVector<StringRef>();
-
-  SmallVector<StringRef> DebuginfodUrls;
-  StringRef(DebuginfodUrlsEnv).split(DebuginfodUrls, " ");
+  if (!DebuginfodUrlsSet) {
+    // Only read from the environment variable if the user hasn't already
+    // set the value
+    const char *DebuginfodUrlsEnv = std::getenv("DEBUGINFOD_URLS");
+    if (DebuginfodUrlsEnv != nullptr) {
+      StringRef(DebuginfodUrlsEnv).split(DebuginfodUrls, " ", -1, false);
+    }
+    DebuginfodUrlsSet = true;
+  }
   return DebuginfodUrls;
 }
 
+// Override the default debuginfod URL list.
+void setDefaultDebuginfodUrls(SmallVector<StringRef> URLs) {
+  DebuginfodUrls.clear();
----------------
clayborg wrote:

```
void setDefaultDebuginfodUrls(SmallVector<StringRef> URLs, bool append) {
  if (!append)
    DebuginfodUrls.clear();
```

https://github.com/llvm/llvm-project/pull/70996


More information about the llvm-commits mailing list