aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@openbsd.org>2013-07-25 15:53:51 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2013-07-25 15:53:51 +0000
commit017d38f508a019b173b909dd3314f0e1d52fe1bc (patch)
treeeb5afa5bc79f7cb9731d5301c5bc2498b874f4eb
parentc7cafd75de0197b0c30654a800411b91c8c5b0ab (diff)
downloadgcc-017d38f508a019b173b909dd3314f0e1d52fe1bc.zip
gcc-017d38f508a019b173b909dd3314f0e1d52fe1bc.tar.gz
gcc-017d38f508a019b173b909dd3314f0e1d52fe1bc.tar.bz2
pa.c (pa_trampoline_init): Emit __enable_execute_stack libcall if HAVE_ENABLE_EXECUTE_STACK is defined.
* config/pa/pa.c (pa_trampoline_init): Emit __enable_execute_stack libcall if HAVE_ENABLE_EXECUTE_STACK is defined. From-SVN: r201248
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/pa/pa.c5
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5c911cd..43d9812 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2013-07-25  Mark Kettenis  <kettenis@openbsd.org>
+ * config/pa/pa.c (pa_trampoline_init): Emit __enable_execute_stack
+ libcall if HAVE_ENABLE_EXECUTE_STACK is defined.
+
* config.gcc (hppa-*-openbsd*): Don't set tmake_file.
2013-07-25 Vladimir Makarov <vmakarov@redhat.com>
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 0167a5d..74a99e3 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -10133,6 +10133,11 @@ pa_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
gen_reg_rtx (Pmode),
gen_reg_rtx (Pmode)));
}
+
+#ifdef HAVE_ENABLE_EXECUTE_STACK
+  emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__enable_execute_stack"),
+      LCT_NORMAL, VOIDmode, 1, XEXP (m_tramp, 0), Pmode);
+#endif
}
/* Perform any machine-specific adjustment in the address of the trampoline.