Re: [CRIS PATCH] PR rtl-optimization/126276: Restore build on cris-elf.

Jeffrey Law <[email protected]> Mon, 3 Aug 2026 12:36:21 -0600
Newsgroups gmane.comp.gcc.patches
Message-ID <[email protected]>

On 7/30/2026 9:17 AM, Roger Sayle wrote:
> FYI, this has now been filed at PR target/126518.
So poked at this for a while this morning.  Ultimately landing on this 
newlib change as the culprit for the cris-elf regression).  I don't know 
why (and I'll leave it for Hans-Peter to chase down), but it's unrelated 
to your work Roger:

Author: Jan Dubiec <[email protected]>
Date:   Sun Jul 12 21:54:53 2026 +0200

     H8: Add support for preinit/init/fini array

     This patch adds support for .preinit_array, .init_array, and 
.fini_array
     for the H8 family when binutils and GCC are configured with 
"--enable-initfini-array".

     The changes to init.c and fini.c ensure that linker-defined symbols
     referenced from C code are not affected by target-specific symbol 
naming
     conventions. For example, GCC for H8 prefixes external symbol names 
with
     an underscore, whereas GCC for ARM does not. The asm keyword is used to
     associate C identifiers with the corresponding linker-defined 
symbol names
     in a target-independent manner.

     The patch has been tested on H8 wher it enables support for the
     initialization and finalization arrays and on ARM in order to 
verify that
     the changes do not introduce any regressions.

     Signed-off-by: Jan Dubiec <[email protected]>

  newlib/libc/misc/fini.c         |  6 ++++--
  newlib/libc/misc/init.c         | 12 ++++++++----
  newlib/libc/sys/h8300hms/crt0.S |  6 ++++++


While the newlib patch says it's H8, it also touches those two generic 
files (fini.c/init.c) and somehow that's the trigger for the cris-elf 
failures:

cris-sim: gcc: c-c++-common/initpri1-lto-static.c  -Wc++-compat 
execution test
cris-sim: gcc: c-c++-common/initpri1-lto.c  -Wc++-compat  execution test
cris-sim: gcc: c-c++-common/initpri1-split-static.c  -Wc++-compat 
execution test
cris-sim: gcc: c-c++-common/initpri1-split.c  -Wc++-compat execution test
cris-sim: gcc: c-c++-common/initpri1-static.c  -Wc++-compat execution test
cris-sim: gcc: c-c++-common/initpri1.c  -Wc++-compat  execution test
cris-sim: gcc: gcc.dg/constructor-1.c execution test
cris-sim: gcc: gcc.dg/ipa/pr70306.c execution test

I'm swamped with a personal item to address and won't be able to further 
debug.

jeff