Lines Matching +full:triple +full:- +full:channel
1 //===-- DYLDRendezvous.cpp ------------------------------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
75 // grab it via some remote-specific mechanism. in ResolveRendezvousAddress()
76 info_location = m_process->GetImageInfoAddress(); in ResolveRendezvousAddress()
82 Target *target = &m_process->GetTarget(); in ResolveRendezvousAddress()
84 ObjectFile *obj_file = target->GetExecutableModule()->GetObjectFile(); in ResolveRendezvousAddress()
85 Address addr = obj_file->GetImageInfoAddress(target); in ResolveRendezvousAddress()
94 target->GetExecutableModule()->FindFirstSymbolWithNameAndType( in ResolveRendezvousAddress()
97 info_addr = _r_debug->GetAddress().GetLoadAddress(target); in ResolveRendezvousAddress()
108 "%s FAILED - direct object file approach did not yield a " in ResolveRendezvousAddress()
116 LLDB_LOGF(log, "%s FAILED - invalid info address", __FUNCTION__); in ResolveRendezvousAddress()
121 __FUNCTION__, m_process->GetAddressByteSize(), info_location); in ResolveRendezvousAddress()
123 info_addr = m_process->ReadPointerFromMemory(info_location, error); in ResolveRendezvousAddress()
125 LLDB_LOGF(log, "%s FAILED - could not read from the info location: %s", in ResolveRendezvousAddress()
132 "%s FAILED - the rendezvous address contained at 0x%" PRIx64 in ResolveRendezvousAddress()
144 Module *exe_mod = m_process->GetTarget().GetExecutableModulePointer(); in UpdateExecutablePath()
146 m_exe_file_spec = exe_mod->GetPlatformFileSpec(); in UpdateExecutablePath()
175 address_size = m_process->GetAddressByteSize(); in Resolve()
176 padding = address_size - word_size; in Resolve()
281 // - LLDB finds the "_r_debug" structure via the DT_DEBUG entry in the in GetAction()
283 // - ld.so uodates its copy of "_r_debug" with "state = eAdd" before it in GetAction()
288 // - LLDB hits the breakpoint and the breakpoint has a callback function in GetAction()
291 // - ld.so finishes loading the main executable and any dependent shared in GetAction()
295 // - lldb hits the notification breakpoint and checks the ld.so copy of in GetAction()
305 // in the "log enable lldb dyld" log channel which states there might be in GetAction()
350 m_process->GetLoadedModuleList(); in UpdateSOEntriesFromRemote()
548 auto triple = m_process->GetTarget().GetArchitecture().GetTriple(); in SOEntryIsMainExecutable() local
549 switch (triple.getOS()) { in SOEntryIsMainExecutable()
550 case llvm::Triple::FreeBSD: in SOEntryIsMainExecutable()
551 case llvm::Triple::NetBSD: in SOEntryIsMainExecutable()
552 case llvm::Triple::OpenBSD: in SOEntryIsMainExecutable()
554 case llvm::Triple::Linux: in SOEntryIsMainExecutable()
555 if (triple.isAndroid()) in SOEntryIsMainExecutable()
595 *dst = m_process->ReadUnsignedIntegerFromMemory(addr, size, 0, error); in ReadWord()
605 *dst = m_process->ReadPointerFromMemory(addr, error); in ReadPointer()
609 return addr + m_process->GetAddressByteSize(); in ReadPointer()
619 m_process->ReadCStringFromMemory(addr, str, error); in ReadStringFromMemory()
630 unsigned os_major = target.GetPlatform()->GetOSVersion().getMajor(); in isLoadBiasIncorrect()
641 if (isLoadBiasIncorrect(m_process->GetTarget(), file_path)) { in UpdateBaseAddrIfNecessary()
645 m_process->GetFileLoadAddress(entry.file_spec, is_loaded, load_addr); in UpdateBaseAddrIfNecessary()
657 m_process->GetMemoryRegionInfo(entry.dyn_addr, region); in UpdateFileSpecIfNecessary()
675 const ArchSpec &arch = m_process->GetTarget().GetArchitecture(); in ReadSOEntryFromMemory()
676 if ((arch.GetTriple().getOS() == llvm::Triple::FreeBSD || in ReadSOEntryFromMemory()
677 arch.GetTriple().getOS() == llvm::Triple::NetBSD) && in ReadSOEntryFromMemory()
708 Target &target = m_process->GetTarget(); in FindMetadata()
716 Address address = list[0].symbol->GetAddress(); in FindMetadata()
762 log->PutCString("DYLDRendezvous:"); in DumpToLog()
778 log->PutCString("DYLDRendezvous SOEntries:"); in DumpToLog()
781 LLDB_LOGF(log, "\n SOEntry [%d] %s", i, I->file_spec.GetPath().c_str()); in DumpToLog()
782 LLDB_LOGF(log, " Base : %" PRIx64, I->base_addr); in DumpToLog()
783 LLDB_LOGF(log, " Path : %" PRIx64, I->path_addr); in DumpToLog()
784 LLDB_LOGF(log, " Dyn : %" PRIx64, I->dyn_addr); in DumpToLog()
785 LLDB_LOGF(log, " Next : %" PRIx64, I->next); in DumpToLog()
786 LLDB_LOGF(log, " Prev : %" PRIx64, I->prev); in DumpToLog()
791 return !m_process->IsLiveDebugSession(); in IsCoreFile()