]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreLinux_x86_64.cpp
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / llvm / tools / lldb / source / Plugins / Process / elf-core / RegisterContextCoreLinux_x86_64.cpp
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 }