Fix PR 93242: patchable-function-entry broken on MIPS
authorAndrew Pinski <apinski@marvell.com>
Sat, 18 Jan 2020 00:41:06 +0000 (00:41 +0000)
committerAndrew Pinski <apinski@marvell.com>
Mon, 20 Jan 2020 14:22:42 +0000 (14:22 +0000)
On MIPS, .set noreorder/reorder needs to emitted around
the nop.  The template for the nop instruction uses %(/%) to
do that.  But default_print_patchable_function_entry uses
fprintf rather than output_asm_insn to output the instruction.

This fixes the problem by using output_asm_insn to emit the nop
instruction.

ChangeLog:

PR middle-end/93242
* targhooks.c (default_print_patchable_function_entry): Use
output_asm_insn to emit the nop instruction.

gcc/ChangeLog
gcc/targhooks.c

index 436c8924a48864c24686c756163ac6e532a24c47..8db7c816622f26540a23e17a0d8036faf8137e10 100644 (file)
@@ -1,3 +1,9 @@
+2020-01-20  Andrew Pinski  <apinski@marvell.com>
+
+       PR middle-end/93242
+       * targhooks.c (default_print_patchable_function_entry): Use
+       output_asm_insn to emit the nop instruction.
+
 2020-01-20  Fangrui Song  <maskray@google.com>
 
        PR middle-end/93194
index a3f83918f8e4eb3dd011740722ef9bae257ad8c1..7cb04f30bdb2effb9b7222aa07b17620792cb3ee 100644 (file)
@@ -1823,7 +1823,7 @@ default_print_patchable_function_entry (FILE *file,
 
   unsigned i;
   for (i = 0; i < patch_area_size; ++i)
-    fprintf (file, "\t%s\n", nop_templ);
+    output_asm_insn (nop_templ, NULL);
 }
 
 bool