You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			63 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/Core/dwarf.h"
 | ||
|  | #include "lldb/Symbol/DebugMacros.h"
 | ||
|  | #include "lldb/lldb-types.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_
 |