18#include "llvm/BinaryFormat/ELF.h"
27 "PPC64-specific algorithms",
37 arch.
GetTriple().getObjectFormat() == llvm::Triple::ObjectFormatType::ELF)
43 unsigned char other = sym.
GetFlags() >> 8 & 0xFF;
44 return llvm::ELF::decodePPC64LocalEntryOffset(other);
48 const Address &curr_addr)
const {
static int32_t GetLocalEntryOffset(const Symbol &sym)
#define LLDB_PLUGIN_DEFINE(PluginName)
A section + offset based address class.
lldb::addr_t GetFileAddress() const
Get the file address.
lldb::addr_t GetOffset() const
Get the section relative offset value.
bool SetOffset(lldb::addr_t offset)
Set accessor for the offset.
An architecture specification class.
llvm::Triple & GetTriple()
Architecture triple accessor.
ArchitecturePPC64()=default
size_t GetBytesToSkip(Symbol &func, const Address &curr_addr) const override
This method compares current address with current function's local entry point, returning the bytes t...
static std::unique_ptr< Architecture > Create(const ArchSpec &arch)
void AdjustBreakpointAddress(const Symbol &func, Address &addr) const override
Adjust function breakpoint address, if needed.
static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, ABICreateInstance create_callback)
static bool UnregisterPlugin(ABICreateInstance create_callback)
lldb::addr_t GetFileAddress() const
uint32_t GetFlags() const
uint32_t GetPrologueByteSize()
A class that represents a running process on the host machine.