LLDB mainline
ABISysV_s390x.cpp File Reference
#include "ABISysV_s390x.h"
#include "llvm/ADT/STLExtras.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/DataExtractor.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.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"
#include <optional>

Go to the source code of this file.

Macros

#define DEFINE_REG(name, size, alt, generic)

Enumerations

enum  dwarf_regnums {
  dwarf_r0_s390x = 0 , dwarf_r1_s390x , dwarf_r2_s390x , dwarf_r3_s390x ,
  dwarf_r4_s390x , dwarf_r5_s390x , dwarf_r6_s390x , dwarf_r7_s390x ,
  dwarf_r8_s390x , dwarf_r9_s390x , dwarf_r10_s390x , dwarf_r11_s390x ,
  dwarf_r12_s390x , dwarf_r13_s390x , dwarf_r14_s390x , dwarf_r15_s390x ,
  dwarf_f0_s390x = 16 , dwarf_f2_s390x , dwarf_f4_s390x , dwarf_f6_s390x ,
  dwarf_f1_s390x , dwarf_f3_s390x , dwarf_f5_s390x , dwarf_f7_s390x ,
  dwarf_f8_s390x , dwarf_f10_s390x , dwarf_f12_s390x , dwarf_f14_s390x ,
  dwarf_f9_s390x , dwarf_f11_s390x , dwarf_f13_s390x , dwarf_f15_s390x ,
  dwarf_acr0_s390x = 48 , dwarf_acr1_s390x , dwarf_acr2_s390x , dwarf_acr3_s390x ,
  dwarf_acr4_s390x , dwarf_acr5_s390x , dwarf_acr6_s390x , dwarf_acr7_s390x ,
  dwarf_acr8_s390x , dwarf_acr9_s390x , dwarf_acr10_s390x , dwarf_acr11_s390x ,
  dwarf_acr12_s390x , dwarf_acr13_s390x , dwarf_acr14_s390x , dwarf_acr15_s390x ,
  dwarf_pswm_s390x = 64 , dwarf_pswa_s390x , dwarf_v16_s390x = 68 , dwarf_v18_s390x ,
  dwarf_v20_s390x , dwarf_v22_s390x , dwarf_v17_s390x , dwarf_v19_s390x ,
  dwarf_v21_s390x , dwarf_v23_s390x , dwarf_v24_s390x , dwarf_v26_s390x ,
  dwarf_v28_s390x , dwarf_v30_s390x , dwarf_v25_s390x , dwarf_v27_s390x ,
  dwarf_v29_s390x , dwarf_v31_s390x
}

Functions

static bool ReadIntegerArgument (Scalar &scalar, unsigned int bit_width, bool is_signed, Thread &thread, uint32_t *argument_register_ids, unsigned int &current_argument_register, addr_t &current_stack_argument)

Variables

static const RegisterInfo g_register_infos []
static const uint32_t k_num_register_infos = std::size(g_register_infos)

Macro Definition Documentation

◆ DEFINE_REG

#define DEFINE_REG ( name,
size,
alt,
generic )
Value:
{ \
#name, alt, size, 0, eEncodingUint, eFormatHex, \
{dwarf_##name##_s390x, dwarf_##name##_s390x, generic, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM }, \
nullptr, nullptr, nullptr, \
}

Definition at line 115 of file ABISysV_s390x.cpp.

Enumeration Type Documentation

◆ dwarf_regnums

Enumerator
dwarf_r0_s390x 
dwarf_r1_s390x 
dwarf_r2_s390x 
dwarf_r3_s390x 
dwarf_r4_s390x 
dwarf_r5_s390x 
dwarf_r6_s390x 
dwarf_r7_s390x 
dwarf_r8_s390x 
dwarf_r9_s390x 
dwarf_r10_s390x 
dwarf_r11_s390x 
dwarf_r12_s390x 
dwarf_r13_s390x 
dwarf_r14_s390x 
dwarf_r15_s390x 
dwarf_f0_s390x 
dwarf_f2_s390x 
dwarf_f4_s390x 
dwarf_f6_s390x 
dwarf_f1_s390x 
dwarf_f3_s390x 
dwarf_f5_s390x 
dwarf_f7_s390x 
dwarf_f8_s390x 
dwarf_f10_s390x 
dwarf_f12_s390x 
dwarf_f14_s390x 
dwarf_f9_s390x 
dwarf_f11_s390x 
dwarf_f13_s390x 
dwarf_f15_s390x 
dwarf_acr0_s390x 
dwarf_acr1_s390x 
dwarf_acr2_s390x 
dwarf_acr3_s390x 
dwarf_acr4_s390x 
dwarf_acr5_s390x 
dwarf_acr6_s390x 
dwarf_acr7_s390x 
dwarf_acr8_s390x 
dwarf_acr9_s390x 
dwarf_acr10_s390x 
dwarf_acr11_s390x 
dwarf_acr12_s390x 
dwarf_acr13_s390x 
dwarf_acr14_s390x 
dwarf_acr15_s390x 
dwarf_pswm_s390x 
dwarf_pswa_s390x 
dwarf_v16_s390x 
dwarf_v18_s390x 
dwarf_v20_s390x 
dwarf_v22_s390x 
dwarf_v17_s390x 
dwarf_v19_s390x 
dwarf_v21_s390x 
dwarf_v23_s390x 
dwarf_v24_s390x 
dwarf_v26_s390x 
dwarf_v28_s390x 
dwarf_v30_s390x 
dwarf_v25_s390x 
dwarf_v27_s390x 
dwarf_v29_s390x 
dwarf_v31_s390x 

Definition at line 39 of file ABISysV_s390x.cpp.

Function Documentation

◆ ReadIntegerArgument()

bool ReadIntegerArgument ( Scalar & scalar,
unsigned int bit_width,
bool is_signed,
Thread & thread,
uint32_t * argument_register_ids,
unsigned int & current_argument_register,
addr_t & current_stack_argument )
static

Definition at line 281 of file ABISysV_s390x.cpp.

References error(), and lldb_private::Scalar::SignExtend().

Variable Documentation

◆ g_register_infos

const RegisterInfo g_register_infos[]
static

Definition at line 123 of file ABISysV_s390x.cpp.

◆ k_num_register_infos

const uint32_t k_num_register_infos = std::size(g_register_infos)
static

Definition at line 176 of file ABISysV_s390x.cpp.