From b7c28a47c2d57bc21daab4dd586139e87fe701f9 Mon Sep 17 00:00:00 2001
From: Andrew Stubbs <ams@codesourcery.com>
Date: Wed, 22 May 2019 22:14:02 +0000
Subject: [PATCH] Fix trampoline execution failures on GCN5.

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        | 4 ++++
 gcc/config/gcn/gcn.c | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dee55155ca5c..eddb7c84ae8b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/gcn/gcn.c b/gcc/config/gcn/gcn.c
index 1dd2ff2d4f0a..6820837c7638 100644
--- a/gcc/config/gcn/gcn.c
+++ b/gcc/config/gcn/gcn.c
@@ -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);
 
-- 
GitLab