[gcc/devel/c++-modules] Fix patchable-function-entry on arc

Nathan Sidwell nathan@gcc.gnu.org
Fri Jan 24 14:40:00 GMT 2020


https://gcc.gnu.org/g:41fe06f89f96c5f9599855a2778c8a3dd7efe22d

commit 41fe06f89f96c5f9599855a2778c8a3dd7efe22d
Author: Andrew Pinski <apinski@marvell.com>
Date:   Wed Jan 22 23:34:34 2020 +0000

    Fix patchable-function-entry on arc
    
    The problem here is arc looks at current_output_insn unconditional
    but sometimes current_output_insn is NULL.  With patchable-function-entry,
    it will be. This is similar to how the nios2, handles "%.".
    
    Committed as obvious after a simple test with -fpatchable-function-entry=1.
    
    ChangeLog:
    * config/arc/arc.c (output_short_suffix): Check insn for nullness.

Diff:
---
 gcc/ChangeLog        | 4 ++++
 gcc/config/arc/arc.c | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 07e7356..55b2392 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2020-01-22  Andrew Pinski  <apinski@marvell.com>
+
+	* config/arc/arc.c (output_short_suffix): Check insn for nullness.
+
 2020-01-22  David Malcolm  <dmalcolm@redhat.com>
 
 	PR analyzer/93307
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index 02ab339..22475f2 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -5537,6 +5537,8 @@ static void
 output_short_suffix (FILE *file)
 {
   rtx_insn *insn = current_output_insn;
+  if (!insn)
+    return;
 
   if (arc_verify_short (insn, cfun->machine->unalign, 1))
     {



More information about the Gcc-cvs mailing list