From: Stefan Schulze Frielinghaus Date: Thu, 20 Mar 2025 15:48:24 +0000 (+0100) Subject: Revert "s390: Deprecate ESA/390 support" X-Git-Tag: basepoints/gcc-16~1084 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=81166d54ca1b3a21bad387a862a87be9c389ac92;p=thirdparty%2Fgcc.git 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 3b1bd1fdcd241dd1e5b706b6937400d74ca43146. --- diff --git a/gcc/config.gcc b/gcc/config.gcc index c4816e26f82..a518e976b82 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -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 diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc index d4e849b12de..9df3c4edb0b 100644 --- a/gcc/config/s390/s390.cc +++ b/gcc/config/s390/s390.cc @@ -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) diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h index 5731ae99bcd..6f7195db04e 100644 --- a/gcc/config/s390/s390.h +++ b/gcc/config/s390/s390.h @@ -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. */ diff --git a/gcc/config/s390/s390.opt b/gcc/config/s390/s390.opt index f0cb07a871a..f064597f836 100644 --- a/gcc/config/s390/s390.opt +++ b/gcc/config/s390/s390.opt @@ -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 diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 1819bcdcdfb..a2d327d7c99 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -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 diff --git a/gcc/testsuite/gcc.target/s390/20020926-1.c b/gcc/testsuite/gcc.target/s390/20020926-1.c index 868a0ad8689..aaa13427696 100644 --- a/gcc/testsuite/gcc.target/s390/20020926-1.c +++ b/gcc/testsuite/gcc.target/s390/20020926-1.c @@ -3,7 +3,6 @@ /* { dg-do compile { target { s390-*-* } } } */ /* { dg-options "-O2 -mesa" } */ -/* { dg-excess-errors "-mesa is deprecated" } */ int test (int *addr) { diff --git a/gcc/testsuite/gcc.target/s390/dwarfregtable-1.c b/gcc/testsuite/gcc.target/s390/dwarfregtable-1.c index 6c7d231f50e..b1254987451 100644 --- a/gcc/testsuite/gcc.target/s390/dwarfregtable-1.c +++ b/gcc/testsuite/gcc.target/s390/dwarfregtable-1.c @@ -2,7 +2,6 @@ /* { dg-do compile { target { ! lp64 } } } */ /* { dg-options "-mesa" } */ -/* { dg-excess-errors "-mesa is deprecated" } */ #define DWARF_FRAME_REGISTERS 34 diff --git a/gcc/testsuite/gcc.target/s390/fp2int1.c b/gcc/testsuite/gcc.target/s390/fp2int1.c index 4b359b7741b..4a90a8b91de 100644 --- a/gcc/testsuite/gcc.target/s390/fp2int1.c +++ b/gcc/testsuite/gcc.target/s390/fp2int1.c @@ -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 diff --git a/gcc/testsuite/gcc.target/s390/pr102222.c b/gcc/testsuite/gcc.target/s390/pr102222.c index 8ab14721c2a..47d075e47fc 100644 --- a/gcc/testsuite/gcc.target/s390/pr102222.c +++ b/gcc/testsuite/gcc.target/s390/pr102222.c @@ -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; diff --git a/gcc/testsuite/gcc.target/s390/pr106355-3.c b/gcc/testsuite/gcc.target/s390/pr106355-3.c index f4f7f366bfa..39daea44fc4 100644 --- a/gcc/testsuite/gcc.target/s390/pr106355-3.c +++ b/gcc/testsuite/gcc.target/s390/pr106355-3.c @@ -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. */ diff --git a/gcc/testsuite/gcc.target/s390/pr61078.c b/gcc/testsuite/gcc.target/s390/pr61078.c index 827c3fe6bf8..40f6ad7df09 100644 --- a/gcc/testsuite/gcc.target/s390/pr61078.c +++ b/gcc/testsuite/gcc.target/s390/pr61078.c @@ -3,7 +3,6 @@ /* { dg-do run { target { ! lp64 } } } */ /* { dg-options "-O2 -mesa" } */ -/* { dg-excess-errors "-mesa is deprecated" } */ extern void abort (void); diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-10.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-10.c index 421a08e49fb..f1beb1d8773 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-10.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-10.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-12.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-12.c index 61fb7e9db5d..8868f91df52 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-12.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-12.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-14.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-14.c index 6b3780ec825..f928befa057 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-14.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-14.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-18.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-18.c index 2459bae92fa..878f0020b43 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-18.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-18.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-2.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-2.c index e32040c207c..c663b9eb75c 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-2.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-2.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-20.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-20.c index 75a1e88d059..e9eacaa07a2 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-20.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-20.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-22.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-22.c index 573e931673f..15954759ac9 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-22.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-22.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-24.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-24.c index 49f908b951d..87e4da5750a 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-24.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-24.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-26.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-26.c index 4d8e023fcf0..e4b49dc052f 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-26.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-26.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-28.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-28.c index 4d23cad7153..ae784a63533 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-28.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-28.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-30.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-30.c index cbe4c9135bf..f82d9ee216f 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-30.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-30.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-32.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-32.c index ea6f482eccd..6bdc55af5d9 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-32.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-32.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-4.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-4.c index 08358bbaf06..5780f96500f 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-4.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-4.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-6.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-6.c index 2692c864886..a946ff85177 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-6.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-6.c @@ -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" } */ /** ** diff --git a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-8.c b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-8.c index a601511f2ce..fee9644a505 100644 --- a/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-8.c +++ b/gcc/testsuite/gcc.target/s390/target-attribute/tattr-m31-8.c @@ -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" } */ /** **