You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|   | //===-- SymbolFileDWARFDwp.h ------------------------------------*- C++ -*-===//
 | ||
|  | //
 | ||
|  | //                     The LLVM Compiler Infrastructure
 | ||
|  | //
 | ||
|  | // This file is distributed under the University of Illinois Open Source
 | ||
|  | // License. See LICENSE.TXT for details.
 | ||
|  | //
 | ||
|  | //===----------------------------------------------------------------------===//
 | ||
|  | 
 | ||
|  | #ifndef SymbolFileDWARFDwp_SymbolFileDWARFDwp_h_
 | ||
|  | #define SymbolFileDWARFDwp_SymbolFileDWARFDwp_h_
 | ||
|  | 
 | ||
|  | // C Includes
 | ||
|  | // C++ Includes
 | ||
|  | #include <memory>
 | ||
|  | 
 | ||
|  | // Other libraries and framework includes
 | ||
|  | #include "llvm/DebugInfo/DWARF/DWARFUnitIndex.h"
 | ||
|  | 
 | ||
|  | // Project includes
 | ||
|  | #include "lldb/Core/Module.h"
 | ||
|  | 
 | ||
|  | #include "DWARFDataExtractor.h"
 | ||
|  | #include "SymbolFileDWARFDwo.h"
 | ||
|  | 
 | ||
|  | class SymbolFileDWARFDwp { | ||
|  | public: | ||
|  |   static std::unique_ptr<SymbolFileDWARFDwp> | ||
|  |   Create(lldb::ModuleSP module_sp, const lldb_private::FileSpec &file_spec); | ||
|  | 
 | ||
|  |   std::unique_ptr<SymbolFileDWARFDwo> | ||
|  |   GetSymbolFileForDwoId(DWARFCompileUnit *dwarf_cu, uint64_t dwo_id); | ||
|  | 
 | ||
|  |   bool LoadSectionData(uint64_t dwo_id, lldb::SectionType sect_type, | ||
|  |                        lldb_private::DWARFDataExtractor &data); | ||
|  | 
 | ||
|  | private: | ||
|  |   explicit SymbolFileDWARFDwp(lldb::ModuleSP module_sp, | ||
|  |                               lldb::ObjectFileSP obj_file); | ||
|  | 
 | ||
|  |   bool LoadRawSectionData(lldb::SectionType sect_type, | ||
|  |                           lldb_private::DWARFDataExtractor &data); | ||
|  |    | ||
|  |   void InitDebugCUIndexMap(); | ||
|  | 
 | ||
|  |   lldb::ObjectFileSP m_obj_file; | ||
|  | 
 | ||
|  |   std::mutex m_sections_mutex; | ||
|  |   std::map<lldb::SectionType, lldb_private::DWARFDataExtractor> m_sections; | ||
|  | 
 | ||
|  |   llvm::DWARFUnitIndex m_debug_cu_index; | ||
|  |   std::map<uint64_t, const llvm::DWARFUnitIndex::Entry *> m_debug_cu_index_map; | ||
|  | }; | ||
|  | 
 | ||
|  | #endif // SymbolFileDWARFDwp_SymbolFileDWARFDwp_h_
 |