OP_CALL keep a list with the type of the function itself and of each of its arguments. However, the function type added to the list is not the complete type but its base type. So, we can't use the function's modifiers or contexts. Fix this by storing the complete function type. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> --- linearize.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/linearize.c b/linearize.c index 1081bda86425..2432801135f3 100644 --- a/linearize.c +++ b/linearize.c @@ -1520,8 +1520,6 @@ static pseudo_t linearize_call_expression(struct entrypoint *ep, struct expressi } ctype = &fntype->ctype; - if (fntype->type == SYM_NODE) - fntype = fntype->ctype.base_type; add_symbol(&insn->fntypes, fntype); FOR_EACH_PTR(expr->args, arg) { -- 2.29.0