dl_phdr_info * info,
    std::vector<SymbolIndex::Symbol> & symbols,
    std::vector<SymbolIndex::Object> & objects,
    SymbolIndex::Resources & resources,
    String & build_id)
{
    String object_name;
    String our_build_id;
#if defined (USE_MUSL)
    object_name = "/proc/self/exe";
    our_build_id = Elf(object_name).getBuildID();
    build_id = our_build_id;
#else
    
    __msan_unpoison_string(info->dlpi_name);
    object_name = info->dlpi_name;
    our_build_id = getBuildIDFromProgramHeaders(info);
    
    
    if (object_name.empty())
    {
        object_name = "/proc/self/exe";
        if (our_build_id.empty())
            our_build_id = Elf(object_name).getBuildID();
        if (build_id.empty())
            build_id = our_build_id;
    }
#endif
    std::error_code ec;