mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-01-09 14:08:03 -05:00
Merge remote-tracking branch 'origin/GP-0_James_improve_dwarf_source_line_exception_handling' into Ghidra_11.3
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user