s390/dis: use correct escape sequence for '%' character
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Thu, 25 Feb 2016 09:28:49 +0000 (10:28 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 2 Mar 2016 12:44:25 +0000 (06:44 -0600)
The double escape character sequence introduced with commit
272fa59ccb4f ("s390/dis: Fix handling of format specifiers") is not
necessary anymore since commit 561e10300269 ("s390/dis: Fix printing
of the register numbers").

Instead this now generates an extra '%' character:

lg      %%r1,160(%%r11)

So fix this and basically revert 272fa59ccb4f.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/dis.c

index 62973ef..8cb9bfd 100644 (file)
@@ -1920,23 +1920,16 @@ static int print_insn(char *buffer, unsigned char *code, unsigned long addr)
                        }
                        if (separator)
                                ptr += sprintf(ptr, "%c", separator);
-                       /*
-                        * Use four '%' characters below because of the
-                        * following two conversions:
-                        *
-                        *  1) sprintf: %%%%r -> %%r
-                        *  2) printk : %%r   -> %r
-                        */
                        if (operand->flags & OPERAND_GPR)
-                               ptr += sprintf(ptr, "%%%%r%i", value);
+                               ptr += sprintf(ptr, "%%r%i", value);
                        else if (operand->flags & OPERAND_FPR)
-                               ptr += sprintf(ptr, "%%%%f%i", value);
+                               ptr += sprintf(ptr, "%%f%i", value);
                        else if (operand->flags & OPERAND_AR)
-                               ptr += sprintf(ptr, "%%%%a%i", value);
+                               ptr += sprintf(ptr, "%%a%i", value);
                        else if (operand->flags & OPERAND_CR)
-                               ptr += sprintf(ptr, "%%%%c%i", value);
+                               ptr += sprintf(ptr, "%%c%i", value);
                        else if (operand->flags & OPERAND_VR)
-                               ptr += sprintf(ptr, "%%%%v%i", value);
+                               ptr += sprintf(ptr, "%%v%i", value);
                        else if (operand->flags & OPERAND_PCREL)
                                ptr += sprintf(ptr, "%lx", (signed int) value
                                                                      + addr);