LLDB mainline
Enumerations | Functions
ABISysV_x86_64.cpp File Reference
#include "ABISysV_x86_64.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/TargetParser/Triple.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Value.h"
#include "lldb/Core/ValueObjectConstResult.h"
#include "lldb/Core/ValueObjectMemory.h"
#include "lldb/Core/ValueObjectRegister.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 <optional>
#include <vector>

Go to the source code of this file.

Enumerations

enum  dwarf_regnums {
  dwarf_r0 = 0 , dwarf_r1 , dwarf_r2 , dwarf_r3 ,
  dwarf_r4 , dwarf_r5 , dwarf_r6 , dwarf_r7 ,
  dwarf_r8 , dwarf_r9 , dwarf_r10 , dwarf_r11 ,
  dwarf_r12 , dwarf_r13 , dwarf_r14 , dwarf_r15 ,
  dwarf_r16 , dwarf_r17 , dwarf_r18 , dwarf_r19 ,
  dwarf_r20 , dwarf_r21 , dwarf_r22 , dwarf_r23 ,
  dwarf_r24 , dwarf_r25 , dwarf_r26 , dwarf_r27 ,
  dwarf_r28 , dwarf_r29 , dwarf_r30 , dwarf_r31 ,
  dwarf_sr , dwarf_lo , dwarf_hi , dwarf_bad ,
  dwarf_cause , dwarf_pc , dwarf_r0 = 0 , dwarf_r1 ,
  dwarf_r2 , dwarf_r3 , dwarf_r4 , dwarf_r5 ,
  dwarf_r6 , dwarf_r7 , dwarf_r8 , dwarf_r9 ,
  dwarf_r10 , dwarf_r11 , dwarf_r12 , dwarf_r13 ,
  dwarf_r14 , dwarf_r15 , dwarf_r16 , dwarf_r17 ,
  dwarf_r18 , dwarf_r19 , dwarf_r20 , dwarf_r21 ,
  dwarf_r22 , dwarf_r23 , dwarf_r24 , dwarf_r25 ,
  dwarf_r26 , dwarf_r27 , dwarf_r28 , dwarf_r29 ,
  dwarf_r30 , dwarf_r31 , dwarf_sr , dwarf_lo ,
  dwarf_hi , dwarf_bad , dwarf_cause , dwarf_pc ,
  dwarf_pc = 0 , dwarf_sp , dwarf_r2 , dwarf_r3 ,
  dwarf_fp , dwarf_r5 , dwarf_r6 , dwarf_r7 ,
  dwarf_r8 , dwarf_r9 , dwarf_r10 , dwarf_r11 ,
  dwarf_r12 , dwarf_r13 , dwarf_r14 , dwarf_r15 ,
  dwarf_r0 = 0 , dwarf_r1 , dwarf_r2 , dwarf_r3 ,
  dwarf_r4 , dwarf_r5 , dwarf_r6 , dwarf_r7 ,
  dwarf_r8 , dwarf_r9 , dwarf_r10 , dwarf_r11 ,
  dwarf_r12 , dwarf_r13 , dwarf_r14 , dwarf_r15 ,
  dwarf_r16 , dwarf_r17 , dwarf_r18 , dwarf_r19 ,
  dwarf_r20 , dwarf_r21 , dwarf_r22 , dwarf_r23 ,
  dwarf_r24 , dwarf_r25 , dwarf_r26 , dwarf_r27 ,
  dwarf_r28 , dwarf_r29 , dwarf_r30 , dwarf_r31 ,
  dwarf_f0 , dwarf_f1 , dwarf_f2 , dwarf_f3 ,
  dwarf_f4 , dwarf_f5 , dwarf_f6 , dwarf_f7 ,
  dwarf_f8 , dwarf_f9 , dwarf_f10 , dwarf_f11 ,
  dwarf_f12 , dwarf_f13 , dwarf_f14 , dwarf_f15 ,
  dwarf_f16 , dwarf_f17 , dwarf_f18 , dwarf_f19 ,
  dwarf_f20 , dwarf_f21 , dwarf_f22 , dwarf_f23 ,
  dwarf_f24 , dwarf_f25 , dwarf_f26 , dwarf_f27 ,
  dwarf_f28 , dwarf_f29 , dwarf_f30 , dwarf_f31 ,
  dwarf_cr , dwarf_fpscr , dwarf_xer = 101 , dwarf_lr = 108 ,
  dwarf_ctr , dwarf_pc , dwarf_cfa , 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 , dwarf_eax = 0 , dwarf_ecx , dwarf_edx ,
  dwarf_ebx , dwarf_esp , dwarf_ebp , dwarf_esi ,
  dwarf_edi , dwarf_eip , dwarf_rax = 0 , dwarf_rdx ,
  dwarf_rcx , dwarf_rbx , dwarf_rsi , dwarf_rdi ,
  dwarf_rbp , dwarf_rsp , dwarf_r8 , dwarf_r9 ,
  dwarf_r10 , dwarf_r11 , dwarf_r12 , dwarf_r13 ,
  dwarf_r14 , dwarf_r15 , dwarf_rip , dwarf_rax = 0 ,
  dwarf_rdx , dwarf_rcx , dwarf_rbx , dwarf_rsi ,
  dwarf_rdi , dwarf_rbp , dwarf_rsp , dwarf_r8 ,
  dwarf_r9 , dwarf_r10 , dwarf_r11 , dwarf_r12 ,
  dwarf_r13 , dwarf_r14 , dwarf_r15 , dwarf_rip ,
  dwarf_xmm0 , dwarf_xmm1 , dwarf_xmm2 , dwarf_xmm3 ,
  dwarf_xmm4 , dwarf_xmm5 , dwarf_xmm6 , dwarf_xmm7 ,
  dwarf_xmm8 , dwarf_xmm9 , dwarf_xmm10 , dwarf_xmm11 ,
  dwarf_xmm12 , dwarf_xmm13 , dwarf_xmm14 , dwarf_xmm15 ,
  dwarf_stmm0 , dwarf_stmm1 , dwarf_stmm2 , dwarf_stmm3 ,
  dwarf_stmm4 , dwarf_stmm5 , dwarf_stmm6 , dwarf_stmm7 ,
  dwarf_ymm0 , dwarf_ymm1 , dwarf_ymm2 , dwarf_ymm3 ,
  dwarf_ymm4 , dwarf_ymm5 , dwarf_ymm6 , dwarf_ymm7 ,
  dwarf_ymm8 , dwarf_ymm9 , dwarf_ymm10 , dwarf_ymm11 ,
  dwarf_ymm12 , dwarf_ymm13 , dwarf_ymm14 , dwarf_ymm15 ,
  dwarf_bnd0 = 126 , dwarf_bnd1 , dwarf_bnd2 , dwarf_bnd3
}
 

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)
 
static bool FlattenAggregateType (Thread &thread, ExecutionContext &exe_ctx, CompilerType &return_compiler_type, uint32_t data_byte_offset, std::vector< uint32_t > &aggregate_field_offsets, std::vector< CompilerType > &aggregate_compiler_types)
 

Enumeration Type Documentation

◆ dwarf_regnums

Enumerator
dwarf_r0 
dwarf_r1 
dwarf_r2 
dwarf_r3 
dwarf_r4 
dwarf_r5 
dwarf_r6 
dwarf_r7 
dwarf_r8 
dwarf_r9 
dwarf_r10 
dwarf_r11 
dwarf_r12 
dwarf_r13 
dwarf_r14 
dwarf_r15 
dwarf_r16 
dwarf_r17 
dwarf_r18 
dwarf_r19 
dwarf_r20 
dwarf_r21 
dwarf_r22 
dwarf_r23 
dwarf_r24 
dwarf_r25 
dwarf_r26 
dwarf_r27 
dwarf_r28 
dwarf_r29 
dwarf_r30 
dwarf_r31 
dwarf_sr 
dwarf_lo 
dwarf_hi 
dwarf_bad 
dwarf_cause 
dwarf_pc 
dwarf_r0 
dwarf_r1 
dwarf_r2 
dwarf_r3 
dwarf_r4 
dwarf_r5 
dwarf_r6 
dwarf_r7 
dwarf_r8 
dwarf_r9 
dwarf_r10 
dwarf_r11 
dwarf_r12 
dwarf_r13 
dwarf_r14 
dwarf_r15 
dwarf_r16 
dwarf_r17 
dwarf_r18 
dwarf_r19 
dwarf_r20 
dwarf_r21 
dwarf_r22 
dwarf_r23 
dwarf_r24 
dwarf_r25 
dwarf_r26 
dwarf_r27 
dwarf_r28 
dwarf_r29 
dwarf_r30 
dwarf_r31 
dwarf_sr 
dwarf_lo 
dwarf_hi 
dwarf_bad 
dwarf_cause 
dwarf_pc 
dwarf_pc 
dwarf_sp 
dwarf_r2 
dwarf_r3 
dwarf_fp 
dwarf_r5 
dwarf_r6 
dwarf_r7 
dwarf_r8 
dwarf_r9 
dwarf_r10 
dwarf_r11 
dwarf_r12 
dwarf_r13 
dwarf_r14 
dwarf_r15 
dwarf_r0 
dwarf_r1 
dwarf_r2 
dwarf_r3 
dwarf_r4 
dwarf_r5 
dwarf_r6 
dwarf_r7 
dwarf_r8 
dwarf_r9 
dwarf_r10 
dwarf_r11 
dwarf_r12 
dwarf_r13 
dwarf_r14 
dwarf_r15 
dwarf_r16 
dwarf_r17 
dwarf_r18 
dwarf_r19 
dwarf_r20 
dwarf_r21 
dwarf_r22 
dwarf_r23 
dwarf_r24 
dwarf_r25 
dwarf_r26 
dwarf_r27 
dwarf_r28 
dwarf_r29 
dwarf_r30 
dwarf_r31 
dwarf_f0 
dwarf_f1 
dwarf_f2 
dwarf_f3 
dwarf_f4 
dwarf_f5 
dwarf_f6 
dwarf_f7 
dwarf_f8 
dwarf_f9 
dwarf_f10 
dwarf_f11 
dwarf_f12 
dwarf_f13 
dwarf_f14 
dwarf_f15 
dwarf_f16 
dwarf_f17 
dwarf_f18 
dwarf_f19 
dwarf_f20 
dwarf_f21 
dwarf_f22 
dwarf_f23 
dwarf_f24 
dwarf_f25 
dwarf_f26 
dwarf_f27 
dwarf_f28 
dwarf_f29 
dwarf_f30 
dwarf_f31 
dwarf_cr 
dwarf_fpscr 
dwarf_xer 
dwarf_lr 
dwarf_ctr 
dwarf_pc 
dwarf_cfa 
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 
dwarf_eax 
dwarf_ecx 
dwarf_edx 
dwarf_ebx 
dwarf_esp 
dwarf_ebp 
dwarf_esi 
dwarf_edi 
dwarf_eip 
dwarf_rax 
dwarf_rdx 
dwarf_rcx 
dwarf_rbx 
dwarf_rsi 
dwarf_rdi 
dwarf_rbp 
dwarf_rsp 
dwarf_r8 
dwarf_r9 
dwarf_r10 
dwarf_r11 
dwarf_r12 
dwarf_r13 
dwarf_r14 
dwarf_r15 
dwarf_rip 
dwarf_rax 
dwarf_rdx 
dwarf_rcx 
dwarf_rbx 
dwarf_rsi 
dwarf_rdi 
dwarf_rbp 
dwarf_rsp 
dwarf_r8 
dwarf_r9 
dwarf_r10 
dwarf_r11 
dwarf_r12 
dwarf_r13 
dwarf_r14 
dwarf_r15 
dwarf_rip 
dwarf_xmm0 
dwarf_xmm1 
dwarf_xmm2 
dwarf_xmm3 
dwarf_xmm4 
dwarf_xmm5 
dwarf_xmm6 
dwarf_xmm7 
dwarf_xmm8 
dwarf_xmm9 
dwarf_xmm10 
dwarf_xmm11 
dwarf_xmm12 
dwarf_xmm13 
dwarf_xmm14 
dwarf_xmm15 
dwarf_stmm0 
dwarf_stmm1 
dwarf_stmm2 
dwarf_stmm3 
dwarf_stmm4 
dwarf_stmm5 
dwarf_stmm6 
dwarf_stmm7 
dwarf_ymm0 
dwarf_ymm1 
dwarf_ymm2 
dwarf_ymm3 
dwarf_ymm4 
dwarf_ymm5 
dwarf_ymm6 
dwarf_ymm7 
dwarf_ymm8 
dwarf_ymm9 
dwarf_ymm10 
dwarf_ymm11 
dwarf_ymm12 
dwarf_ymm13 
dwarf_ymm14 
dwarf_ymm15 
dwarf_bnd0 
dwarf_bnd1 
dwarf_bnd2 
dwarf_bnd3 

Definition at line 42 of file ABISysV_x86_64.cpp.

Function Documentation

◆ FlattenAggregateType()

static bool FlattenAggregateType ( Thread thread,
ExecutionContext exe_ctx,
CompilerType return_compiler_type,
uint32_t  data_byte_offset,
std::vector< uint32_t > &  aggregate_field_offsets,
std::vector< CompilerType > &  aggregate_compiler_types 
)
static

◆ ReadIntegerArgument()

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 
)
static