[Lldb-commits] [PATCH] D75750: WIP: [lldb] integrate debuginfod
Jan Kratochvil via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Mar 19 09:11:07 PDT 2020
jankratochvil added inline comments.
================
Comment at: lldb/source/Host/common/DebugInfoD.cpp:39
+
+llvm::Expected<std::string> findSource(UUID buildID, const std::string &path) {
+ if (!buildID.IsValid())
----------------
`const UUID &buildID` as it is even bigger (40 bytes) than `std::string` (32 bytes).
================
Comment at: lldb/source/Host/common/DebugInfoD.cpp:56
+ // return 0; // continue
+ // });
+
----------------
Excessive leftover comment.
================
Comment at: lldb/source/Host/common/DebugInfoD.cpp:59
+ char *cache_path = nullptr;
+ int rc = debuginfod_find_source(client, buildID.GetBytes().data(),
+ buildID.GetBytes().size(), path.c_str(),
----------------
Here it will contact the server even if the binary does not contain any build-id - LLDB then generates UUID as 4 bytes long one:
```
// Use 4 bytes of crc from the .gnu_debuglink section.
u32le data(gnu_debuglink_crc);
uuid = UUID::fromData(&data, sizeof(data));
```
That is a needless performance regression.
I sure do not like making such decision on the LLDB side. Maybe libdebuginfod could rather make such optimization - IMO as Frank Eigler.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75750/new/
https://reviews.llvm.org/D75750
More information about the lldb-commits
mailing list