mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 12:52:44 +00:00 
			
		
		
		
	LibELF: Remove ELF::Loader and move everyone to ELF::Image
This commit gets rid of ELF::Loader entirely since its very ambiguous purpose was actually to load executables for the kernel, and that is now handled by the kernel itself. This patch includes some drive-by cleanup in LibDebug and CrashDaemon enabled by the fact that we no longer need to keep the ref-counted ELF::Loader around.
This commit is contained in:
		
							parent
							
								
									7551a66f73
								
							
						
					
					
						commit
						1e4c010643
					
				
					 24 changed files with 178 additions and 318 deletions
				
			
		|  | @ -35,9 +35,9 @@ | |||
| 
 | ||||
| namespace Debug { | ||||
| 
 | ||||
| DebugInfo::DebugInfo(NonnullRefPtr<const ELF::Loader> elf) | ||||
|     : m_elf(elf) | ||||
|     , m_dwarf_info(Dwarf::DwarfInfo::create(m_elf)) | ||||
| DebugInfo::DebugInfo(NonnullOwnPtr<const ELF::Image> elf) | ||||
|     : m_elf(move(elf)) | ||||
|     , m_dwarf_info(*m_elf) | ||||
| { | ||||
|     prepare_variable_scopes(); | ||||
|     prepare_lines(); | ||||
|  | @ -45,7 +45,7 @@ DebugInfo::DebugInfo(NonnullRefPtr<const ELF::Loader> elf) | |||
| 
 | ||||
| void DebugInfo::prepare_variable_scopes() | ||||
| { | ||||
|     m_dwarf_info->for_each_compilation_unit([&](const Dwarf::CompilationUnit& unit) { | ||||
|     m_dwarf_info.for_each_compilation_unit([&](const Dwarf::CompilationUnit& unit) { | ||||
|         auto root = unit.root_die(); | ||||
|         parse_scopes_impl(root); | ||||
|     }); | ||||
|  | @ -102,7 +102,7 @@ void DebugInfo::parse_scopes_impl(const Dwarf::DIE& die) | |||
| 
 | ||||
| void DebugInfo::prepare_lines() | ||||
| { | ||||
|     auto section = m_elf->image().lookup_section(".debug_line"); | ||||
|     auto section = elf().lookup_section(".debug_line"); | ||||
|     if (section.is_undefined()) | ||||
|         return; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling