LLDB mainline
ABISysV_arc.cpp File Reference
#include "ABISysV_arc.h"
#include <array>
#include <limits>
#include <type_traits>
#include "llvm/IR/DerivedTypes.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/TargetParser/Triple.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Value.h"
#include "lldb/Symbol/UnwindPlan.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/Status.h"
#include "lldb/ValueObject/ValueObjectConstResult.h"
#include "lldb/ValueObject/ValueObjectMemory.h"
#include "lldb/ValueObject/ValueObjectRegister.h"

Go to the source code of this file.

Namespaces

namespace  dwarf

Macros

#define DEFINE_REG_NAME(reg_num)
#define DEFINE_REG_NAME_STR(reg_name)
#define DEFINE_GENERIC_REGISTER_STUB(dwarf_num, str_name, generic_num)
#define DEFINE_REGISTER_STUB(dwarf_num, str_name)

Functions

static size_t AugmentArgSize (size_t size_in_bytes)
static size_t TotalArgsSizeInWords (const llvm::ArrayRef< ABI::CallArgument > &args)
template<typename T>
static void SetInteger (Scalar &scalar, uint64_t raw_value, bool is_signed)
static bool SetSizedInteger (Scalar &scalar, uint64_t raw_value, uint8_t size_in_bytes, bool is_signed)
static bool SetSizedFloat (Scalar &scalar, uint64_t raw_value, uint8_t size_in_bytes)
static uint64_t ReadRawValue (const RegisterContextSP &reg_ctx, uint8_t size_in_bytes)

Variables

static const size_t word_size = 4U
static const size_t reg_size = word_size

Macro Definition Documentation

◆ DEFINE_GENERIC_REGISTER_STUB

#define DEFINE_GENERIC_REGISTER_STUB ( dwarf_num,
str_name,
generic_num )
Value:
{ \
DEFINE_REG_NAME(dwarf_num), DEFINE_REG_NAME_STR(str_name), \
{ dwarf_num, dwarf_num, generic_num, LLDB_INVALID_REGNUM, dwarf_num }, \
nullptr, nullptr, nullptr, \
}
#define DEFINE_REG_NAME_STR(reg_name)
#define LLDB_INVALID_REGNUM

Definition at line 44 of file ABISysV_arc.cpp.

◆ DEFINE_REG_NAME

#define DEFINE_REG_NAME ( reg_num)
Value:
A uniqued constant string class.
Definition ConstString.h:40
const char * GetCString() const
Get the string value as a C string.

Definition at line 38 of file ABISysV_arc.cpp.

◆ DEFINE_REG_NAME_STR

#define DEFINE_REG_NAME_STR ( reg_name)
Value:

Definition at line 39 of file ABISysV_arc.cpp.

◆ DEFINE_REGISTER_STUB

#define DEFINE_REGISTER_STUB ( dwarf_num,
str_name )
Value:
#define DEFINE_GENERIC_REGISTER_STUB(dwarf_num, str_name, generic_num)

Definition at line 52 of file ABISysV_arc.cpp.

Function Documentation

◆ AugmentArgSize()

size_t AugmentArgSize ( size_t size_in_bytes)
inlinestatic

Definition at line 173 of file ABISysV_arc.cpp.

References word_size.

Referenced by TotalArgsSizeInWords().

◆ ReadRawValue()

uint64_t ReadRawValue ( const RegisterContextSP & reg_ctx,
uint8_t size_in_bytes )
static

◆ SetInteger()

template<typename T>
void SetInteger ( Scalar & scalar,
uint64_t raw_value,
bool is_signed )
static

Definition at line 376 of file ABISysV_arc.cpp.

Referenced by SetSizedInteger().

◆ SetSizedFloat()

bool SetSizedFloat ( Scalar & scalar,
uint64_t raw_value,
uint8_t size_in_bytes )
static

◆ SetSizedInteger()

bool SetSizedInteger ( Scalar & scalar,
uint64_t raw_value,
uint8_t size_in_bytes,
bool is_signed )
static

◆ TotalArgsSizeInWords()

size_t TotalArgsSizeInWords ( const llvm::ArrayRef< ABI::CallArgument > & args)
static

Variable Documentation

◆ reg_size

◆ word_size