[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