1//===-- RegisterContextCoreLinux_x86_64.cpp -------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#include "lldb/Core/DataExtractor.h" 11#include "lldb/Core/RegisterValue.h" 12#include "lldb/Target/Thread.h" 13#include "RegisterContextCoreLinux_x86_64.h" 14 15RegisterContextCoreLinux_x86_64::RegisterContextCoreLinux_x86_64(Thread &thread, 16 const DataExtractor &gpregset, 17 const DataExtractor &fpregset) 18 : RegisterContextLinux_x86_64(thread, 0) 19{ 20 size_t size, len; 21 22 size = GetGPRSize(); 23 m_gpregset = new uint8_t[size]; 24 len = gpregset.ExtractBytes(0, size, lldb::eByteOrderLittle, m_gpregset); 25 assert(len == size); 26} 27 28RegisterContextCoreLinux_x86_64::~RegisterContextCoreLinux_x86_64() 29{ 30 delete [] m_gpregset; 31} 32 33bool 34RegisterContextCoreLinux_x86_64::ReadRegister(const RegisterInfo *reg_info, RegisterValue &value) 35{ 36 value = *(uint64_t *)(m_gpregset + reg_info->byte_offset); 37 return true; 38} 39 40bool 41RegisterContextCoreLinux_x86_64::ReadAllRegisterValues(lldb::DataBufferSP &data_sp) 42{ 43 return false; 44} 45 46bool 47RegisterContextCoreLinux_x86_64::WriteRegister(const RegisterInfo *reg_info, const RegisterValue &value) 48{ 49 return false; 50} 51 52bool 53RegisterContextCoreLinux_x86_64::WriteAllRegisterValues(const lldb::DataBufferSP &data_sp) 54{ 55 return false; 56} 57 58bool 59RegisterContextCoreLinux_x86_64::UpdateAfterBreakpoint() 60{ 61 return false; 62} 63 64bool 65RegisterContextCoreLinux_x86_64::HardwareSingleStep(bool enable) 66{ 67 return false; 68} 69