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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@271525 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dee5515..eddb7c8 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 1dd2ff2..6820837 100644
--- a/gcc/config/gcn/gcn.c
+++ b/gcc/config/gcn/gcn.c
@@ -3062,6 +3062,10 @@
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);