]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
S/390: Fix 64 bit sibcall
authorkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Feb 2016 10:10:35 +0000 (10:10 +0000)
committerkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Feb 2016 10:10:35 +0000 (10:10 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233169 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/s390/s390.c

index 3ce09b6b8bf6a2c5eb156b4c9a97e96fd1cac5b3..b0c092b83f173023a590297ca09c2f608022f553 100644 (file)
@@ -1,3 +1,7 @@
+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
index 1667c115f41ea90f757c2ad010d411f099f4861a..bca428ab303bd289e900f19d2439c2690d58067b 100644 (file)
@@ -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),