Skip to content

Commit e0d228a

Browse files
committed
ARM: log error message for lifting indirect calls
1 parent 07dd099 commit e0d228a

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

chb/arm/ARMCallOpcode.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,13 @@ def ast_call_prov(
286286

287287
# construct high-level target
288288
finfo = xdata.function.finfo
289+
290+
if finfo.has_call_target(iaddr):
291+
calltarget = finfo.call_target(iaddr)
292+
if calltarget.is_unknown:
293+
chklogger.logger.error(
294+
"BL: Indirect call not yet handled at address %s", iaddr)
295+
289296
if finfo.has_call_target_info(iaddr):
290297
ctinfo = finfo.call_target_info(iaddr)
291298
ftype = ctinfo.target_interface.bctype
@@ -342,6 +349,10 @@ def ast_call_prov(
342349
str(hl_lhs), str(hl_tgt), iaddr)
343350
hl_lhs = None
344351

352+
else:
353+
chklogger.logger.error(
354+
"BL: Indirect call not yet handled at address %s", iaddr)
355+
345356
# argument data
346357

347358
argcount = xd.argument_count

0 commit comments

Comments
 (0)