Merge remote-tracking branch 'origin/Ghidra_11.1'

This commit is contained in:
Ryan Kurtz 2024-05-09 06:30:10 -04:00
commit f02e6ea0f6
3 changed files with 9 additions and 10 deletions

View File

@ -141,7 +141,7 @@ public enum DWARFAttribute {
DW_AT_call_all_tail_calls(0x7c, flag),
DW_AT_call_return_pc(0x7d, address),
DW_AT_call_value(0x7e, exprloc),
DW_AT_call_origin(0x7f, exprloc),
DW_AT_call_origin(0x7f, reference),
DW_AT_call_parameter(0x80, reference),
DW_AT_call_pc(0x81, address),
DW_AT_call_tail_call(0x82, flag),

View File

@ -1744,7 +1744,9 @@ public class SymbolicPropogator {
con.refAddr = con.callAddr;
con.inputlist = inputs;
con.output = new ArrayList<Varnode>();
con.output.add(out);
if (out != null) {
con.output.add(out);
}
try {
return payload.getPcode(prog, con);
}

View File

@ -30,8 +30,7 @@ import ghidra.framework.model.DomainFile;
import ghidra.program.model.address.*;
import ghidra.program.model.lang.*;
import ghidra.program.model.listing.*;
import ghidra.program.model.mem.MemoryAccessException;
import ghidra.program.model.mem.MemoryBlock;
import ghidra.program.model.mem.*;
import ghidra.program.model.symbol.*;
import ghidra.util.Msg;
import ghidra.util.exception.CancelledException;
@ -619,15 +618,13 @@ class FidServiceLibraryIngest {
* @return whether the function is external
*/
private static boolean functionIsExternal(Function function) {
if (function.isExternal()) {
return true;
}
Memory mem = function.getProgram().getMemory();
Address entryPoint = function.getEntryPoint();
MemoryBlock block = function.getProgram().getMemory().getBlock(entryPoint);
if (!block.isInitialized()) {
if (function.isExternal() || !mem.contains(entryPoint)) {
return true;
}
return false;
MemoryBlock block = function.getProgram().getMemory().getBlock(entryPoint);
return block == null || !block.isInitialized() || block.isExternalBlock();
}
private void exclude(DomainFile domainFile, Function function,