[Lldb-commits] [lldb] r185366 - Split symbol support for ELF and Linux.

Ed Maste emaste at freebsd.org
Tue Jul 2 07:15:14 PDT 2013


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.



More information about the lldb-commits mailing list