[PATCH] dissect: fix processing of ASM statements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux