[binutils-gdb] s390: Deprecate s390 32-bit target "s390-*"

Jens Remus via Gdb-cvs <[email protected]> Mon, 6 Jul 2026 14:41:04 +0000 (GMT)
Newsgroups gmane.comp.gdb.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=748bc6a7febf874d84657f538c9d9e3b8153c6e7

commit 748bc6a7febf874d84657f538c9d9e3b8153c6e7
Author: Jens Remus <[email protected]>
Date:   Mon Jul 6 16:34:26 2026 +0200

    s390: Deprecate s390 32-bit target "s390-*"
    
    The s390 32-bit target (s390-*) is deprecated and planned for removal
    in a future release, along with the elf32-s390 target format.  Emit an
    error for this target during configure, which can be overridden using
    option --enable-obsolete.
    
    Linux Kernel 6.19 removed s390 32-bit compatibility support. [1]
    Glibc 2.43 [2] and GCC 16.1 (compiler option -m31) [3] deprecated
    s390 32-bit with the intent to remove it in a future release.
    
    The s390 64-bit target (s390x-*) remains supported.
    
    [1]: Linux kernel 6.19 commit 8e0b986c59c6 ("s390: Remove compat support"),
         https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8e0b986c59c6
    [2]: Glibc 2.43 commit 638d437dbf9c ("Deprecate s390-linux-gnu (31bit)"),
         https://sourceware.org/git/glibc.git?a=commitdiff;h=638d437dbf9c
    [3]: GCC 16 commit 5886bb453a6a ("s390: Deprecate -m31"),
         https://gcc.gnu.org/git/gcc.git?h=5886bb453a6a
    
    bfd/
            * config.bfd: Require --enable-obsolete to build s390 32-bit
            target "s390-*".
    
    binutils/
            * NEWS: Deprecate s390 32-bit target "s390-*".
    
    gdb/
            * NEWS: Deprecate s390 32-bit target "s390-*".
    
    Signed-off-by: Jens Remus <[email protected]>

Diff:
---
 bfd/config.bfd |  1 +
 binutils/NEWS  | 12 ++++++++++--
 gdb/NEWS       | 13 +++++++++++++
 3 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/bfd/config.bfd b/bfd/config.bfd
index 3285cd74a40..02a1a68525e 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -48,6 +48,7 @@ targ_underscore=no
 
 # Catch obsolete configurations.
 case $targ in
+ s390-* | \
  null)
     if test "x$enable_obsolete" != xyes; then
       echo "*** Configuration $targ is obsolete." >&2
diff --git a/binutils/NEWS b/binutils/NEWS
index 5532670b4a2..d9d7bf4b1e6 100644
--- a/binutils/NEWS
+++ b/binutils/NEWS
@@ -1,13 +1,21 @@
 -*- text -*-
 
+* The s390 32-bit target (s390-*) is deprecated and planned for removal in a
+  future release, along with the elf32-s390 target format.  configure emits
+  an error for this target, which can be overridden using --enable-obsolete.
+  Linux Kernel 6.19 removed s390 32-bit compatibility support.  Glibc 2.43
+  and GCC 16.1 have deprecated s390 32-bit, both with the intent to remove it
+  in a future release.
+  The s390 64-bit target (s390x-*) remains supported.
+
 * The AArch64 disassembler now accepts a command line option of "-M annotate"
   which displays the symbol associated with undefined instructions, should
   there be one.
-  
+
 * The x86 and x86_64 disassemblers now accept a command line option of
   "-M annotate-immediates" which displays the symbol associated with immediate
   values, should there be one.
-  
+
 * Objdump and readelf now have a --debug-dir=<DIR> option which can be used to
   tell them where to find separate debug info files.
 
diff --git a/gdb/NEWS b/gdb/NEWS
index 343828a85dd..0144bb929fa 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -91,6 +91,15 @@
   record btrace pt event-tracing on) on a FRED-enabled system and from
   Trigger Tracing.
 
+* The s390 32-bit target (s390-*) is deprecated and planned for
+  removal in a future release, along with the elf32-s390 target
+  format.  configure now emits an error for this target, which can be
+  overridden using --enable-obsolete.
+  Linux Kernel 6.19 removed s390 32-bit compatibility support.
+  Glibc 2.43 and GCC 16.1 have deprecated s390 32-bit, both with the
+  intent to remove it in a future release.
+  The s390 64-bit target (s390x-*) remains supported.
+
 * Configure changes
 
 ** --with-babeltrace has been removed.  The babeltrace library was
@@ -103,6 +112,10 @@ GNU/Linux/MicroBlaze (gdbserver) microblazeel-*linux*
 
 AArch64 MinGW                   aarch64-*-mingw*
 
+* Deprecated targets
+
+GNU/Linux/S390 32-bit		s390-*-*
+
 * New commands
 
 set local-environment