s390: Deprecate ESA/390 support

Deprecate support for the ESA/390 architecture which will be eventually
removed, and encourage the usage of the z/Architecture instead.

Furthermore, default for -m31 to -mzarch whereas previously we defaulted
to -mesa.

gcc/ChangeLog:

	* config.gcc: Fail in case of option --with-mode=esa.
	* config/s390/s390.cc (s390_option_override_internal): Default
	to z/Architecture mode.
	* config/s390/s390.h (DRIVER_SELF_SPECS): Ditto.
	* config/s390/s390.opt: Emit a warning for option -mesa.
	* doc/invoke.texi: Document the change.

gcc/testsuite/ChangeLog:

	* gcc.target/s390/20020926-1.c: Deal with deprecation warning.
	* gcc.target/s390/dwarfregtable-1.c: Ditto.
	* gcc.target/s390/fp2int1.c: Ditto.
	* gcc.target/s390/pr102222.c: Ditto.
	* gcc.target/s390/pr106355-3.c: Ditto.
	* gcc.target/s390/pr61078.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-10.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-12.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-14.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-18.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-2.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-20.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-22.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-24.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-26.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-28.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-30.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-32.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-4.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-6.c: Ditto.
	* gcc.target/s390/target-attribute/tattr-m31-8.c: Ditto.
This commit is contained in:
Stefan Schulze Frielinghaus 2025-03-11 09:28:06 +01:00
parent 229f4f0404
commit 3b1bd1fdcd
26 changed files with 34 additions and 10 deletions

View file

@ -5768,9 +5768,13 @@ case "${target}" in
done
case ${with_mode} in
"" | esa | zarch)
"" | 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

@ -16231,12 +16231,7 @@ s390_option_override_internal (struct gcc_options *opts,
{
/* Architecture mode defaults according to ABI. */
if (!(opts_set->x_target_flags & MASK_ZARCH))
{
if (TARGET_64BIT)
opts->x_target_flags |= MASK_ZARCH;
else
opts->x_target_flags &= ~MASK_ZARCH;
}
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:%{m31:-mesa}%{m64:-mzarch}}}", \
"%{!mesa:%{!mzarch:-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)
Target RejectNegative Negative(mzarch) InverseMask(ZARCH) Warn(%<-mesa%> is deprecated and support for ESA/390 will be removed; use %<-mzarch%> instead)
ESA/390 architecture.
mhard-dfp

View file

@ -33114,7 +33114,10 @@ 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}.
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.
@opindex mzarch
@opindex mesa
@ -33128,6 +33131,7 @@ 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,6 +3,7 @@
/* { dg-do compile { target { s390-*-* } } } */
/* { dg-options "-O2 -mesa" } */
/* { dg-excess-errors "-mesa is deprecated" } */
int test (int *addr)
{

View file

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

View file

@ -7,6 +7,7 @@
/* { 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,5 +1,6 @@
/* { 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,6 +1,7 @@
/* { 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,6 +3,7 @@
/* { dg-do run { target { ! lp64 } } } */
/* { dg-options "-O2 -mesa" } */
/* { dg-excess-errors "-mesa is deprecated" } */
extern void abort (void);

View file

@ -3,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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,6 +3,7 @@
/* { 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" } */
/**
**