Before commit 756731e9 ("use a specific struct for asm operands"), ASM operands ('name', 'constraint, 'expression') were stored as a sequence of 3 expressions. After, they had their own expression type: EXPR_ASM_OPERAND. However, dissect.c:do_asm_xputs() was not adapated for this change. Fix this in do_asm_xputs() by processing the 'expression' of every entries (instead of only processing every third entries). CC: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> --- dissect.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/dissect.c b/dissect.c index 5f067eb4c..b50c268b9 100644 --- a/dissect.c +++ b/dissect.c @@ -452,11 +452,7 @@ again: static void do_asm_xputs(usage_t mode, struct expression_list *xputs) { - int nr = 0; - - DO_LIST(xputs, expr, - if (++nr % 3 == 0) - do_expression(U_W_AOF | mode, expr)); + DO_LIST(xputs, op, do_expression(U_W_AOF | mode, op->expr)); } static struct symbol *do_statement(usage_t mode, struct statement *stmt) -- 2.20.0