[Lldb-commits] [PATCH] D75750: WIP: [lldb] integrate debuginfod
Pavel Labath via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Mar 24 06:57:16 PDT 2020
labath added a comment.
The code mostly fine for me, but this should be reviewed by properly by more people, once you're ready to take down the WIP tag.
I am still not happy with the test case.
================
Comment at: lldb/source/Host/common/DebugInfoD.cpp:43
+ buildID.GetBytes().size() ==
+ sizeof(llvm::support::ulittle32_t)) // .gnu_debuglink crc32
+ return llvm::createStringError(llvm::inconvertibleErrorCode(),
----------------
jankratochvil wrote:
> If it is done this way (and not in `libdebuginfod.so`) I think there should be `<=8` because LLDB contains:
> ```
> if (gnu_debuglink_crc) {
> // Use 4 bytes of crc from the .gnu_debuglink section.
> u32le data(gnu_debuglink_crc);
> uuid = UUID::fromData(&data, sizeof(data));
> } else if (core_notes_crc) {
> // Use 8 bytes - first 4 bytes for *magic* prefix, mainly to make
> // it look different form .gnu_debuglink crc followed by 4 bytes
> // of note segments crc.
> u32le data[] = {u32le(g_core_uuid_magic), u32le(core_notes_crc)};
> uuid = UUID::fromData(data, sizeof(data));
> }
> ```
>
4 would have probably been fine too, as I don't think a core file "uuid" can make its way into here. In either case, we should document what is this working around, as 4 or 8 byte uuids are technically valid.
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