mirror of
https://github.com/opnsense/src.git
synced 2026-04-15 14:29:58 -04:00
As with previous imports a number of plugins not immediately relevant to FreeBSD have been excluded: ABIMacOSX_i386 ABIMacOSX_arm ABIMacOSX_arm64 ABISysV_hexagon AppleObjCRuntimeV2 AppleObjCRuntimeV1 SystemRuntimeMacOSX RenderScriptRuntime GoLanguageRuntime GoLanguage ObjCLanguage ObjCPlusPlusLanguage ObjectFilePECOFF DynamicLoaderWindowsDYLD platform_linux platform_netbsd PlatformWindows PlatformKalimba platform_android DynamicLoaderMacOSXDYLD ObjectContainerUniversalMachO PlatformRemoteiOS PlatformMacOSX OperatingSystemGo
68 lines
1.7 KiB
C++
68 lines
1.7 KiB
C++
//===-- DWARFDebugMacro.h ----------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef SymbolFileDWARF_DWARFDebugMacro_h_
|
|
#define SymbolFileDWARF_DWARFDebugMacro_h_
|
|
|
|
#include <map>
|
|
|
|
#include "lldb/lldb-types.h"
|
|
#include "lldb/Core/dwarf.h"
|
|
#include "lldb/Symbol/DebugMacros.h"
|
|
|
|
namespace lldb_private
|
|
{
|
|
|
|
class DWARFDataExtractor;
|
|
|
|
} // namespace lldb_private
|
|
|
|
class SymbolFileDWARF;
|
|
|
|
class DWARFDebugMacroHeader
|
|
{
|
|
public:
|
|
enum HeaderFlagMask
|
|
{
|
|
OFFSET_SIZE_MASK = 0x1,
|
|
DEBUG_LINE_OFFSET_MASK = 0x2,
|
|
OPCODE_OPERANDS_TABLE_MASK = 0x4
|
|
};
|
|
|
|
static DWARFDebugMacroHeader
|
|
ParseHeader(const lldb_private::DWARFDataExtractor &debug_macro_data, lldb::offset_t *offset);
|
|
|
|
bool
|
|
OffsetIs64Bit() const
|
|
{
|
|
return m_offset_is_64_bit;
|
|
}
|
|
|
|
private:
|
|
static void
|
|
SkipOperandTable(const lldb_private::DWARFDataExtractor &debug_macro_data, lldb::offset_t *offset);
|
|
|
|
uint16_t m_version;
|
|
bool m_offset_is_64_bit;
|
|
uint64_t m_debug_line_offset;
|
|
};
|
|
|
|
class DWARFDebugMacroEntry
|
|
{
|
|
public:
|
|
static void
|
|
ReadMacroEntries(const lldb_private::DWARFDataExtractor &debug_macro_data,
|
|
const lldb_private::DWARFDataExtractor &debug_str_data,
|
|
const bool offset_is_64_bit,
|
|
lldb::offset_t *sect_offset,
|
|
SymbolFileDWARF *sym_file_dwarf,
|
|
lldb_private::DebugMacrosSP &debug_macros_sp);
|
|
};
|
|
|
|
#endif // SymbolFileDWARF_DWARFDebugMacro_h_
|