Your message dated Thu, 16 Feb 2023 09:34:37 +0000
with message-id <e1psaez-00dzu2...@fasolo.debian.org>
and subject line Bug#1028455: fixed in gcc-11 11.3.0-12
has caused the Debian Bug report #1028455,
regarding gcc-11: Drop PLT revert patch on s390x
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1028455: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1028455
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: gcc-11
Version: 11.3.0-1ubuntu1~22.04
Severity: important
Tags: patch

Dear Maintainer,

Please drop the "revert PLT changes" patch from gcc-11, the kernel has
been fixed to work correctly with the upstream/vanilla
toolchain. Separately, this revert is causing livepatch breakakges
now.

See LP: #2002429

I have tried to submit merge proposal on salsa
https://salsa.debian.org/xnox/gcc/-/commits/drop-plt-revert , but it
seems like the https://salsa.debian.org/toolchain-team/gcc project has
merge proposals disabled.

Pleas consider applying the attached patch.

Regards,

Dimitri.
>From 4d49de6f1a7b0a088fee262ab1e572cb0bb5684e Mon Sep 17 00:00:00 2001
From: Dimitri John Ledkov <dimitri.led...@canonical.com>
Date: Wed, 11 Jan 2023 10:11:58 +0000
Subject: [PATCH] Revert "  * debian/patches/gcc-ibmz-plt-revert.diff: Revert
 PLT changes from the gcc-11"

This reverts commit 2cc19790c7b125aa014bd86fe817af8a31eddeff.
---
 debian/changelog                        |   8 +
 debian/patches/gcc-ibmz-plt-revert.diff | 898 ------------------------
 debian/rules.patch                      |   1 -
 3 files changed, 8 insertions(+), 899 deletions(-)
 delete mode 100644 debian/patches/gcc-ibmz-plt-revert.diff

diff --git a/debian/changelog b/debian/changelog
index f0d5265747..095e39273a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+gcc-11 (11.3.0-12) UNRELEASED; urgency=medium
+
+  * Drop debian/patches/gcc-ibmz-plt-revert.diff, the kernel was fixed to
+    build correct dkms modules on s390x. In turn, this patch is now
+    preventing livepatch modules to work. LP: #2002429
+
+ -- Dimitri John Ledkov <dimitri.led...@canonical.com>  Wed, 11 Jan 2023 
09:56:11 +0000
+
 gcc-11 (11.3.0-11) unstable; urgency=medium
 
   * Update to git 20230110 from the gcc-11 branch.
diff --git a/debian/patches/gcc-ibmz-plt-revert.diff 
b/debian/patches/gcc-ibmz-plt-revert.diff
deleted file mode 100644
index 315e52ba6a..0000000000
--- a/debian/patches/gcc-ibmz-plt-revert.diff
+++ /dev/null
@@ -1,898 +0,0 @@
-# DP: Revert: IBM Z: Use @PLT symbols for local functions in 64-bit mode
-
-From 2335aa8771acd06b082d3e15d9f21ae0a802afd7 Mon Sep 17 00:00:00 2001
-From: Ilya Leoshkevich <i...@linux.ibm.com>
-Date: Mon, 7 Jun 2021 13:44:15 +0200
-Subject: [PATCH] IBM Z: Use @PLT symbols for local functions in 64-bit mode
-
-This helps with generating code for kernel hotpatches, which contain
-individual functions and are loaded more than 2G away from vmlinux.
-This should not create performance regressions for the normal use
-cases, because for local functions ld replaces @PLT calls with direct
-calls.
-
-gcc/ChangeLog:
-
-       * config/s390/predicates.md (bras_sym_operand): Accept all
-       functions in 64-bit mode, use UNSPEC_PLT31.
-       (larl_operand): Use UNSPEC_PLT31.
-       * config/s390/s390.c (s390_loadrelative_operand_p): Likewise.
-       (legitimize_pic_address): Likewise.
-       (s390_emit_tls_call_insn): Mark __tls_get_offset as function,
-       use UNSPEC_PLT31.
-       (s390_delegitimize_address): Use UNSPEC_PLT31.
-       (s390_output_addr_const_extra): Likewise.
-       (print_operand): Add @PLT to TLS calls, handle %K.
-       (s390_function_profiler): Mark __fentry__/_mcount as function,
-       use %K, use UNSPEC_PLT31.
-       (s390_output_mi_thunk): Use only UNSPEC_GOT, use %K.
-       (s390_emit_call): Use UNSPEC_PLT31.
-       (s390_emit_tpf_eh_return): Mark __tpf_eh_return as function.
-       * config/s390/s390.md (UNSPEC_PLT31): Rename from UNSPEC_PLT.
-       (*movdi_64): Use %K.
-       (reload_base_64): Likewise.
-       (*sibcall_brc): Likewise.
-       (*sibcall_brcl): Likewise.
-       (*sibcall_value_brc): Likewise.
-       (*sibcall_value_brcl): Likewise.
-       (*bras): Likewise.
-       (*brasl): Likewise.
-       (*bras_r): Likewise.
-       (*brasl_r): Likewise.
-       (*bras_tls): Likewise.
-       (*brasl_tls): Likewise.
-       (main_base_64): Likewise.
-       (reload_base_64): Likewise.
-       (@split_stack_call<mode>): Likewise.
-
-gcc/testsuite/ChangeLog:
-
-       * g++.dg/ext/visibility/noPLT.C: Skip on s390x.
-       * g++.target/s390/mi-thunk.C: New test.
-       * gcc.target/s390/nodatarel-1.c: Move foostatic to the new
-       tests.
-       * gcc.target/s390/pr80080-4.c: Allow @PLT suffix.
-       * gcc.target/s390/risbg-ll-3.c: Likewise.
-       * gcc.target/s390/call.h: Common code for the new tests.
-       * gcc.target/s390/call-z10-pic-nodatarel.c: New test.
-       * gcc.target/s390/call-z10-pic.c: New test.
-       * gcc.target/s390/call-z10.c: New test.
-       * gcc.target/s390/call-z9-pic-nodatarel.c: New test.
-       * gcc.target/s390/call-z9-pic.c: New test.
-       * gcc.target/s390/call-z9.c: New test.
-       * gcc.target/s390/mfentry-m64-pic.c: New test.
-       * gcc.target/s390/tls.h: Common code for the new TLS tests.
-       * gcc.target/s390/tls-pic.c: New test.
-       * gcc.target/s390/tls.c: New test.
-
-(cherry picked from commit 0990d93dd8a)
----
- gcc/config/s390/predicates.md                 |  9 ++-
- gcc/config/s390/s390.c                        | 81 +++++++++++++------
- gcc/config/s390/s390.md                       | 32 ++++----
- gcc/testsuite/g++.dg/ext/visibility/noPLT.C   |  2 +-
- gcc/testsuite/g++.target/s390/mi-thunk.C      | 23 ++++++
- .../gcc.target/s390/call-z10-pic-nodatarel.c  | 20 +++++
- gcc/testsuite/gcc.target/s390/call-z10-pic.c  | 20 +++++
- gcc/testsuite/gcc.target/s390/call-z10.c      | 20 +++++
- .../gcc.target/s390/call-z9-pic-nodatarel.c   | 18 +++++
- gcc/testsuite/gcc.target/s390/call-z9-pic.c   | 18 +++++
- gcc/testsuite/gcc.target/s390/call-z9.c       | 20 +++++
- gcc/testsuite/gcc.target/s390/call.h          | 40 +++++++++
- .../gcc.target/s390/mfentry-m64-pic.c         |  9 +++
- gcc/testsuite/gcc.target/s390/nodatarel-1.c   | 26 +-----
- gcc/testsuite/gcc.target/s390/pr80080-4.c     |  2 +-
- gcc/testsuite/gcc.target/s390/risbg-ll-3.c    |  6 +-
- gcc/testsuite/gcc.target/s390/tls-pic.c       | 14 ++++
- gcc/testsuite/gcc.target/s390/tls.c           | 10 +++
- gcc/testsuite/gcc.target/s390/tls.h           | 23 ++++++
- 19 files changed, 320 insertions(+), 73 deletions(-)
- create mode 100644 gcc/testsuite/g++.target/s390/mi-thunk.C
- create mode 100644 gcc/testsuite/gcc.target/s390/call-z10-pic-nodatarel.c
- create mode 100644 gcc/testsuite/gcc.target/s390/call-z10-pic.c
- create mode 100644 gcc/testsuite/gcc.target/s390/call-z10.c
- create mode 100644 gcc/testsuite/gcc.target/s390/call-z9-pic-nodatarel.c
- create mode 100644 gcc/testsuite/gcc.target/s390/call-z9-pic.c
- create mode 100644 gcc/testsuite/gcc.target/s390/call-z9.c
- create mode 100644 gcc/testsuite/gcc.target/s390/call.h
- create mode 100644 gcc/testsuite/gcc.target/s390/mfentry-m64-pic.c
- create mode 100644 gcc/testsuite/gcc.target/s390/tls-pic.c
- create mode 100644 gcc/testsuite/gcc.target/s390/tls.c
- create mode 100644 gcc/testsuite/gcc.target/s390/tls.h
-
-Index: gcc-11-11.2.0/src/gcc/config/s390/predicates.md
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/config/s390/predicates.md
-+++ gcc-11-11.2.0/src/gcc/config/s390/predicates.md
-@@ -101,13 +101,10 @@
- 
- (define_special_predicate "bras_sym_operand"
-   (ior (and (match_code "symbol_ref")
--          (ior (match_test "!flag_pic")
--               (match_test "SYMBOL_REF_LOCAL_P (op)")
--               (and (match_test "TARGET_64BIT")
--                    (match_test "SYMBOL_REF_FUNCTION_P (op)"))))
-+          (match_test "!flag_pic || SYMBOL_REF_LOCAL_P (op)"))
-        (and (match_code "const")
-           (and (match_test "GET_CODE (XEXP (op, 0)) == UNSPEC")
--               (match_test "XINT (XEXP (op, 0), 1) == UNSPEC_PLT31")))))
-+               (match_test "XINT (XEXP (op, 0), 1) == UNSPEC_PLT")))))
- 
- ;; Return true if OP is a PLUS that is not a legitimate
- ;; operand for the LA instruction.
-@@ -200,7 +197,7 @@
-       && XINT (op, 1) == UNSPEC_GOTENT)
-     return true;
-   if (GET_CODE (op) == UNSPEC
--      && XINT (op, 1) == UNSPEC_PLT31)
-+      && XINT (op, 1) == UNSPEC_PLT)
-     return true;
-   if (GET_CODE (op) == UNSPEC
-       && XINT (op, 1) == UNSPEC_INDNTPOFF)
-Index: gcc-11-11.2.0/src/gcc/config/s390/s390.c
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/config/s390/s390.c
-+++ gcc-11-11.2.0/src/gcc/config/s390/s390.c
-@@ -3291,7 +3291,7 @@ s390_loadrelative_operand_p (rtx addr, r
-   if (GET_CODE (addr) == SYMBOL_REF
-       || (GET_CODE (addr) == UNSPEC
-         && (XINT (addr, 1) == UNSPEC_GOTENT
--            || XINT (addr, 1) == UNSPEC_PLT31)))
-+            || XINT (addr, 1) == UNSPEC_PLT)))
-     {
-       if (symref)
-       *symref = addr;
-@@ -4964,7 +4964,7 @@ legitimize_pic_address (rtx orig, rtx re
-        || (SYMBOL_REF_P (addr) && s390_rel_address_ok_p (addr))
-        || (GET_CODE (addr) == UNSPEC &&
-          (XINT (addr, 1) == UNSPEC_GOTENT
--          || XINT (addr, 1) == UNSPEC_PLT31)))
-+          || XINT (addr, 1) == UNSPEC_PLT)))
-       && GET_CODE (addend) == CONST_INT)
-     {
-       /* This can be locally addressed.  */
-@@ -5125,7 +5125,7 @@ legitimize_pic_address (rtx orig, rtx re
- 
-         /* For @PLT larl is used.  This is handled like local
-            symbol refs.  */
--      case UNSPEC_PLT31:
-+      case UNSPEC_PLT:
-         gcc_unreachable ();
-         break;
- 
-@@ -5191,10 +5191,7 @@ s390_emit_tls_call_insn (rtx result_reg,
-     emit_insn (s390_load_got ());
- 
-   if (!s390_tls_symbol)
--    {
--      s390_tls_symbol = gen_rtx_SYMBOL_REF (Pmode, "__tls_get_offset");
--      SYMBOL_REF_FLAGS (s390_tls_symbol) |= SYMBOL_FLAG_FUNCTION;
--    }
-+    s390_tls_symbol = gen_rtx_SYMBOL_REF (Pmode, "__tls_get_offset");
- 
-   insn = s390_emit_call (s390_tls_symbol, tls_call, result_reg,
-                        gen_rtx_REG (Pmode, RETURN_REGNUM));
-@@ -7609,7 +7606,7 @@ s390_delegitimize_address (rtx orig_x)
-       y = XEXP (x, 0);
-       if (GET_CODE (y) == UNSPEC
-         && (XINT (y, 1) == UNSPEC_GOTENT
--            || XINT (y, 1) == UNSPEC_PLT31))
-+            || XINT (y, 1) == UNSPEC_PLT))
-       y = XVECEXP (y, 0, 0);
-       else
-       return orig_x;
-@@ -7862,7 +7859,7 @@ s390_output_addr_const_extra (FILE *file
-       output_addr_const (file, XVECEXP (x, 0, 0));
-       fprintf (file, "@GOTOFF");
-       return true;
--      case UNSPEC_PLT31:
-+      case UNSPEC_PLT:
-       output_addr_const (file, XVECEXP (x, 0, 0));
-       fprintf (file, "@PLT");
-       return true;
-@@ -7956,7 +7953,6 @@ print_operand_address (FILE *file, rtx a
-     'E': print opcode suffix for branch on index instruction.
-     'G': print the size of the operand in bytes.
-     'J': print tls_load/tls_gdcall/tls_ldcall suffix
--    'K': print @PLT suffix for call targets and load address values.
-     'M': print the second word of a TImode operand.
-     'N': print the second word of a DImode operand.
-     'O': print only the displacement of a memory reference or address.
-@@ -8143,29 +8139,6 @@ print_operand (FILE *file, rtx x, int co
-     case 'Y':
-       print_shift_count_operand (file, x);
-       return;
--
--    case 'K':
--      /* Append @PLT to both local and non-local symbols in order to support
--       Linux Kernel livepatching: patches contain individual functions and
--       are loaded further than 2G away from vmlinux, and therefore they must
--       call even static functions via PLT.  ld will optimize @PLT away for
--       normal code, and keep it for patches.
--
--       Do not indiscriminately add @PLT in 31-bit mode due to the %r12
--       restriction, use UNSPEC_PLT31 instead.
--
--       @PLT only makes sense for functions, data is taken care of by
--       -mno-pic-data-is-text-relative.
--
--       Adding @PLT interferes with handling of weak symbols in non-PIC code,
--       since their addresses are loaded with larl, which then always produces
--       a non-NULL result, so skip them here as well.  */
--      if (TARGET_64BIT
--        && GET_CODE (x) == SYMBOL_REF
--        && SYMBOL_REF_FUNCTION_P (x)
--        && !(SYMBOL_REF_WEAK (x) && !flag_pic))
--      fprintf (file, "@PLT");
--      return;
-     }
- 
-   switch (GET_CODE (x))
-@@ -13162,10 +13135,9 @@ s390_function_profiler (FILE *file, int
-   op[3] = GEN_INT (UNITS_PER_LONG);
- 
-   op[2] = gen_rtx_SYMBOL_REF (Pmode, flag_fentry ? "__fentry__" : "_mcount");
--  SYMBOL_REF_FLAGS (op[2]) |= SYMBOL_FLAG_FUNCTION;
--  if (flag_pic && !TARGET_64BIT)
-+  if (flag_pic)
-     {
--      op[2] = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, op[2]), UNSPEC_PLT31);
-+      op[2] = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, op[2]), UNSPEC_PLT);
-       op[2] = gen_rtx_CONST (Pmode, op[2]);
-     }
- 
-@@ -13180,7 +13152,7 @@ s390_function_profiler (FILE *file, int
-       warning (OPT_Wcannot_profile, "nested functions cannot be profiled "
-                "with %<-mfentry%> on s390");
-       else
--      output_asm_insn ("brasl\t0,%2%K2", op);
-+      output_asm_insn ("brasl\t0,%2", op);
-     }
-   else if (TARGET_64BIT)
-     {
-@@ -13192,7 +13164,7 @@ s390_function_profiler (FILE *file, int
-         output_asm_insn ("stg\t%0,%1", op);
-         if (flag_dwarf2_cfi_asm)
-           output_asm_insn (".cfi_rel_offset\t%0,%3", op);
--        output_asm_insn ("brasl\t%0,%2%K2", op);
-+        output_asm_insn ("brasl\t%0,%2", op);
-         output_asm_insn ("lg\t%0,%1", op);
-         if (flag_dwarf2_cfi_asm)
-           output_asm_insn (".cfi_restore\t%0", op);
-@@ -13208,7 +13180,7 @@ s390_function_profiler (FILE *file, int
-         output_asm_insn ("st\t%0,%1", op);
-         if (flag_dwarf2_cfi_asm)
-           output_asm_insn (".cfi_rel_offset\t%0,%3", op);
--        output_asm_insn ("brasl\t%0,%2%K2", op);
-+        output_asm_insn ("brasl\t%0,%2", op);
-         output_asm_insn ("l\t%0,%1", op);
-         if (flag_dwarf2_cfi_asm)
-           output_asm_insn (".cfi_restore\t%0", op);
-@@ -13284,11 +13256,9 @@ s390_output_mi_thunk (FILE *file, tree t
-   if (flag_pic && !SYMBOL_REF_LOCAL_P (op[0]))
-     {
-       nonlocal = 1;
--      if (!TARGET_64BIT)
--      {
--        op[0] = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, op[0]), UNSPEC_GOT);
--        op[0] = gen_rtx_CONST (Pmode, op[0]);
--      }
-+      op[0] = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, op[0]),
-+                            TARGET_64BIT ? UNSPEC_PLT : UNSPEC_GOT);
-+      op[0] = gen_rtx_CONST (Pmode, op[0]);
-     }
- 
-   /* Operand 1 is the 'this' pointer.  */
-@@ -13378,7 +13348,7 @@ s390_output_mi_thunk (FILE *file, tree t
-       }
- 
-       /* Jump to target.  */
--      output_asm_insn ("jg\t%0%K0", op);
-+      output_asm_insn ("jg\t%0", op);
- 
-       /* Output literal pool if required.  */
-       if (op[5])
-@@ -13769,7 +13739,7 @@ rtx_insn *
- s390_emit_call (rtx addr_location, rtx tls_call, rtx result_reg,
-               rtx retaddr_reg)
- {
--  bool plt31_call_p = false;
-+  bool plt_call = false;
-   rtx_insn *insn;
-   rtx vec[4] = { NULL_RTX };
-   int elts = 0;
-@@ -13784,15 +13754,15 @@ s390_emit_call (rtx addr_location, rtx t
-     {
-       /* When calling a global routine in PIC mode, we must
-        replace the symbol itself with the PLT stub.  */
--      if (flag_pic && !SYMBOL_REF_LOCAL_P (addr_location) && !TARGET_64BIT)
-+      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),
--                                            UNSPEC_PLT31);
-+                                            UNSPEC_PLT);
-             addr_location = gen_rtx_CONST (Pmode, addr_location);
--            plt31_call_p = true;
-+            plt_call = true;
-           }
-         else
-           /* For -fpic code the PLT entries might use r12 which is
-@@ -13813,7 +13783,7 @@ s390_emit_call (rtx addr_location, rtx t
-      register 1.  */
-   if (retaddr_reg == NULL_RTX
-       && GET_CODE (addr_location) != SYMBOL_REF
--      && !plt31_call_p)
-+      && !plt_call)
-     {
-       emit_move_insn (gen_rtx_REG (Pmode, SIBCALL_REGNUM), addr_location);
-       addr_location = gen_rtx_REG (Pmode, SIBCALL_REGNUM);
-@@ -13821,7 +13791,7 @@ s390_emit_call (rtx addr_location, rtx t
- 
-   if (TARGET_INDIRECT_BRANCH_NOBP_CALL
-       && GET_CODE (addr_location) != SYMBOL_REF
--      && !plt31_call_p)
-+      && !plt_call)
-     {
-       /* Indirect branch thunks require the target to be a single GPR.  */
-       addr_location = force_reg (Pmode, addr_location);
-@@ -13873,7 +13843,7 @@ s390_emit_call (rtx addr_location, rtx t
-   insn = emit_call_insn (*call);
- 
-   /* 31-bit PLT stubs and tls calls use the GOT register implicitly.  */
--  if (plt31_call_p || tls_call != NULL_RTX)
-+  if ((!TARGET_64BIT && plt_call) || tls_call != NULL_RTX)
-     {
-       /* s390_function_ok_for_sibcall should
-        have denied sibcalls in this case.  */
-@@ -13929,10 +13899,7 @@ s390_emit_tpf_eh_return (rtx target)
-   rtx reg, orig_ra;
- 
-   if (!s390_tpf_eh_return_symbol)
--    {
--      s390_tpf_eh_return_symbol = gen_rtx_SYMBOL_REF (Pmode, 
"__tpf_eh_return");
--      SYMBOL_REF_FLAGS (s390_tpf_eh_return_symbol) |= SYMBOL_FLAG_FUNCTION;
--    }
-+    s390_tpf_eh_return_symbol = gen_rtx_SYMBOL_REF (Pmode, "__tpf_eh_return");
- 
-   reg = gen_rtx_REG (Pmode, 2);
-   orig_ra = gen_rtx_REG (Pmode, 3);
-Index: gcc-11-11.2.0/src/gcc/config/s390/s390.md
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/config/s390/s390.md
-+++ gcc-11-11.2.0/src/gcc/config/s390/s390.md
-@@ -79,7 +79,7 @@
-    UNSPEC_GOTENT
-    UNSPEC_GOT
-    UNSPEC_GOTOFF
--   UNSPEC_PLT31
-+   UNSPEC_PLT
-    UNSPEC_PLTOFF
- 
-    ; Literal pool
-@@ -1906,7 +1906,7 @@
-    vlgvg\t%0,%v1,0
-    vleg\t%v0,%1,0
-    vsteg\t%v1,%0,0
--   larl\t%0,%1%K1"
-+   larl\t%0,%1"
-   [(set_attr "op_type" 
"RI,RI,RI,RI,RI,RIL,RIL,RIL,RRE,RRE,RRE,RXY,RIL,RRE,RXY,
-                         
RXY,RR,RX,RXY,RX,RXY,RIL,SIL,*,*,RS,RS,VRI,VRR,VRS,VRS,
-                         VRX,VRX,RIL")
-@@ -2180,7 +2180,7 @@
-         (match_operand:SI 1 "larl_operand" "X"))]
-   "!TARGET_64BIT
-    && !FP_REG_P (operands[0])"
--  "larl\t%0,%1%K1"
-+  "larl\t%0,%1"
-    [(set_attr "op_type" "RIL")
-     (set_attr "type"    "larl")
-     (set_attr "z10prop" "z10_fwd_A1")
-@@ -10379,7 +10379,7 @@
-   [(call (mem:QI (match_operand 0 "bras_sym_operand" "X"))
-          (match_operand 1 "const_int_operand" "n"))]
-   "SIBLING_CALL_P (insn) && TARGET_SMALL_EXEC"
--  "j\t%0%K0"
-+  "j\t%0"
-   [(set_attr "op_type" "RI")
-    (set_attr "type"    "branch")])
- 
-@@ -10387,7 +10387,7 @@
-   [(call (mem:QI (match_operand 0 "bras_sym_operand" "X"))
-          (match_operand 1 "const_int_operand" "n"))]
-   "SIBLING_CALL_P (insn)"
--  "jg\t%0%K0"
-+  "jg\t%0"
-   [(set_attr "op_type" "RIL")
-    (set_attr "type"    "branch")])
- 
-@@ -10440,7 +10440,7 @@
-       (call (mem:QI (match_operand 1 "bras_sym_operand" "X"))
-             (match_operand 2 "const_int_operand" "n")))]
-   "SIBLING_CALL_P (insn) && TARGET_SMALL_EXEC"
--  "j\t%1%K1"
-+  "j\t%1"
-   [(set_attr "op_type" "RI")
-    (set_attr "type"    "branch")])
- 
-@@ -10449,7 +10449,7 @@
-       (call (mem:QI (match_operand 1 "bras_sym_operand" "X"))
-             (match_operand 2 "const_int_operand" "n")))]
-   "SIBLING_CALL_P (insn)"
--  "jg\t%1%K1"
-+  "jg\t%1"
-   [(set_attr "op_type" "RIL")
-    (set_attr "type"    "branch")])
- 
-@@ -10476,7 +10476,7 @@
-   "!SIBLING_CALL_P (insn)
-    && TARGET_SMALL_EXEC
-    && GET_MODE (operands[2]) == Pmode"
--  "bras\t%2,%0%K0"
-+  "bras\t%2,%0"
-   [(set_attr "op_type" "RI")
-    (set_attr "type"    "jsr")
-    (set_attr "z196prop" "z196_cracked")])
-@@ -10488,7 +10488,7 @@
-   "!SIBLING_CALL_P (insn)
- 
-    && GET_MODE (operands[2]) == Pmode"
--  "brasl\t%2,%0%K0"
-+  "brasl\t%2,%0"
-   [(set_attr "op_type" "RIL")
-    (set_attr "type"    "jsr")
-    (set_attr "z196prop" "z196_cracked")
-@@ -10582,7 +10582,7 @@
-   "!SIBLING_CALL_P (insn)
-    && TARGET_SMALL_EXEC
-    && GET_MODE (operands[3]) == Pmode"
--  "bras\t%3,%1%K1"
-+  "bras\t%3,%1"
-   [(set_attr "op_type" "RI")
-    (set_attr "type"    "jsr")
-    (set_attr "z196prop" "z196_cracked")])
-@@ -10595,7 +10595,7 @@
-   "!SIBLING_CALL_P (insn)
- 
-    && GET_MODE (operands[3]) == Pmode"
--  "brasl\t%3,%1%K1"
-+  "brasl\t%3,%1"
-   [(set_attr "op_type" "RIL")
-    (set_attr "type"    "jsr")
-    (set_attr "z196prop" "z196_cracked")
-@@ -10726,7 +10726,7 @@
-   "!SIBLING_CALL_P (insn)
-    && TARGET_SMALL_EXEC
-    && GET_MODE (operands[3]) == Pmode"
--  "bras\t%3,%1%K1%J4"
-+  "bras\t%3,%1%J4"
-   [(set_attr "op_type" "RI")
-    (set_attr "type"    "jsr")
-    (set_attr "z196prop" "z196_cracked")])
-@@ -10740,7 +10740,7 @@
-   "!SIBLING_CALL_P (insn)
- 
-    && GET_MODE (operands[3]) == Pmode"
--  "brasl\t%3,%1%K1%J4"
-+  "brasl\t%3,%1%J4"
-   [(set_attr "op_type" "RIL")
-    (set_attr "type"    "jsr")
-    (set_attr "z196prop" "z196_cracked")
-@@ -11349,7 +11349,7 @@
-   [(set (match_operand 0 "register_operand" "=a")
-         (unspec [(label_ref (match_operand 1 "" ""))] UNSPEC_MAIN_BASE))]
-   "GET_MODE (operands[0]) == Pmode"
--  "larl\t%0,%1%K1"
-+  "larl\t%0,%1"
-   [(set_attr "op_type" "RIL")
-    (set_attr "type"    "larl")
-    (set_attr "z10prop" "z10_fwd_A1")
-@@ -11369,7 +11369,7 @@
-   [(set (match_operand 0 "register_operand" "=a")
-         (unspec [(label_ref (match_operand 1 "" ""))] UNSPEC_RELOAD_BASE))]
-   "GET_MODE (operands[0]) == Pmode"
--  "larl\t%0,%1%K1"
-+  "larl\t%0,%1"
-   [(set_attr "op_type" "RIL")
-    (set_attr "type"    "larl")
-    (set_attr "z10prop" "z10_fwd_A1")])
-@@ -12226,7 +12226,7 @@
-   ""
- {
-   s390_output_split_stack_data (operands[1], operands[2], operands[3], 
operands[4]);
--  return "jg\t%0%K0";
-+  return "jg\t%0";
- }
-   [(set_attr "op_type" "RIL")
-    (set_attr "type"  "branch")])
-Index: gcc-11-11.2.0/src/gcc/testsuite/g++.dg/ext/visibility/noPLT.C
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/g++.dg/ext/visibility/noPLT.C
-+++ gcc-11-11.2.0/src/gcc/testsuite/g++.dg/ext/visibility/noPLT.C
-@@ -1,5 +1,5 @@
- /* Test that -fvisibility=hidden prevents PLT. */
--/* { dg-do compile { target { fpic && { ! s390x-*-* } } } } */
-+/* { dg-do compile { target fpic } } */
- /* { dg-require-visibility "" } */
- /* { dg-options "-fPIC -fvisibility=hidden" } */
- /* { dg-final { scan-assembler-not "methodEv@PLT|indirect_symbol.*methodEv" } 
} */
-Index: gcc-11-11.2.0/src/gcc/testsuite/g++.target/s390/mi-thunk.C
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/g++.target/s390/mi-thunk.C
-+++ /dev/null
-@@ -1,23 +0,0 @@
--/* { dg-do compile } */
--/* { dg-options "-O0 -fPIC" } */
--
--class A {
--public:
--  virtual int a (void);
--};
--
--class B {
--public:
--  virtual int b (void);
--};
--
--class C : public B, public A {
--public:
--  virtual int a (void);
--};
--
--int C::a (void) { return b(); }
--
--/* { dg-final { scan-assembler {\n_ZThn8_N1C1aEv:\n} { target lp64 } } } */
--/* { dg-final { scan-assembler {\n_ZThn4_N1C1aEv:\n} { target { ! lp64 } } } 
} */
--/* { dg-final { scan-assembler {\n\tjg\t.LTHUNK0@PLT\n} { target lp64 } } } */
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/call-z10-pic-nodatarel.c
-===================================================================
---- 
gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/call-z10-pic-nodatarel.c
-+++ /dev/null
-@@ -1,20 +0,0 @@
--/* { dg-do compile } */
--/* { dg-options "-O3 -march=z10 -mzarch -fPIC -mno-pic-data-is-text-relative" 
} */
--
--#include "call.h"
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,foo@PLT\n} } } */
--/* { dg-final { scan-assembler {lgrl\t%r2,foo@GOTENT\n} { target lp64 } } } */
--/* { dg-final { scan-assembler {lrl\t%r2,foo@GOTENT\n} { target { ! lp64 } } 
} } */
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,foostatic@PLT\n} { target lp64 } 
} } */
--/* { dg-final { scan-assembler {brasl\t%r\d+,foostatic\n} { target { ! lp64 } 
} } } */
--/* { dg-final { scan-assembler {larl\t%r2,foostatic@PLT\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler {larl\t%r2,foostatic\n} { target { ! lp64 } } 
} } */
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,fooweak@PLT\n} } } */
--/* { dg-final { scan-assembler {lgrl\t%r2,fooweak@GOTENT\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler {lrl\t%r2,fooweak@GOTENT\n} { target { ! lp64 
} } } } */
--
--/* { dg-final { scan-assembler 
{foos:\n\t.quad\tfoo\n\t.quad\tfoostatic\n\t.quad\tfooweak\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler 
{foos:\n\t.long\tfoo\n\t.long\tfoostatic\n\t.long\tfooweak\n} { target { ! lp64 
} } } } */
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/call-z10-pic.c
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/call-z10-pic.c
-+++ /dev/null
-@@ -1,20 +0,0 @@
--/* { dg-do compile } */
--/* { dg-options "-O3 -march=z10 -mzarch -fPIC" } */
--
--#include "call.h"
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,foo@PLT\n} } } */
--/* { dg-final { scan-assembler {lgrl\t%r2,foo@GOTENT\n} { target lp64 } } } */
--/* { dg-final { scan-assembler {lrl\t%r2,foo@GOTENT\n} { target { ! lp64 } } 
} } */
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,foostatic@PLT\n} { target lp64 } 
} } */
--/* { dg-final { scan-assembler {brasl\t%r\d+,foostatic\n} { target { ! lp64 } 
} } } */
--/* { dg-final { scan-assembler {larl\t%r2,foostatic@PLT\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler {larl\t%r2,foostatic\n} { target { ! lp64 } } 
} } */
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,fooweak@PLT\n} } } */
--/* { dg-final { scan-assembler {lgrl\t%r2,fooweak@GOTENT\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler {lrl\t%r2,fooweak@GOTENT\n} { target { ! lp64 
} } } } */
--
--/* { dg-final { scan-assembler 
{foos:\n\t.quad\tfoo\n\t.quad\tfoostatic\n\t.quad\tfooweak\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler 
{foos:\n\t.long\tfoo\n\t.long\tfoostatic\n\t.long\tfooweak\n} { target { ! lp64 
} } } } */
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/call-z10.c
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/call-z10.c
-+++ /dev/null
-@@ -1,20 +0,0 @@
--/* { dg-do compile } */
--/* { dg-options "-O3 -march=z10 -mzarch" } */
--
--#include "call.h"
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,foo@PLT\n} { target lp64 } } } */
--/* { dg-final { scan-assembler {brasl\t%r\d+,foo\n} { target { ! lp64 } } } } 
*/
--/* { dg-final { scan-assembler {larl\t%r2,foo@PLT\n} { target lp64 } } } */
--/* { dg-final { scan-assembler {larl\t%r2,foo\n} { target { ! lp64 } } } } */
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,foostatic@PLT\n} { target lp64 } 
} } */
--/* { dg-final { scan-assembler {brasl\t%r\d+,foostatic\n} { target { ! lp64 } 
} } } */
--/* { dg-final { scan-assembler {larl\t%r2,foostatic@PLT\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler {larl\t%r2,foostatic\n} { target { ! lp64 } } 
} } */
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,fooweak\n} } } */
--/* { dg-final { scan-assembler {larl\t%r2,fooweak\n} } } */
--
--/* { dg-final { scan-assembler 
{foos:\n\t.quad\tfoo\n\t.quad\tfoostatic\n\t.quad\tfooweak\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler 
{foos:\n\t.long\tfoo\n\t.long\tfoostatic\n\t.long\tfooweak\n} { target { ! lp64 
} } } } */
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/call-z9-pic-nodatarel.c
-===================================================================
---- 
gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/call-z9-pic-nodatarel.c
-+++ /dev/null
-@@ -1,18 +0,0 @@
--/* { dg-do compile } */
--/* { dg-options "-O3 -march=z9-ec -fPIC -mno-pic-data-is-text-relative" } */
--
--#include "call.h"
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,foo@PLT\n} } } */
--/* { dg-final { scan-assembler {larl\t%r\d+,foo@GOTENT\n} } } */
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,foostatic@PLT\n} { target lp64 } 
} } */
--/* { dg-final { scan-assembler {brasl\t%r\d+,foostatic\n} { target { ! lp64 } 
} } } */
--/* { dg-final { scan-assembler {larl\t%r2,foostatic@PLT\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler {larl\t%r2,foostatic\n} { target { ! lp64 } } 
} } */
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,fooweak@PLT\n} } } */
--/* { dg-final { scan-assembler {larl\t%r\d+,fooweak@GOTENT\n} } } */
--
--/* { dg-final { scan-assembler 
{foos:\n\t.quad\tfoo\n\t.quad\tfoostatic\n\t.quad\tfooweak\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler 
{foos:\n\t.long\tfoo\n\t.long\tfoostatic\n\t.long\tfooweak\n} { target { ! lp64 
} } } } */
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/call-z9-pic.c
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/call-z9-pic.c
-+++ /dev/null
-@@ -1,18 +0,0 @@
--/* { dg-do compile } */
--/* { dg-options "-O3 -march=z9-ec -fPIC" } */
--
--#include "call.h"
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,foo@PLT\n} } } */
--/* { dg-final { scan-assembler {larl\t%r\d+,foo@GOTENT\n} } } */
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,foostatic@PLT\n} { target lp64 } 
} } */
--/* { dg-final { scan-assembler {brasl\t%r\d+,foostatic\n} { target { ! lp64 } 
} } } */
--/* { dg-final { scan-assembler {larl\t%r2,foostatic@PLT\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler {larl\t%r2,foostatic\n} { target { ! lp64 } } 
} } */
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,fooweak@PLT\n} } } */
--/* { dg-final { scan-assembler {larl\t%r\d+,fooweak@GOTENT\n} } } */
--
--/* { dg-final { scan-assembler 
{foos:\n\t.quad\tfoo\n\t.quad\tfoostatic\n\t.quad\tfooweak\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler 
{foos:\n\t.long\tfoo\n\t.long\tfoostatic\n\t.long\tfooweak\n} { target { ! lp64 
} } } } */
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/call-z9.c
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/call-z9.c
-+++ /dev/null
-@@ -1,20 +0,0 @@
--/* { dg-do compile } */
--/* { dg-options "-O3 -march=z9-ec" } */
--
--#include "call.h"
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,foo@PLT\n} { target lp64 } } } */
--/* { dg-final { scan-assembler {brasl\t%r\d+,foo\n} { target { ! lp64 } } } } 
*/
--/* { dg-final { scan-assembler {larl\t%r2,foo@PLT\n} { target lp64 } } } */
--/* { dg-final { scan-assembler {larl\t%r2,foo\n} { target { ! lp64 } } } } */
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,foostatic@PLT\n} { target lp64 } 
} } */
--/* { dg-final { scan-assembler {brasl\t%r\d+,foostatic\n} { target { ! lp64 } 
} } } */
--/* { dg-final { scan-assembler {larl\t%r2,foostatic@PLT\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler {larl\t%r2,foostatic\n} { target { ! lp64 } } 
} } */
--
--/* { dg-final { scan-assembler {brasl\t%r\d+,fooweak\n} } } */
--/* { dg-final { scan-assembler {larl\t%r2,fooweak\n} } } */
--
--/* { dg-final { scan-assembler 
{foos:\n\t.quad\tfoo\n\t.quad\tfoostatic\n\t.quad\tfooweak\n} { target lp64 } } 
} */
--/* { dg-final { scan-assembler 
{foos:\n\t.long\tfoo\n\t.long\tfoostatic\n\t.long\tfooweak\n} { target { ! lp64 
} } } } */
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/call.h
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/call.h
-+++ /dev/null
-@@ -1,40 +0,0 @@
--/* Common code for testing the function call code generation.  */
--
--__attribute__ ((noipa)) void
--foo (void)
--{
--  return;
--}
--
--void *
--usefoo (void)
--{
--  foo ();
--  return foo;
--}
--
--__attribute__ ((noipa)) static void
--foostatic (void)
--{
--  return;
--}
--
--void *
--usefoostatic (void)
--{
--  foostatic ();
--  return foostatic;
--}
--
--__attribute__ ((weak)) void fooweak (void);
--
--void *
--usefooweak (void)
--{
--  fooweak ();
--  return fooweak;
--}
--
--__attribute__ ((__used__, section (".foos"), aligned (sizeof (void *))))
--static void
--*foos[] = { foo, foostatic, fooweak };
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/mfentry-m64-pic.c
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/mfentry-m64-pic.c
-+++ /dev/null
-@@ -1,9 +0,0 @@
--/* { dg-do compile { target { lp64 } } } */
--/* { dg-options "-pg -mfentry -fPIC" } */
--
--void
--profileme (void)
--{
--  /* __fentry__ must be referenced through PLT.  */
--  /* { dg-final { scan-assembler "brasl\t0,__fentry__@PLT\n" } } */
--}
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/nodatarel-1.c
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/nodatarel-1.c
-+++ gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/nodatarel-1.c
-@@ -15,6 +15,12 @@ foo ()
-   return a;
- }
- 
-+static int __attribute__((noinline,noclone))
-+foostatic (void)
-+{
-+  return a;
-+}
-+
- /* Just to make a potentially modified.  */
- 
- void
-@@ -23,7 +29,7 @@ bar (int b)
-   a = b;
- }
- 
--/* { dg-final { scan-assembler-times "\\.LANCHOR\\d+@GOTENT" 2 } } */
-+/* { dg-final { scan-assembler-times "\\.LANCHOR\\d+@GOTENT" 3 } } */
- 
- /* The exrl target is a label_ref which should not be affected at
-    all.  */
-@@ -57,3 +63,21 @@ fooptr ()
- }
- 
- /* { dg-final { scan-assembler-times "foo@GOTENT" 1 } } */
-+
-+
-+/* A static function can be addressed relatively.  */
-+
-+int
-+callfoostatic ()
-+{
-+  return foostatic ();
-+}
-+
-+void *
-+foostaticptr ()
-+{
-+  return &foostatic;
-+}
-+
-+
-+/* { dg-final { scan-assembler-not "foostatic@" } } */
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/pr80080-4.c
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/pr80080-4.c
-+++ gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/pr80080-4.c
-@@ -13,4 +13,4 @@ void foo4(int *mem)
-     }
- }
- 
--/* { dg-final { scan-assembler 
{(?n)\n\tlt\t.*\n\tjne\t(\.L\d+)\n(.*\n)*\tcs\t.*\n\tber\t%r14\n\1:\n\tjg\tbar(@PLT)?\n}
 } } */
-+/* { dg-final { scan-assembler 
{(?n)\n\tlt\t.*\n\tjne\t(\.L\d+)\n(.*\n)*\tcs\t.*\n\tber\t%r14\n\1:\n\tjg\tbar\n}
 } } */
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/risbg-ll-3.c
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/risbg-ll-3.c
-+++ gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/risbg-ll-3.c
-@@ -23,7 +23,7 @@ i64 f1 (i64 v_a, i64 v_b)
- extern i64 f2_foo();
- i64 f2 (i64 v_a, i64 v_b)
- {
--/* { dg-final { scan-assembler 
"f2:\n\trisbg\t%r2,%r3,60,62,0\n\tbner\t%r14\n\tjg\tf2_foo.*\n" { target { lp64 
} } } } */
-+/* { dg-final { scan-assembler 
"f2:\n\trisbg\t%r2,%r3,60,62,0\n\tbner\t%r14\n\tjg\tf2_foo\n" { target { lp64 } 
} } } */
- /* { dg-final { scan-assembler 
"f2:\n\trisbgn\t%r3,%r2,0,0\\\+32-1,64-0-32\n\trisbg\t%r3,%r5,60,62,0" { target 
{ ! lp64 } } } } */
-   i64 v_anda = v_a & -15;
-   i64 v_andb = v_b & 14;
-@@ -37,8 +37,8 @@ i64 f2 (i64 v_a, i64 v_b)
- void f2_bar ();
- void f2_cconly (i64 v_a, i64 v_b)
- {
--/* { dg-final { scan-assembler 
"f2_cconly:\n\trisbg\t%r2,%r3,60,62,0\n\tber\t%r14\n\tjg\tf2_bar(@PLT)?\n" { 
target { lp64 } } } } */
--/* { dg-final { scan-assembler 
"f2_cconly:\n\trisbgn\t%r3,%r2,0,0\\\+32-1,64-0-32\n\trisbg\t%r3,%r5,60,62,0\n\tber\t%r14\n\tjg\tf2_bar(@PLT)?\n"
 { target { ! lp64 } } } } */
-+/* { dg-final { scan-assembler 
"f2_cconly:\n\trisbg\t%r3,%r2,63,59,0\n\tber\t%r14\n\tjg\tf2_bar\n" { target { 
lp64 } } } } */
-+/* { dg-final { scan-assembler 
"f2_cconly:\n\trisbgn\t%r3,%r2,0,0\\\+32-1,64-0-32\n\trisbg\t%r3,%r5,60,62,0\n\tber\t%r14\n\tjg\tf2_bar\n"
 { target { ! lp64 } } } } */
-   if ((v_a & -15) | (v_b & 14))
-     f2_bar();
- }
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/tls-pic.c
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/tls-pic.c
-+++ /dev/null
-@@ -1,14 +0,0 @@
--/* { dg-do compile } */
--/* { dg-options "-O3 -fPIC" } */
--
--#include "tls.h"
--
--/* foo must use the global dynamic model.
--   __tls_get_offset must be referenced through PLT.  */
--
--/* { dg-final { scan-assembler-times 
{\tbrasl\t%r14,__tls_get_offset@PLT:tls_gdcall:foo\n} 1 } } */
--
--/* foostatic must use the local dynamic model.
--   __tls_get_offset must be referenced through PLT.  */
--
--/* { dg-final { scan-assembler-times 
{\tbrasl\t%r14,__tls_get_offset@PLT:tls_ldcall} 1 } } */
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/tls.c
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/tls.c
-+++ /dev/null
-@@ -1,10 +0,0 @@
--/* { dg-do compile } */
--/* { dg-options "-O3" } */
--
--#include "tls.h"
--
--/* foo must use the initial-exec model, foostatic must use the local-exec
--   model.  */
--
--/* { dg-final { scan-assembler-times {\tear} 4 { target lp64 } } } */
--/* { dg-final { scan-assembler-times {\tear} 2 { target { ! lp64 } } } } */
-Index: gcc-11-11.2.0/src/gcc/testsuite/gcc.target/s390/tls.h
-===================================================================
---- gcc-11-11.2.0.orig/src/gcc/testsuite/gcc.target/s390/tls.h
-+++ /dev/null
-@@ -1,23 +0,0 @@
--/* Common code for testing the TLS code generation.  */
--
--__thread int
--foo;
--
--int
--setfoo (int x)
--{
--  int result = foo;
--  foo = x;
--  return result;
--}
--
--static __thread int
--foostatic;
--
--int
--setfoostatic (int x)
--{
--  int result = foostatic;
--  foostatic = x;
--  return result;
--}
diff --git a/debian/rules.patch b/debian/rules.patch
index a3e5afc9f5..f1c89731f8 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -66,7 +66,6 @@ debian_patches += \
        gcc-arm-disable-guality-tests \
        musl-ssp \
        arm-arch-extensions \
-       gcc-ibmz-plt-revert \
        gcc-mold \
        arc-stddef \
        pr107475 \
-- 
2.34.1


--- End Message ---
--- Begin Message ---
Source: gcc-11
Source-Version: 11.3.0-12
Done: Matthias Klose <d...@debian.org>

We believe that the bug you reported is fixed in the latest version of
gcc-11, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1028...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Klose <d...@debian.org> (supplier of updated gcc-11 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 16 Feb 2023 09:55:10 +0100
Source: gcc-11
Architecture: source
Version: 11.3.0-12
Distribution: unstable
Urgency: medium
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Changed-By: Matthias Klose <d...@debian.org>
Closes: 1028455
Changes:
 gcc-11 (11.3.0-12) unstable; urgency=medium
 .
   * Update to git 20230216 from the gcc-11 branch.
     - Fix PR target/90458 (x86), PR target/108348 (PPC), PR target/108272 
(PPC),
       PR tree-optimization/106809, PR ipa/107944, PR tree-optimization/107554,
       PR tree-optimization/107323, PR tree-optimization/107254,
       PR tree-optimization/107212, PR driver/106624, PR target/107714 (ARM),
       PR tree-optimization/108199, PR c++/106675, PR fortran/103259,
       PR fortran/95107, PR fortran/108609, PR fortran/108527,
       PR fortran/108529, PR fortran/106209, PR fortran/108501,
       PR fortran/108502, PR fortran/108421, PR fortran/108420,
       PR fortran/108453, PR libstdc++/103934, PR libstdc++/104866,
       PR libstdc++/106183.
   * Remove the gcc-ibmz-plt-revert patch. Closes: #1028455. LP: #2002429.
Checksums-Sha1:
 93223bfd7be7fbab570dbe3fa06de638d2571d67 22383 gcc-11_11.3.0-12.dsc
 2e63251137d4812433feabe53b3b480faebe63b3 720540 gcc-11_11.3.0-12.debian.tar.xz
 f4b99060e18990aa51ef4dce1c7827cf4f989e2e 8980 gcc-11_11.3.0-12_source.buildinfo
Checksums-Sha256:
 c8b1e1ccbe8f50793f53d1b2b639036ec46038d6a7ba06552c2c7928f66acd90 22383 
gcc-11_11.3.0-12.dsc
 e0d37d05d9af84a680b3ff2b5bcd91f51ac43a049e631099af0e56b90de1b911 720540 
gcc-11_11.3.0-12.debian.tar.xz
 70df6f2962073d946d7271cbd4465d3dc7f385fcd0c76e522ea4e5808070e9eb 8980 
gcc-11_11.3.0-12_source.buildinfo
Files:
 64c9ad24b6e67afe7e5ca7af82dbcfdf 22383 devel optional gcc-11_11.3.0-12.dsc
 43f65173293730ae69d55fcb0a784a9f 720540 devel optional 
gcc-11_11.3.0-12.debian.tar.xz
 c5b8ac4d73dac0b1b84386d5e39a18b5 8980 devel optional 
gcc-11_11.3.0-12_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJEBAEBCgAuFiEE1WVxuIqLuvFAv2PWvX6qYHePpvUFAmPt9iEQHGRva29AZGVi
aWFuLm9yZwAKCRC9fqpgd4+m9WtBEADbLmE9KDfu9iTQqVoHpVheSh7/RBYYplJm
bFeETB3GjulFOfs7eyfEACd65DrG2/MFSxPdF7RewX89ae42Fe1t9SAe7R9l9Ahc
4roSQ3kU2ibEIx6oX/dhBPFZlAgp5EajTaoYgaTJ2hMmu3lN566s4Eg8bulgSz51
jbPn8OijJGBh9F7DtKEwGUStnuDNLqI6PHkqDJQbp7Cqlw3VE1d7aASOWAzprvkf
rCvdPQG57WzQ2mhN9dteWPzaqQ3/HTJ0Tw6h4VdA7KsasZtMF2dyUUQoSd6ZBVg/
sCdHDsL6O8/dDvmIzLWBD6ToMbJAkFqBncL8WtqIRNto1nMh1EYJBAkRCje6VLDT
k52Jbp56e9W/wHsN14kOm7UlaxzUj4dzdE1Xj2ISnN4GFX+K9qpXmIfwfYbFt1il
ai0vLF5p4fvYc5umLwSlscDSmANu29ZXCcJmNgkLlTVyXDv1QprIY1gqqiOoOp/K
/oqQcYYPdf3CnDMYcsTepQqsMcKfYdQf4WMlQ6so8Vg9gESV1QTwwP4JVy7JdRmc
8OK8SmeK/6b8Ym5eh+tWeBTLMR/41yLQww1R1MsaWH7RII+65c+WcaH10FDY+1L8
NCfsvF7J6w3SSMJp9YODjRlztebU7UbgTJjQAv7Z9mXRrb6xJnsaeNGqKzT0ELas
uc50Sc9e2g==
=osda
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to