From: Andrew Pinski <apin...@marvell.com> 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. OK? Bootstrapped and tested on x86_64-linux-gnu and built a full mips toolchain also. Thanks, Andrew Pinski ChangeLog: * targhooks.c (default_print_patchable_function_entry): Use output_asm_insn to emit the nop instruction. Change-Id: I9d7cff2fc227a41461b9068e3af1fd3a5a9c059b --- gcc/targhooks.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/targhooks.c b/gcc/targhooks.c index 4819bb8..415c21b 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -1822,7 +1822,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 -- 1.8.3.1