LLDB
mainline
llvm-project
lldb
source
Plugins
SymbolFile
DWARF
DWARFDebugMacro.h
Go to the documentation of this file.
1
//===-- DWARFDebugMacro.h ----------------------------------------*- C++
2
//-*-===//
3
//
4
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5
// See https://llvm.org/LICENSE.txt for license information.
6
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7
//
8
//===----------------------------------------------------------------------===//
9
10
#ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFDEBUGMACRO_H
11
#define LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFDEBUGMACRO_H
12
13
#include <map>
14
15
#include "
lldb/Core/dwarf.h
"
16
#include "
lldb/Symbol/DebugMacros.h
"
17
#include "
lldb/lldb-types.h
"
18
19
namespace
lldb_private
{
20
class
DWARFDataExtractor;
21
}
22
23
namespace
lldb_private::plugin
{
24
namespace
dwarf
{
25
class
SymbolFileDWARF;
26
27
class
DWARFDebugMacroHeader
{
28
public
:
29
enum
HeaderFlagMask
{
30
OFFSET_SIZE_MASK
= 0x1,
31
DEBUG_LINE_OFFSET_MASK
= 0x2,
32
OPCODE_OPERANDS_TABLE_MASK
= 0x4
33
};
34
35
static
DWARFDebugMacroHeader
36
ParseHeader
(
const
DWARFDataExtractor
&debug_macro_data,
37
lldb::offset_t
*offset);
38
39
bool
OffsetIs64Bit
()
const
{
return
m_offset_is_64_bit
; }
40
41
private
:
42
static
void
SkipOperandTable
(
const
DWARFDataExtractor
&debug_macro_data,
43
lldb::offset_t
*offset);
44
45
uint16_t
m_version
= 0;
46
bool
m_offset_is_64_bit
=
false
;
47
uint64_t
m_debug_line_offset
= 0;
48
};
49
50
class
DWARFDebugMacroEntry
{
51
public
:
52
static
void
ReadMacroEntries
(
const
DWARFDataExtractor
&debug_macro_data,
53
const
DWARFDataExtractor
&debug_str_data,
54
const
bool
offset_is_64_bit,
55
lldb::offset_t
*sect_offset,
56
SymbolFileDWARF
*sym_file_dwarf,
57
DebugMacrosSP
&debug_macros_sp);
58
};
59
}
// namespace dwarf
60
}
// namespace lldb_private::plugin
61
62
#endif
// LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFDEBUGMACRO_H
DebugMacros.h
lldb_private::DWARFDataExtractor
Definition:
DWARFDataExtractor.h:18
lldb_private::plugin::dwarf::DWARFDebugMacroEntry
Definition:
DWARFDebugMacro.h:50
lldb_private::plugin::dwarf::DWARFDebugMacroEntry::ReadMacroEntries
static void ReadMacroEntries(const DWARFDataExtractor &debug_macro_data, const DWARFDataExtractor &debug_str_data, const bool offset_is_64_bit, lldb::offset_t *sect_offset, SymbolFileDWARF *sym_file_dwarf, DebugMacrosSP &debug_macros_sp)
Definition:
DWARFDebugMacro.cpp:61
lldb_private::plugin::dwarf::DWARFDebugMacroHeader
Definition:
DWARFDebugMacro.h:27
lldb_private::plugin::dwarf::DWARFDebugMacroHeader::SkipOperandTable
static void SkipOperandTable(const DWARFDataExtractor &debug_macro_data, lldb::offset_t *offset)
Definition:
DWARFDebugMacro.cpp:45
lldb_private::plugin::dwarf::DWARFDebugMacroHeader::m_offset_is_64_bit
bool m_offset_is_64_bit
Definition:
DWARFDebugMacro.h:46
lldb_private::plugin::dwarf::DWARFDebugMacroHeader::OffsetIs64Bit
bool OffsetIs64Bit() const
Definition:
DWARFDebugMacro.h:39
lldb_private::plugin::dwarf::DWARFDebugMacroHeader::ParseHeader
static DWARFDebugMacroHeader ParseHeader(const DWARFDataExtractor &debug_macro_data, lldb::offset_t *offset)
Definition:
DWARFDebugMacro.cpp:21
lldb_private::plugin::dwarf::DWARFDebugMacroHeader::HeaderFlagMask
HeaderFlagMask
Definition:
DWARFDebugMacro.h:29
lldb_private::plugin::dwarf::DWARFDebugMacroHeader::DEBUG_LINE_OFFSET_MASK
@ DEBUG_LINE_OFFSET_MASK
Definition:
DWARFDebugMacro.h:31
lldb_private::plugin::dwarf::DWARFDebugMacroHeader::OFFSET_SIZE_MASK
@ OFFSET_SIZE_MASK
Definition:
DWARFDebugMacro.h:30
lldb_private::plugin::dwarf::DWARFDebugMacroHeader::OPCODE_OPERANDS_TABLE_MASK
@ OPCODE_OPERANDS_TABLE_MASK
Definition:
DWARFDebugMacro.h:32
lldb_private::plugin::dwarf::DWARFDebugMacroHeader::m_debug_line_offset
uint64_t m_debug_line_offset
Definition:
DWARFDebugMacro.h:47
lldb_private::plugin::dwarf::DWARFDebugMacroHeader::m_version
uint16_t m_version
Definition:
DWARFDebugMacro.h:45
lldb_private::plugin::dwarf::SymbolFileDWARF
Definition:
SymbolFileDWARF.h:66
dwarf.h
lldb-types.h
dwarf
Definition:
ABISysV_arc.cpp:61
lldb_private::plugin
Definition:
DWARFExpression.h:24
lldb_private
A class that represents a running process on the host machine.
Definition:
SBAddressRange.h:14
lldb_private::DebugMacrosSP
std::shared_ptr< DebugMacros > DebugMacrosSP
Definition:
DebugMacros.h:22
lldb::offset_t
uint64_t offset_t
Definition:
lldb-types.h:85
Generated on Fri Dec 20 2024 17:27:43 for LLDB by
1.9.6