Debian Bug report logs - #1096682
gcc-sh-elf: ftbfs with GCC-15

version graph

Package: src:gcc-sh-elf; Maintainer for src:gcc-sh-elf is Debian Electronics Team <[email protected]>;

Reported by: Matthias Klose <[email protected]>

Date: Mon, 17 Feb 2025 17:15:39 UTC

Severity: important

Tags: forky, sid

Found in version gcc-sh-elf/8.2

Forwarded to https://forge.sourceware.org/binutils-gdb/binutils-gdb-mirror/commit/9385922d3fb9304622bbd78b2437bcfa50e7491a

Reply or subscribe to this bug.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to Debian Electronics Team <[email protected]>:
Bug#1096682; Package src:gcc-sh-elf. (Mon, 17 Feb 2025 17:15:40 GMT) (full text, mbox, link).


Acknowledgement sent to Matthias Klose <[email protected]>:
New Bug report received and forwarded. Copy sent to Debian Electronics Team <[email protected]>. (Mon, 17 Feb 2025 17:15:40 GMT) (full text, mbox, link).


Message #5 received at [email protected] (full text, mbox, reply):

From: Matthias Klose <[email protected]>
To: [email protected]
Subject: gcc-sh-elf: ftbfs with GCC-15
Date: Mon, 17 Feb 2025 17:15:00 +0000
Package: src:gcc-sh-elf
Version: 8.2
Severity: important
Tags: sid forky
User: [email protected]
Usertags: ftbfs-gcc-15

[This bug is NOT targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/gcc-sh-elf_8.2_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html

[...]
checking dl_iterate_phdr in target C library... unknown
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether to avoid linking multiple front-ends at once... no
checking whether to serialize linking of multiple front-ends... no
GNU
checking for O_CLOEXEC... yes
checking for makeinfo... makeinfo --split-size=5000000
Links are now set up to build a cross-compiler
 from x86_64-pc-linux-gnu to sh-unknown-elf.
checking for exported symbols... checking for expect... /usr/bin/expect
checking for Tcl supporting try/catch... yes
checking for -rdynamic... yes
checking for linker versioning flags... -Wl,--version-script
yes
checking for library containing dlopen... (cached) none required
checking for -fPIC -shared... configure: updating cache ./config.cache
checking that generated files are newer than configure... done
configure: creating ./config.status
yes
gcc_driver_version: 13
checking for -fno-PIE option... yes
checking for -no-pie option... yes
checking for CET support... yes
checking linker -z bndplt option... no
checking linker --push-state/--pop-state options... yes
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: creating as
config.status: creating collect-ld
config.status: creating nm
config.status: executing default-1 commands
config.status: executing libtool commands
config.status: creating dsymutil
config.status: creating Makefile
config.status: creating ada/gcc-interface/Makefile
config.status: creating ada/Makefile
config.status: creating m2/config-make
config.status: creating m2/Make-maintainer
config.status: creating auto-host.h
config.status: executing depdir commands
mkdir -p -- .deps
config.status: executing gccdepdir commands
mkdir -p -- build/.deps
mkdir -p -- ada/.deps
mkdir -p -- c/.deps
mkdir -p -- cp/.deps
mkdir -p -- d/.deps
mkdir -p -- fortran/.deps
mkdir -p -- go/.deps
mkdir -p -- jit/.deps
mkdir -p -- lto/.deps
mkdir -p -- m2/.deps
mkdir -p -- objc/.deps
mkdir -p -- objcp/.deps
mkdir -p -- rust/.deps
mkdir -p -- c-family/.deps
mkdir -p -- common/.deps
mkdir -p -- analyzer/.deps
mkdir -p -- rtl-ssa/.deps
config.status: executing default commands
make[3]: Leaving directory '/build/reproducible-path/gcc-sh-elf-8.2/bld'
make[2]: *** [Makefile:1036: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/gcc-sh-elf-8.2/bld'
make[1]: *** [debian/rules:77: override_dh_auto_build] Error 2
make[1]: Leaving directory '/build/reproducible-path/gcc-sh-elf-8.2'
make: *** [debian/rules:22: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



Information stored :
Bug#1096682; Package src:gcc-sh-elf. (Tue, 22 Apr 2025 18:21:03 GMT) (full text, mbox, link).


Message #8 received at [email protected] (full text, mbox, reply):

From: John Scott <[email protected]>
To: [email protected]
Subject: gcc-sh-elf: target simulator FTBFS with recent host GCC fixed upstream
Date: Tue, 22 Apr 2025 18:19:34 +0000
[Message part 1 (text/plain, inline)]
Control: forwarded -1 https://forge.sourceware.org/binutils-gdb/binutils-gdb-mirror/commit/9385922d3fb9304622bbd78b2437bcfa50e7491a

Here's the problem starting at line 6079 in your build log:
> ../../src/sim/sh/interp.c: In function ‘sim_resume’:
> ../../src/sim/sh/interp.c:1731:12: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘__sighandler_t’ {aka ‘void (*)(int)’} [-Wincompatible-pointer-types]
>  1731 |   prev_fpe = signal (SIGFPE, SIG_IGN);
>       |            ^
> In file included from ../gnulib/import/signal.h:52,
>                  from ../../src/sim/sh/interp.c:27:
> /usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
>    72 | typedef void (*__sighandler_t) (int);
>       |                ^~~~~~~~~~~~~~
> ../../src/sim/sh/interp.c:1867:19: error: passing argument 2 of ‘signal’ from incompatible pointer type [-Wincompatible-pointer-types]
>  1867 |   signal (SIGFPE, prev_fpe);
>       |                   ^~~~~~~~
>       |                   |
>       |                   void (*)(void)
> /usr/include/signal.h:88:57: note: expected ‘__sighandler_t’ {aka ‘void (*)(int)’} but argument is of type ‘void (*)(void)’
>    88 | extern __sighandler_t signal (int __sig, __sighandler_t __handler)
>       |                                          ~~~~~~~~~~~~~~~^~~~~~~~~
> /usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
>    72 | typedef void (*__sighandler_t) (int);
>       |                ^~~~~~~~~~~~~~

Technically this is an issue in the gdb-source binary package the simulator gets pulled in from and which was fixed upstream already. It appears this fix hasn't made it into a GDB release yet, but when a newer version of GDB gets uploaded to Debian it should resolve without any change to gcc-sh-elf.

There may be other subsequent build failures though, and if so, they'll probably dissipate when I upgrade this package to GCC 15.
[signature.asc (application/pgp-signature, inline)]

Set Bug forwarded-to-address to 'https://forge.sourceware.org/binutils-gdb/binutils-gdb-mirror/commit/9385922d3fb9304622bbd78b2437bcfa50e7491a'. Request was from John Scott <[email protected]> to [email protected]. (Tue, 22 Apr 2025 18:21:03 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Tue May 13 16:30:41 2025; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.