NationalSecurityAgency/ghidra

Feature Request: Support DWARF version 5

nneonneo opened this issue · 4 comments

DWARF version 5 is out now, and is the default for newer GCCs. DWARF 5 should be upwards compatible, so the changes necessary to support it should be minimal.

Currently, loading a file with DWARF version 5 debugging data results in the following warning (and no debug information being loaded):

Error during DWARFAnalyzer import
Only DWARF version 2, 3, or 4 information is currently supported.
ghidra.app.util.bin.format.dwarf4.DWARFException: Only DWARF version 2, 3, or 4 information is currently supported.
	at ghidra.app.util.bin.format.dwarf4.DWARFCompilationUnit.readCompilationUnit(DWARFCompilationUnit.java:157)
	at ghidra.app.util.bin.format.dwarf4.next.DWARFProgram.bootstrapCompilationUnits(DWARFProgram.java:507)
	at ghidra.app.util.bin.format.dwarf4.next.DWARFProgram.<init>(DWARFProgram.java:214)
	at ghidra.app.plugin.core.analysis.DWARFAnalyzer.added(DWARFAnalyzer.java:134)
	at ghidra.app.plugin.core.analysis.AnalysisScheduler.runAnalyzer(AnalysisScheduler.java:186)
	at ghidra.app.plugin.core.analysis.AnalysisTask.applyTo(AnalysisTask.java:39)
	at ghidra.app.plugin.core.analysis.AutoAnalysisManager$AnalysisTaskWrapper.run(AutoAnalysisManager.java:688)
	at ghidra.app.plugin.core.analysis.AutoAnalysisManager.startAnalysis(AutoAnalysisManager.java:788)
	at ghidra.app.plugin.core.analysis.AutoAnalysisManager.startAnalysis(AutoAnalysisManager.java:667)
	at ghidra.app.plugin.core.analysis.AutoAnalysisManager.startAnalysis(AutoAnalysisManager.java:632)
	at ghidra.app.plugin.core.analysis.AnalysisBackgroundCommand.applyTo(AnalysisBackgroundCommand.java:58)
	at ghidra.framework.plugintool.mgr.BackgroundCommandTask.run(BackgroundCommandTask.java:102)
	at ghidra.framework.plugintool.mgr.ToolTaskManager.run(ToolTaskManager.java:319)
	at java.base/java.lang.Thread.run(Thread.java:834)

Related request for version 1: #2985

@dev747368 Any progress to report on this? I may jump in and help depending on what the status is.

No progress to report on DWARF 5. There are some changes / improvements in the pipeline improving function parameter / local variable storage.

@dev747368 Has there been any progress on this issue? I'm encountering a lot of binaries with DWARF 5 debugging data, so it would be great if support for DWARF 5 was added to Ghidra.

Any progress on this issue? Support DWARF 5 please. >_<