Revert "s390: Deprecate ESA/390 support"

The intention of -m31 -mesa and -m31 -mzarch was that they are (ABI)
compatible which is almost true except as it turns out they are not for
attribute mode(word).

After doing some archaeology and digging out an over 18 year old thread
[1,2] which is about this very attribute, I come to the conclusion to
revert this patch.  The intention by deprecating and eventually removing
ESA/390 support was to prepare for a future removal of -m31; though in
smaller steps.  Thus, instead of introducing some potential hick ups
along the route, I will revert this patch and will revisit this topic
when time for -m31 in its entirety has come---independent of
-mesa/-mzarch.

[1] https://gcc.gnu.org/pipermail/gcc-patches/2006-September/200465.html
[2] https://gcc.gnu.org/pipermail/gcc-patches/2006-October/201154.html

This reverts commit 3b1bd1fdcd.
This commit is contained in:
Stefan Schulze Frielinghaus 2025-03-20 16:48:24 +01:00
parent a1363f8dd8
commit 81166d54ca
26 changed files with 10 additions and 34 deletions

View file

@ -5768,13 +5768,9 @@ case "${target}" in
done
case ${with_mode} in
"" | zarch)
"" | esa | zarch)
# OK
;;
esa)
echo "Support for ESA/390 is deprecated; use z/Architecture instead." 1>&2
exit 1
;;
*)
echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
exit 1

View file

@ -16246,7 +16246,12 @@ s390_option_override_internal (struct gcc_options *opts,
{
/* Architecture mode defaults according to ABI. */
if (!(opts_set->x_target_flags & MASK_ZARCH))
opts->x_target_flags |= MASK_ZARCH;
{
if (TARGET_64BIT)
opts->x_target_flags |= MASK_ZARCH;
else
opts->x_target_flags &= ~MASK_ZARCH;
}
/* Set the march default in case it hasn't been specified on cmdline. */
if (!opts_set->x_s390_arch)

View file

@ -302,7 +302,7 @@ extern const char *s390_host_detect_local_cpu (int argc, const char **argv);
#define DRIVER_SELF_SPECS \
MARCH_MTUNE_NATIVE_SPECS, \
"%{!m31:%{!m64:-m" S390_TARGET_BITS_STRING "}}", \
"%{!mesa:%{!mzarch:-mzarch}}", \
"%{!mesa:%{!mzarch:%{m31:-mesa}%{m64:-mzarch}}}", \
"%{!march=*:-march=z900}"
/* Target machine storage layout. */

View file

@ -136,7 +136,7 @@ Target Mask(DEBUG_ARG) Save
Additional debug prints.
mesa
Target RejectNegative Negative(mzarch) InverseMask(ZARCH) Warn(%<-mesa%> is deprecated and support for ESA/390 will be removed; use %<-mzarch%> instead)
Target RejectNegative Negative(mzarch) InverseMask(ZARCH)
ESA/390 architecture.
mhard-dfp

View file

@ -33114,10 +33114,7 @@ GNU/Linux for S/390 ABI@. When @option{-m64} is specified, generate
code compliant to the GNU/Linux for zSeries ABI@. This allows GCC in
particular to generate 64-bit instructions. For the @samp{s390}
targets, the default is @option{-m31}, while the @samp{s390x}
targets default to @option{-m64}. Note, previously, @option{-m31} defaulted to
@option{-mesa} unless @option{-mzarch} was explicitely specified. Now,
@option{-m31} defaults to @option{-mzarch} unless @option{-mesa} is explicitely
specified since ESA/390 support is deprecated and will be removed.
targets default to @option{-m64}.
@opindex mzarch
@opindex mesa
@ -33131,7 +33128,6 @@ not possible with @option{-m64}.
When generating code compliant to the GNU/Linux for S/390 ABI,
the default is @option{-mesa}. When generating code compliant
to the GNU/Linux for zSeries ABI, the default is @option{-mzarch}.
Option @option{-mesa} is deprecated and support for ESA/390 will be removed.
@opindex mhtm
@opindex mno-htm

View file

@ -3,7 +3,6 @@
/* { dg-do compile { target { s390-*-* } } } */
/* { dg-options "-O2 -mesa" } */
/* { dg-excess-errors "-mesa is deprecated" } */
int test (int *addr)
{

View file

@ -2,7 +2,6 @@
/* { dg-do compile { target { ! lp64 } } } */
/* { dg-options "-mesa" } */
/* { dg-excess-errors "-mesa is deprecated" } */
#define DWARF_FRAME_REGISTERS 34

View file

@ -7,7 +7,6 @@
/* { dg-do run { target s390-*-* } } */
/* { dg-options "-O3 -mesa" } */
/* { dg-require-effective-target fenv_exceptions } */
/* { dg-excess-errors "-mesa is deprecated" } */
#define _GNU_SOURCE
#include <stdlib.h>

View file

@ -1,6 +1,5 @@
/* { dg-do compile } */
/* { dg-options "-O2 -m31 -mesa" } */
/* { dg-excess-errors "-mesa is deprecated" } */
struct squashfs_reg_inode_header_1 read_inode_inode;

View file

@ -1,7 +1,6 @@
/* { dg-do compile { target { s390-*-* } } } */
/* { dg-options "-foptimize-sibling-calls -mesa" } */
/* { dg-final { scan-assembler {brasl\t%r\d+,bar} } } */
/* { dg-excess-errors "-mesa is deprecated" } */
/* This tests function s390_call_saved_register_used where
REG_P (parm_rtx) and nregs == 2 holds. */

View file

@ -3,7 +3,6 @@
/* { dg-do run { target { ! lp64 } } } */
/* { dg-options "-O2 -mesa" } */
/* { dg-excess-errors "-mesa is deprecated" } */
extern void abort (void);

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z13 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -mhard-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mno-backchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**

View file

@ -3,7 +3,6 @@
/* { dg-do assemble { target { ! lp64 } } } */
/* { dg-require-effective-target target_attribute } */
/* { dg-options "-save-temps -mdebug -m31 -march=z10 -mtune=z13 -mstack-size=2048 -mstack-guard=16 -mbranch-cost=1 -mwarn-framesize=512 -mno-hard-dfp -mbackchain -msoft-float -mno-vx -mno-htm -mno-packed-stack -msmall-exec -mno-zvector -mmvcle -mesa -mno-warn-dynamicstack" } */
/* { dg-excess-errors "-mesa is deprecated" } */
/**
**