Home | History | Annotate | Download | only in elf-core
      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 
     15 RegisterContextCoreLinux_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 
     28 RegisterContextCoreLinux_x86_64::~RegisterContextCoreLinux_x86_64()
     29 {
     30     delete [] m_gpregset;
     31 }
     32 
     33 bool
     34 RegisterContextCoreLinux_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 
     40 bool
     41 RegisterContextCoreLinux_x86_64::ReadAllRegisterValues(lldb::DataBufferSP &data_sp)
     42 {
     43     return false;
     44 }
     45 
     46 bool
     47 RegisterContextCoreLinux_x86_64::WriteRegister(const RegisterInfo *reg_info, const RegisterValue &value)
     48 {
     49     return false;
     50 }
     51 
     52 bool
     53 RegisterContextCoreLinux_x86_64::WriteAllRegisterValues(const lldb::DataBufferSP &data_sp)
     54 {
     55     return false;
     56 }
     57 
     58 bool
     59 RegisterContextCoreLinux_x86_64::UpdateAfterBreakpoint()
     60 {
     61     return false;
     62 }
     63 
     64 bool
     65 RegisterContextCoreLinux_x86_64::HardwareSingleStep(bool enable)
     66 {
     67     return false;
     68 }
     69