[Lldb-commits] [PATCH] D48479: Represent invalid UUIDs as UUIDs with length zero

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Jun 25 08:41:05 PDT 2018

labath added inline comments.

Comment at: include/lldb/Utility/UUID.h:109
+  uint32_t m_num_uuid_bytes = 0; // Should be 0, 16 or 20
   ValueType m_uuid;
clayborg wrote:
> Do we need this comment here? We currently take a 4 byte debug info CRC and call it a 16 byte UUID for no reason. Can we remove the need for this comment and allow any length?
I will do that in a follow-up patch. I wanted to keep this one for dealing with the whole zero issue.

Comment at: source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp:735-736
               // Use 4 bytes of crc from the .gnu_debuglink section.
               uint32_t uuidt[4] = {gnu_debuglink_crc, 0, 0, 0};
-              uuid.SetBytes(uuidt, sizeof(uuidt));
+              uuid = UUID::fromData(uuidt, sizeof(uuidt));
             } else if (core_notes_crc) {
clayborg wrote:
> Should we just save the UUId is 4 bytes long here?
I will fix this and the other issues in the next patch.

Comment at: source/Utility/DataExtractor.cpp:1101
 void DataExtractor::DumpUUID(Stream *s, offset_t offset) const {
   if (s) {
clayborg wrote:
> This should take a UUID byte size as a second parameter and callers should be required to specify it explicitly
Hmm.. this is actually unused. Can I just remove it?


More information about the lldb-commits mailing list