[Lldb-commits] [lldb] r185366 - Split symbol support for ELF and Linux.
Malea, Daniel
daniel.malea at intel.com
Tue Jul 2 08:18:34 PDT 2013
What's UUID used for? Is it just used by LLDB to determine when an
executable has changed, or does it have other implications? If it's just
for detecting changed executables, is there any reason to not just compute
an MD5 sum of the binary (in the case UUID is missing) instead?
Dan
On 2013-07-02 10:15 AM, "Ed Maste" <emaste at freebsd.org> wrote:
>On 1 July 2013 15:45, Michael Sartain <mikesart at valvesoftware.com> wrote:
>> Author: mikesart
>> Date: Mon Jul 1 14:45:50 2013
>> New Revision: 185366
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=185366&view=rev
>> Log:
>> Split symbol support for ELF and Linux.
>
>I just changed this to build for FreeBSD as well.
>
>It almost works, with one small issue - in source/Host/common/Symbols.cpp:
>
>> + if (file_spec.Exists())
>> + {
>> + lldb_private::ModuleSpecList specs;
>> + const size_t num_specs =
>>ObjectFile::GetModuleSpecifications (file_spec, 0, specs);
>> + assert (num_specs <= 1 && "Symbol Vendor supports only
>>a single architecture");
>> + if (num_specs == 1)
>> + {
>> + ModuleSpec mspec;
>> + if (specs.GetModuleSpecAtIndex (0, mspec))
>> + {
>> + if (mspec.GetUUID() == module_uuid)
>
>At this point mspec correctly refers to my standalone debug file, but
>has no UUID.
>
>(gdb) p mspec.m_file
>$5 = {m_directory = {m_string = 0x80543a730
>"/tank/emaste/src/snippets"}, m_filename = {m_string = 0x80543acc8
>"hello.debug"}, m_is_resolved = true}
>(gdb) p mspec.m_uuid
>$6 = {m_num_uuid_bytes = 16, m_uuid = '\0' <repeats 19 times>}
>
>I haven't yet looked into where the UUID is supposed to be set.
>_______________________________________________
>lldb-commits mailing list
>lldb-commits at cs.uiuc.edu
>http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
More information about the lldb-commits
mailing list