2021-10-21 06:15:55 +00:00
|
|
|
From ff909c0d15095d833e75b86743d218fc9d68869a Mon Sep 17 00:00:00 2001
|
|
|
|
From: Andrew Pinski <apinski@marvell.com>
|
|
|
|
Date: Sat, 18 Jan 2020 00:41:06 +0000
|
2021-10-22 07:20:27 +00:00
|
|
|
Subject: [PATCH 15/22] Backport Fix PR 93242: patchable-function-entry broken
|
2021-10-21 06:15:55 +00:00
|
|
|
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.
|
|
|
|
|
|
|
|
gcc/ChangeLog
|
|
|
|
2021-10-07 Giuliano Belinassi <gbelinassi@suse.de>
|
|
|
|
|
|
|
|
Backport from mainline
|
|
|
|
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.
|
|
|
|
---
|
|
|
|
gcc/targhooks.c | 2 +-
|
|
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
|
|
|
|
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
|
|
|
|
index aaf536acf17..185dc7b0b6b 100644
|
|
|
|
--- a/gcc/targhooks.c
|
|
|
|
+++ b/gcc/targhooks.c
|
|
|
|
@@ -1655,7 +1655,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.33.1
|
|
|
|
|