Since there were no further comments, pushed as r17-2272-g035f177a1ea.

On Wed, Jun 24, 2026 at 02:03:03PM +0200, Stefan Schulze Frielinghaus wrote:
> This patch removes -m31 support and as a consequence -mesa support.
> Using the respective command line options result in errors whereas -m64
> and -mzarch are still accepted for the sake of backwards compatibility
> but do not have any additional effect anymore since those are the
> defaults and only options, now.
> 
> This also means that s390x is the only supported host.  Removing host
> s390 while keeping s390x from configure scripts et al. for the sake of
> completeness/clarity.  Any objections removing the 32-bit case in the
> top level libtool.m4 in order to "Find out which ABI we are using"?
> If I remove it, am I supposed to regenerate configure scripts for all
> subdirectories?  That would also mean touching e.g. zlib/configure which
> lives outside of gccs' repo.
> 
> I assume that the libgm2/libitm/libstdc++-v3 changes do not need
> non-port maintainer approval.
> 
> Since a 64-bit GAS defaults to -m64, do not explicitly specify -m64
> -mzarch anymore.
> 
> Patch is gzip'd since uncompressed form is about 1.1 MiB in size.
> 
> ChangeLog:
> 
>       * configure: Regenerate.
>       * configure.ac: Remove deprecation warning for -m31.
> 
> contrib/ChangeLog:
> 
>       * compare-all-tests: Remove opts -m31 and so on.
>       * config-list.mk: Remove s390-linux-gnu.
> 
> gcc/ChangeLog:
> 
>       * config.gcc: Remove target s390-*. Don't accept
>       --with-mode=esa anymore.
>       * config.host: Remove target s390-*.
>       * config/host-linux.cc (TRY_EMPTY_VM_SPACE): Remove definition
>       for s390.
>       * config/s390/2827.md: Remove scheduling information for
>       mnemonics which are only used by -m31 but not by -m64.
>       * config/s390/2964.md: Ditto.
>       * config/s390/3906.md: Ditto.
>       * config/s390/3931.md: Ditto.
>       * config/s390/8561.md: Ditto.
>       * config/s390/9175.md: Ditto.
>       * config/s390/constraints.md (ZL): Remove TARGET_64BIT test.
>       * config/s390/driver-native.cc (s390_host_detect_local_cpu):
>       Remove handling for -mesa/-mzarch.
>       * config/s390/htmxlintrin.h (__TM_failure_address): Remove
>       -m31 part.
>       * config/s390/linux.h: Remove -m31 parts.
>       * config/s390/predicates.md: Ditto.
>       * config/s390/s390-builtins.def: Rename RTL expander name for
>       s390_vsce[fg].
>       * config/s390/s390-c.cc (s390_cpu_cpp_builtins): Remove
>       TARGET_{64BIT,ZARCH} tests.
>       * config/s390/s390-d.cc (s390_d_target_versions): Remove
>       TARGET_64BIT test.
>       * config/s390/s390.cc: Remove -m31 parts.  In particular, there
>       is no need to distinguish between 64-bit registers in ABI
>       contexts anymore which is why UNITS_PER_WORD and UNITS_PER_LONG
>       always equal, now.  Hence, replace UNITS_PER_LONG by
>       UNITS_PER_WORD.
>       * config/s390/s390.h: Ditto.
>       * config/s390/s390.md: Ditto. Mode iterator GPR is replaced by
>       DSI. Likewise, DGPR by new mode iterator TDSI.  Remove mode
>       iterators P, DW, W because they are singletons, now.
>       * config/s390/s390.opt: Keep -m64 and -mzarch for backwards
>       compatibility.  Mark -m31 and -mesa as undocumented.
>       * config/s390/s390.opt.urls: Regenerate.
>       * config/s390/t-linux64: Remove -m31 parts.
>       * config/s390/tpf.h (POINTERS_EXTEND_UNSIGNED): This is only
>       required for TPF which is why it is moved from s390.h here.
>       (TARGET_DEFAULT): Remove MASK_64BIT and MASK_ZARCH.
>       * config/s390/vector.md: Remove -m31 parts.
>       * config/s390/vx-builtins.md
>       (vec_scatter_element<V_HW_2:mode>_SI): There is no need for
>       multiplexing different address sizes for vec_scatter_element
>       anymore.
>       (vec_scatter_element<V_HW_32_64:mode>): Ditto.
>       * configure: Regenerate.
>       * configure.ac: Remove target s390-*.
>       * doc/install.texi: Remove mentions of s390 without also
>       referring to s390x.
>       * doc/invoke.texi: Remove options -m31 and -mesa.  Document that
>       -m64 and -mzarch are the defaults, now, and that they don't have
>       any additional effect when explicitly specified.
>       * config/s390/s390x.h: Removed.
> 
> libgcc/ChangeLog:
> 
>       * config.host: Remove target s390-*.  Remove -m31 part.
>       * config/s390/libgcc-glibc.ver: Remove -m31 part.
>       * config/s390/morestack.S: Ditto.
>       * config/s390/sfp-machine.h: Ditto.
>       * configure: Regenerate.
>       * configure.ac: Remove target s390-*.
>       * generic-morestack.c: Remove -m31 part.
>       * config/s390/32/_fixdfdi.c: Removed.
>       * config/s390/32/_fixsfdi.c: Removed.
>       * config/s390/32/_fixtfdi.c: Removed.
>       * config/s390/32/_fixunsdfdi.c: Removed.
>       * config/s390/32/_fixunssfdi.c: Removed.
>       * config/s390/32/_fixunstfdi.c: Removed.
>       * config/s390/32/t-floattodi: Removed.
> 
> libgm2/ChangeLog:
> 
>       * configure.host: Remove s390 host part; keep s390x.
> 
> libitm/ChangeLog:
> 
>       * config/s390/sjlj.S: Remove -m31 part.
> 
> libstdc++-v3/ChangeLog:
> 
>       * configure.host: Remove s390 host part; keep s390x.
> 
> gcc/testsuite/ChangeLog:
> 
>       * gcc.dg/asm-hard-reg-error-3.c: Remove target s390-*.
>       * gcc.dg/builtin-bswap-8.c: Remove target s390-*.
>       * gcc.dg/ifcvt-4.c: Remove -m31 part.
>       * gcc.dg/optimize-bswaphi-1.c: Ditto.
>       * gcc.dg/optimize-bswapsi-3.c: Ditto.
>       * gcc.dg/optimize-bswapsi-4.c: Ditto.
>       * gcc.dg/optimize-bswapsi-5.c: Ditto.
>       * gcc.dg/optimize-bswapsi-6.c: Ditto.
>       * gcc.dg/optimize-bswapsi-7.c: Ditto.
>       * gcc.dg/pr120525.c: Ditto.
>       * gcc.dg/tree-ssa/loop-1.c: Ditto.
>       * gcc.misc-tests/linkage.exp: Ditto.
>       * gcc.target/s390/addsub-signed-overflow-1.c: Ditto.
>       * gcc.target/s390/addsub-signed-overflow-2.c: Ditto.
>       * gcc.target/s390/asm-constant-1.c: Ditto.
>       * gcc.target/s390/call-z10-pic-nodatarel.c: Ditto.
>       * gcc.target/s390/call-z10-pic.c: Ditto.
>       * gcc.target/s390/call-z10.c: Ditto.
>       * gcc.target/s390/call-z9-pic-nodatarel.c: Ditto.
>       * gcc.target/s390/call-z9-pic.c: Ditto.
>       * gcc.target/s390/call-z9.c: Ditto.
>       * gcc.target/s390/fcall-saved.c: Ditto.
>       * gcc.target/s390/global-array-element-pic2.c: Ditto.
>       * gcc.target/s390/insv-1.c: Ditto.
>       * gcc.target/s390/isfinite-isinf-isnormal-signbit-2.c: Ditto.
>       * gcc.target/s390/isfinite-isinf-isnormal-signbit-3.c: Ditto.
>       * gcc.target/s390/larl-1.c: Ditto.
>       * gcc.target/s390/leaf-profile.c: Ditto.
>       * gcc.target/s390/load-relative-check.c: Ditto.
>       * gcc.target/s390/load-thread-pointer-once-2.c: Ditto.
>       * gcc.target/s390/load-thread-pointer-once.c: Ditto.
>       * gcc.target/s390/loc-1.c: Ditto.
>       * gcc.target/s390/md/andc-splitter-2.c: Ditto.
>       * gcc.target/s390/mrecord-mcount.c: Ditto.
>       * gcc.target/s390/mul-signed-overflow-1.c: Ditto.
>       * gcc.target/s390/mul-signed-overflow-2.c: Ditto.
>       * gcc.target/s390/not.c: Ditto.
>       * gcc.target/s390/pr42224.c: Guard as a TPF test.
>       * gcc.target/s390/preserve-args-1.c: Remove -m31 part.
>       * gcc.target/s390/preserve-args-3.c: Ditto.
>       * gcc.target/s390/risbg-ll-1.c: Ditto.
>       * gcc.target/s390/risbg-ll-2.c: Ditto.
>       * gcc.target/s390/risbg-ll-3.c: Ditto.
>       * gcc.target/s390/stack-protector-guard-tls-1.c: Ditto.
>       * gcc.target/s390/target-attribute/tattr-12.c: Ditto.
>       * gcc.target/s390/target-attribute/tattr-15.c: Ditto.
>       * gcc.target/s390/tls.c: Ditto.
>       * gcc.target/s390/uaddc-1.c: Ditto.
>       * gcc.target/s390/uaddc-2.c: Ditto.
>       * gcc.target/s390/uaddc-3.c: Ditto.
>       * gcc.target/s390/usubc-1.c: Ditto.
>       * gcc.target/s390/usubc-2.c: Ditto.
>       * gcc.target/s390/usubc-3.c: Ditto.
>       * gcc.target/s390/vector/pattern-avg-1.c: Ditto.
>       * gcc.target/s390/vector/vec-abi-1.c: Ditto.
>       * gcc.target/s390/vector/vec-abi-3.c: Ditto.
>       * gcc.target/s390/vector/vec-abi-4.c: Ditto.
>       * gcc.target/s390/vector/vec-abi-vararg-1.c: Ditto.
>       * gcc.target/s390/vector/vec-scalar-cmp-1.c: Ditto.
>       * gcc.target/s390/zero-scratch-regs-1.c: Ditto.
>       * gcc.target/s390/zvector/vec-cmp-1.c: Ditto.
>       * gcc.target/s390/20020926-1.c: Removed.
>       * gcc.target/s390/20140327-1.c: Removed.
>       * gcc.target/s390/dwarfregtable-1.c: Removed.
>       * gcc.target/s390/dwarfregtable-2.c: Removed.
>       * gcc.target/s390/fp2int1.c: Removed.
>       * gcc.target/s390/mnop-mcount-m31-mzarch.c: Removed.
>       * gcc.target/s390/pr102222.c: Removed.
>       * gcc.target/s390/pr106355-2.c: Removed.
>       * gcc.target/s390/pr106355-3.c: Removed.
>       * gcc.target/s390/pr119873-5.c: Removed.
>       * gcc.target/s390/pr61078.c: Removed.
>       * gcc.target/s390/stack-clash-4.c: Removed.
>       * gcc.target/s390/stack-clash-5.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-1.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-10.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-11.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-12.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-13.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-14.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-15.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-16.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-17.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-18.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-19.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-2.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-20.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-21.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-22.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-23.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-24.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-25.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-26.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-27.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-28.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-29.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-3.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-30.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-31.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-32.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-4.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-5.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-6.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-7.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-8.c: Removed.
>       * gcc.target/s390/target-attribute/tattr-m31-9.c: Removed.


Reply via email to