aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2016-02-05 10:10:35 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2016-02-05 10:10:35 +0000
commit15288e9a946d0123254e63af7dd5252c9b83acce (patch)
tree4b03b980c2ce16eeba255d6b81d29acd97595732 /gcc
parent82379bdf028762c0eafece56bd69a687d991765b (diff)
downloadgcc-15288e9a946d0123254e63af7dd5252c9b83acce.zip
gcc-15288e9a946d0123254e63af7dd5252c9b83acce.tar.gz
gcc-15288e9a946d0123254e63af7dd5252c9b83acce.tar.bz2
S/390: Fix 64 bit sibcall
This fixes a problem revealed during the split-stack work: https://gcc.gnu.org/ml/gcc-patches/2016-02/msg00322.html gcc/ChangeLog: 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.c (s390_emit_call): Add missing 64 bit check. From-SVN: r233169
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/s390/s390.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3ce09b6b..b0c092b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+ * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
+
+2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
PR target/69625
* config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New
defines.
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 1667c11..bca428a 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -12507,7 +12507,7 @@ s390_emit_call (rtx addr_location, rtx tls_call, rtx result_reg,
replace the symbol itself with the PLT stub. */
if (flag_pic && !SYMBOL_REF_LOCAL_P (addr_location))
{
- if (retaddr_reg != NULL_RTX)
+ if (TARGET_64BIT || retaddr_reg != NULL_RTX)
{
addr_location = gen_rtx_UNSPEC (Pmode,
gen_rtvec (1, addr_location),