From 45d06a4045bebc3dbaaf0b1c676f4e22b7c6aca1 Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Sat, 18 Jan 2020 00:41:06 +0000 Subject: [PATCH] Fix PR 93242: patchable-function-entry broken on MIPS 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 | 6 ++++++ gcc/targhooks.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 436c8924a48..8db7c816622 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2020-01-20 Andrew Pinski + + 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 PR middle-end/93194 diff --git a/gcc/targhooks.c b/gcc/targhooks.c index a3f83918f8e..7cb04f30bdb 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -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 -- 2.30.2