Merge remote-tracking branch 'origin/GP-0_James_improve_dwarf_source_line_exception_handling' into Ghidra_11.3

This commit is contained in:
Ryan Kurtz
2025-01-30 05:59:07 -05:00
2 changed files with 7 additions and 3 deletions

View File

@@ -305,8 +305,8 @@ public class DWARFImporter {
try {
sourceManager.addSourceMapEntry(source, sfa.lineNum(), addr, length);
}
catch (AddressOverflowException e) {
String errorString = "AddressOverflowException for source map entry %s %d %s %x %d"
catch (AddressOverflowException | IllegalArgumentException e) {
String errorString = e.getClass().getName() + " for source map entry %s %d %s %x %d"
.formatted(source.getFilename(), sfa.lineNum(), addr.toString(),
sfa.address(), length);
if (numSourceLineErrorReports++ < MAX_NUM_SOURCE_LINE_ERROR_REPORTS) {

View File

@@ -403,14 +403,18 @@ public class GoFuncData implements StructureMarkup<GoFuncData> {
Address startAddr = programContext.getCodeAddress(startpc);
long len = lineEval.getPC() - startpc;
SourceFile sourceFile = new SourceFile(fileName);
try {
SourceFile sourceFile = new SourceFile(fileName);
sfman.addSourceFile(sourceFile);
sfman.addSourceMapEntry(sourceFile, lineNum, startAddr, len);
}
catch (AddressOverflowException e) {
Msg.error(this, "Failed to add source file mapping", e);
}
catch (IllegalArgumentException e) {
// overlapping entry
}
}
}
startpc = lineEval.getPC();