Fix trampoline execution failures on GCN5.
authorAndrew Stubbs <ams@codesourcery.com>
Wed, 22 May 2019 22:14:02 +0000 (22:14 +0000)
committerAndrew Stubbs <ams@gcc.gnu.org>
Wed, 22 May 2019 22:14:02 +0000 (22:14 +0000)
2019-05-22  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config/gcn/gcn.c (gcn_trampoline_init): Call "sorry" on GCN5.

From-SVN: r271525

gcc/ChangeLog
gcc/config/gcn/gcn.c

index dee55155ca5cd774a9d7de9792a32b17a855ace0..eddb7c84ae8b995baa923bb42300412c7162c0e5 100644 (file)
@@ -1,3 +1,7 @@
+2019-05-22  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_trampoline_init): Call "sorry" on GCN5.
+
 2019-05-22  Jason Merrill  <jason@redhat.com>
 
        * gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE.
index 1dd2ff2d4f0aa81dca992517ef435d8e6a38f893..6820837c76382733bfe8160b0b750097f5a7410b 100644 (file)
@@ -3062,6 +3062,10 @@ gcn_asm_trampoline_template (FILE *f)
 static void
 gcn_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
 {
+  if (TARGET_GCN5_PLUS)
+    sorry ("nested function trampolines not supported on GCN5 due to"
+           " non-executable stacks");
+
   emit_block_move (m_tramp, assemble_trampoline_template (),
                   GEN_INT (TRAMPOLINE_SIZE), BLOCK_OP_NORMAL);