From b2b4e462a8ba31b605fa8caeeff1041331658414 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Mon, 20 Jun 2016 20:01:20 +0000 Subject: [PATCH] re PR target/71571 ([CRIS] Multiple inheritance non-virtual PIC thunk causes crash) PR target/71571 * config/cris/cris.c (cris_asm_output_mi_thunk): Add missing "ba" delay-slot "nop" for PIC with CRIS v32. Also add missing leading space for PIC with non-v32 and the common non-PIC "jump". From-SVN: r237615 --- gcc/ChangeLog | 7 +++++++ gcc/config/cris/cris.c | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 68648a6384c..c76c39b7343 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2016-06-20 Hans-Peter Nilsson + + PR target/71571 + * config/cris/cris.c (cris_asm_output_mi_thunk): Add missing "ba" + delay-slot "nop" for PIC with CRIS v32. Also add missing leading + space for PIC with non-v32 and the common non-PIC "jump". + 2016-06-20 Jakub Jelinek PR target/71559 diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c index 0df3c5d7e4d..971d07fb12a 100644 --- a/gcc/config/cris/cris.c +++ b/gcc/config/cris/cris.c @@ -2772,18 +2772,18 @@ cris_asm_output_mi_thunk (FILE *stream, { fprintf (stream, "\tba "); assemble_name (stream, name); - fprintf (stream, "%s\n", CRIS_PLT_PCOFFSET_SUFFIX); + fprintf (stream, "%s\n\tnop\n", CRIS_PLT_PCOFFSET_SUFFIX); } else { - fprintf (stream, "add.d "); + fprintf (stream, "\tadd.d "); assemble_name (stream, name); fprintf (stream, "%s,$pc\n", CRIS_PLT_PCOFFSET_SUFFIX); } } else { - fprintf (stream, "jump "); + fprintf (stream, "\tjump "); assemble_name (stream, XSTR (XEXP (DECL_RTL (funcdecl), 0), 0)); fprintf (stream, "\n"); -- 2.30.2