From 15288e9a946d0123254e63af7dd5252c9b83acce Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Fri, 5 Feb 2016 10:10:35 +0000 Subject: 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 * config/s390/s390.c (s390_emit_call): Add missing 64 bit check. From-SVN: r233169 --- gcc/ChangeLog | 4 ++++ gcc/config/s390/s390.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'gcc') 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 + * config/s390/s390.c (s390_emit_call): Add missing 64 bit check. + +2016-02-05 Andreas Krebbel + 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), -- cgit v1.1