Bug 2293272 - Review Request: gcc13 - GCC 13 compatibility compiler
Summary: Review Request: gcc13 - GCC 13 compatibility compiler
Keywords:
Status: POST
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Simone Caronni
QA Contact: Fedora Extras Quality Assurance
URL: http://gcc.gnu.org
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-06-20 11:23 UTC by Jakub Jelinek
Modified: 2024-07-11 21:51 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
negativo17: fedora-review+


Attachments (Terms of Use)

Comment 1 Fedora Review Service 2024-06-20 11:23:27 UTC
Cannot find any valid SRPM URL for this ticket. Common causes are:

- You didn't specify `SRPM URL: ...` in the ticket description
  or any of your comments
- The URL schema isn't HTTP or HTTPS
- The SRPM package linked in your URL doesn't match the package name specified
  in the ticket summary


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 2 Jakub Jelinek 2024-06-20 11:36:54 UTC
Spec URL: https://www.dropbox.com/scl/fi/n1rn31tfvhsmqj4yp57qr/compat-gcc.spec?rlkey=y2ro4skiod232cagmexo5ca2l&st=02cswqoa&dl=0
SRPM URL: https://www.dropbox.com/scl/fi/rxeagrp5277dvgmi7wxzd/compat-gcc-13.3.1-2.1.fc40.src.rpm?rlkey=2upxn8ft9a190u1f2r8rmoors&st=26rv3vzm&dl=0
Description: For the AI packages we're trying to find a solution because NVIDIA CUDA relies on understanding all the new GCC features and extensions, but lags at least half a year behind, so the idea is to ship
in Fedora compat-gcc package which will be one GCC major older than that to be usable in case the system gcc is too new for CUDA.  As long as there are no changes to SONAMEs of the libraries, during
dynamic linking the packages just use the system gcc libraries, just during linking with gcc-13 or g++-13 etc. restrict to the set of symbols from the older gcc.  Some features are intentionally removed
from the compatibility compiler, it only supports C/C++/Fortran, not ObjC/ObjC++/D/Go/Ada/Modula2, the Graphite optimizations or OpenMP/OpenACC offloading aren't supported either.
To avoid doing new package process each year, the src.rpm is unversioned, while the binary packages are versioned and will eventually contain needed Obsoletes.
Fedora Account System Username: jakub

Earlier scratch build is in 
https://koji.fedoraproject.org/scratch/jakub/task_118872650/

Comment 3 Fedora Review Service 2024-06-20 11:37:06 UTC
Cannot find any valid SRPM URL for this ticket. Common causes are:

- You didn't specify `SRPM URL: ...` in the ticket description
  or any of your comments
- The URL schema isn't HTTP or HTTPS
- The SRPM package linked in your URL doesn't match the package name specified
  in the ticket summary


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 4 Fabio Valentini 2024-06-20 11:56:50 UTC
The "compat-*" naming scheme has been obsolete for years. No new packages should use it.
https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#multiple

In this case, the package name should probably be "gcc13".

Comment 6 Siddhesh Poyarekar 2024-06-20 14:18:27 UTC
(In reply to Fabio Valentini from comment #4)
> The "compat-*" naming scheme has been obsolete for years. No new packages
> should use it.
> https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#multiple
> 
> In this case, the package name should probably be "gcc13".

We want to package a gcc that runs behind the bleeding edge a bit, so gcc13 where the default compiler is gcc14, gcc14, when the default compiler rebases to gcc15, and so on.  For that reason, we want to avoid having the version number in the name and call it something descriptive without a version number.  It looks like the naming convention allows the latter[1], so maybe gcc-prevrel?

[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#multiple

Comment 7 Fedora Review Service 2024-06-20 17:09:36 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7629657
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2293272-compat-gcc/fedora-rawhide-x86_64/07629657-compat-gcc/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 8 Jakub Jelinek 2024-06-20 17:14:35 UTC
Copr timeout => sending INT
gcc takes a long time to build (24-48 hours on average) and while compat-gcc is faster, it is perhaps 4x as quick, it is still way too much for the copr limits.

Comment 9 Jakub Jelinek 2024-06-20 17:15:51 UTC
I mean on a fast box with say make -j64 it can be done in 2 hours, but most of the copr/koji builders are slow and have just a few available CPUs.

Comment 10 Fabio Valentini 2024-06-25 09:54:39 UTC
(In reply to Siddhesh Poyarekar from comment #6)
> (In reply to Fabio Valentini from comment #4)
> > The "compat-*" naming scheme has been obsolete for years. No new packages
> > should use it.
> > https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#multiple
> > 
> > In this case, the package name should probably be "gcc13".
> 
> We want to package a gcc that runs behind the bleeding edge a bit, so gcc13
> where the default compiler is gcc14, gcc14, when the default compiler
> rebases to gcc15, and so on.  For that reason, we want to avoid having the
> version number in the name and call it something descriptive without a
> version number.  It looks like the naming convention allows the latter[1],
> so maybe gcc-prevrel?

If those packages aren't going to stick around for long periods of time, what keeps you from using the "normal" scheme for compat package names? There is almost no overhead to creating new packages for gcc13, gcc14, etc. (compat packages like those technically don't even need to go through package review).

Comment 12 Fedora Review Service 2024-07-10 00:26:19 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7720253
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2293272-gcc13/fedora-rawhide-x86_64/07720253-gcc13/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 13 Simone Caronni 2024-07-10 06:21:01 UTC
(In reply to Jakub Jelinek from comment #2)
> Spec URL:
> https://www.dropbox.com/scl/fi/n1rn31tfvhsmqj4yp57qr/compat-gcc.
> spec?rlkey=y2ro4skiod232cagmexo5ca2l&st=02cswqoa&dl=0
> SRPM URL:
> https://www.dropbox.com/scl/fi/rxeagrp5277dvgmi7wxzd/compat-gcc-13.3.1-2.1.
> fc40.src.rpm?rlkey=2upxn8ft9a190u1f2r8rmoors&st=26rv3vzm&dl=0
> Description: For the AI packages we're trying to find a solution because
> NVIDIA CUDA relies on understanding all the new GCC features and extensions,
> but lags at least half a year behind, so the idea is to ship
> in Fedora compat-gcc package which will be one GCC major older than that to
> be usable in case the system gcc is too new for CUDA.  As long as there are
> no changes to SONAMEs of the libraries, during
> dynamic linking the packages just use the system gcc libraries, just during
> linking with gcc-13 or g++-13 etc. restrict to the set of symbols from the
> older gcc.  Some features are intentionally removed
> from the compatibility compiler, it only supports C/C++/Fortran, not
> ObjC/ObjC++/D/Go/Ada/Modula2, the Graphite optimizations or OpenMP/OpenACC
> offloading aren't supported either.
> To avoid doing new package process each year, the src.rpm is unversioned,
> while the binary packages are versioned and will eventually contain needed
> Obsoletes.
> Fedora Account System Username: jakub
> 
> Earlier scratch build is in 
> https://koji.fedoraproject.org/scratch/jakub/task_118872650/

@jakub this is not exactly the proper format of the review, the closest you got is in this comment, but the description is not the reasoning behind the package but the actual %description of the package.

Anyway, as discussed I'm taking the review.

Comment 14 Simone Caronni 2024-07-10 06:46:05 UTC
Some notes in the SPEC file.

This is not required for the review, but honestly please adjust all the conditionals, it's a new package, let's start clean and not carrying over all the old stuff. We're targeting Fedora 40+ only and/or RHEL 10 on a limited set of architectures, so you can remove most of the conditionals that make the SPEC file unreadable.

I know it's easier to get the GCC spec file and just adjust it for the different path/name, but we don't need to support RHEL 7 on a custom build for IA64 or Alpha!... I don't see why someone should build this on Fedora releases that have been EOL since years and on RHEL releases which already have SCL dev toolsets available:

%if 0%{?fedora} >= 36 || 0%{?rhel} >= 10
%global build_annobin_plugin 1
%else
%global build_annobin_plugin 0
%endif

%if 0%{?fedora} >= 29 || 0%{?rhel} > 7
BuildRequires: binutils >= 2.31
%else
BuildRequires: binutils >= 2.24
%endif

%if 0%{?fedora} >= 29 || 0%{?rhel} > 7
Requires: binutils >= 2.31
%else
Requires: binutils >= 2.24
%endif

%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
%ifarch %{arm}
Requires: glibc >= 2.16
%endif
%endif

%if 0%{?fedora} >= 29 || 0%{?rhel} > 7
%patch -P10 -p0 -b .rh1574936~
%endif

%if 0%{?fedora} >= 21 || 0%{?rhel} >= 7
%if %{attr_ifunc}
	--enable-gnu-indirect-function \
%endif
%endif

%if 0%{?rhel} >= 9
	--with-cpu-32=power9 --with-tune-32=power9 --with-cpu-64=power9 --with-tune-64=power9 \
%else
	--with-cpu-32=power8 --with-tune-32=power8 --with-cpu-64=power8 --with-tune-64=power8 \
%endif

The same goes for conditionals for most architectures:

%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips} ia64 sparc sparcv9 alpha

Any code path / conditionals (%ifarch/%ifnarch) which is not in these architectures you can probably throw away; I guess we don't want to keep old stuff lying around forever:

%{ix86} x86_64 ppc64le s390x aarch64

Typo: "# For VTA guality testing"

This Provides you can probably remove:

Provides: compat-gcc(major) = %{gcc_major}

The changelog does not match the release:

Release: %{gcc_release}.1%{?dist}
* Mon Jul  8 2024 Jakub Jelinek <jakub> 13.3.1-2

Last but not least, considering this is a compatibility package, instead of pulling out from git snapshots you might want to use the latest release tarballs from https://ftp.gnu.org/gnu/gcc/. This would simplify the SPEC file substantially, also for new releases (when moving this to GCC 14 comes). Isn't that feasible? I always used release tarballs for the same purpose: https://github.com/negativo17/cuda-gcc/blob/master/cuda-gcc.spec

Comment 15 Simone Caronni 2024-07-10 06:52:11 UTC
Please fix licensing. Non-SPDX formats are not allowed (https://spdx.org/licenses/)

You can probably replace this line:

License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD

With the one from the official GCC package:

https://src.fedoraproject.org/rpms/gcc/blob/rawhide/f/gcc.spec#_153

Also all the lines that declare the %_licensedir macro can be removed, these were used in the RHEL 6 era:

%{!?_licensedir:%global license %%doc}

Comment 16 Simone Caronni 2024-07-10 07:14:21 UTC
@jakub I can help you with clean ups, if you're interested.

I'm almost finished building the package and then I'll resume.

Comment 17 Simone Caronni 2024-07-10 07:51:05 UTC
Please remove this:

%global _unpackaged_files_terminate_build 0

and make sure either files are not installed in the first place.

warning: Installed (but unpackaged) file(s) found:
   /usr/lib/gcc/x86_64-redhat-linux/13/include-fixed/README
   /usr/lib/gcc/x86_64-redhat-linux/13/include-fixed/pthread.h
   /usr/lib/gcc/x86_64-redhat-linux/13/include/sanitizer/asan_interface.h
   /usr/lib/gcc/x86_64-redhat-linux/13/include/sanitizer/common_interface_defs.h
   /usr/lib/gcc/x86_64-redhat-linux/13/include/sanitizer/hwasan_interface.h
   /usr/lib/gcc/x86_64-redhat-linux/13/include/sanitizer/lsan_interface.h
   /usr/lib/gcc/x86_64-redhat-linux/13/include/sanitizer/tsan_interface.h
   /usr/lib/gcc/x86_64-redhat-linux/13/include/ssp/ssp.h
   /usr/lib/gcc/x86_64-redhat-linux/13/include/ssp/stdio.h
   /usr/lib/gcc/x86_64-redhat-linux/13/include/ssp/string.h
   /usr/lib/gcc/x86_64-redhat-linux/13/include/ssp/unistd.h
   /usr/lib/gcc/x86_64-redhat-linux/13/install-tools/fixinc_list
   /usr/lib/gcc/x86_64-redhat-linux/13/install-tools/gsyslimits.h
   /usr/lib/gcc/x86_64-redhat-linux/13/install-tools/include/README
   /usr/lib/gcc/x86_64-redhat-linux/13/install-tools/include/limits.h
   /usr/lib/gcc/x86_64-redhat-linux/13/install-tools/macro_list
   /usr/lib/gcc/x86_64-redhat-linux/13/install-tools/mkheaders.conf
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/gtype.state
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ada/gcc-interface/ada-tree.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/addresses.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/alias.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/align.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/all-tree.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/alloc-pool.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ansidecl.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/array-traits.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/asan.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/attr-fnspec.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/attribs.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/auto-host.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/auto-profile.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/b-header-vars
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/backend.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/basic-block.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/bb-reorder.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/bitmap.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/builtin-attrs.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/builtin-types.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/builtins.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/builtins.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/bversion.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/c-family/c-common.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/c-family/c-common.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/c-family/c-objc.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/c-family/c-pragma.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/c-family/c-pretty-print.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/c-tree.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/calls.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ccmp.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cfg-flags.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cfg.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cfganal.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cfgbuild.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cfgcleanup.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cfgexpand.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cfghooks.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cfgloop.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cfgloopmanip.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cfgrtl.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cgraph.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cif-code.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/collect-utils.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/collect2-aix.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/collect2.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/color-macros.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/common/config/i386/i386-cpuinfo.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/conditions.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/elfos.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/glibc-stdint.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/gnu-user.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/att.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/biarch64.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/gnu-user-common.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/gnu-user64.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/i386-isa.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/i386-opts.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/i386-protos.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/i386.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/linux-common.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/linux64.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/stringop.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/unix.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/x86-64.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/i386/x86-tune.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/initfini-array.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/linux-android.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/linux-protos.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/linux.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/config/vxworks-dummy.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/configargs.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/context.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/convert.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/coretypes.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/coroutine-builtins.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/coverage.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cp/contracts.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cp/cp-trait.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cp/cp-tree.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cp/cp-tree.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cp/cxx-pretty-print.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cp/name-lookup.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cp/operators.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cp/type-utils.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cppbuiltin.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cppdefault.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cpplib.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/cselib.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ctfc.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/d/d-tree.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/data-streamer.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/dbgcnt.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/dbgcnt.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/dce.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ddg.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/debug.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/defaults.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/df.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/dfp.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/diagnostic-client-data-hooks.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/diagnostic-color.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/diagnostic-core.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/diagnostic-event-id.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/diagnostic-metadata.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/diagnostic-path.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/diagnostic-spec.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/diagnostic-url.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/diagnostic.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/diagnostic.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/digraph.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/dojump.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/dominance.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/domwalk.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/double-int.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/dump-context.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/dumpfile.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/dwarf2asm.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/dwarf2ctf.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/dwarf2out.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/edit-context.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/emit-rtl.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/errors.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/escaped_string.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/et-forest.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/except.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/explow.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/expmed.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/expr.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/fibonacci_heap.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/file-find.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/file-prefix-map.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/filenames.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/fixed-value.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/flag-types.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/flags.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/fold-const-call.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/fold-const.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/function-abi.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/function.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gcc-plugin.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gcc-rich-location.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gcc-symtab.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gcc.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gcov-counter.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gcov-io.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gcse-common.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gcse.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/generic-match.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gengtype.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/genrtl.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gensupport.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ggc-internal.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ggc.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-array-bounds.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-builder.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-expr.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-fold.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-iterator.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-low.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-match.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-predicate-analysis.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-predict.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-pretty-print.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-range-cache.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-range-edge.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-range-fold.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-range-gori.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-range-infer.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-range-op.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-range-path.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-range-trace.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-range.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-ssa-warn-access.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-ssa-warn-restrict.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-ssa.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-streamer.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple-walk.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimple.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimplify-me.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gimplify.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/glimits.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gomp-constants.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/graph.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/graphds.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/graphite.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/graphviz.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gsstruct.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gsyms.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gsyslimits.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gtm-builtins.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/gtype-desc.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/hard-reg-set.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/hash-map-traits.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/hash-map.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/hash-set.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/hash-table.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/hash-traits.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/hashtab.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/highlev-plugin-common.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/hooks.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/hosthooks-def.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/hosthooks.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/hw-doloop.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/hwint.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ifcvt.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/inchash.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/incpath.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/input.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/insn-addr.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/insn-attr-common.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/insn-attr.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/insn-codes.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/insn-config.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/insn-constants.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/insn-flags.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/insn-modes-inline.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/insn-modes.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/insn-notes.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/int-vector-builder.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/internal-fn.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/internal-fn.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/intl.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ipa-fnsummary.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ipa-icf-gimple.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ipa-icf.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ipa-inline.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ipa-modref-tree.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ipa-modref.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ipa-param-manipulation.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ipa-predicate.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ipa-prop.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ipa-ref.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ipa-reference.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ipa-utils.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ira-int.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ira.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/is-a.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/iterator-utils.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/json.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/langhooks-def.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/langhooks.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/lcm.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/libfuncs.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/libiberty.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/limitx.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/limity.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/line-map.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/logical-location.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/loop-unroll.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/lower-subreg.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/lra-int.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/lra.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/lto-compress.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/lto-section-names.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/lto-streamer.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/m2/m2-tree.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/machmode.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/machmode.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/make-unique.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/md5.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/mem-stats-traits.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/mem-stats.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/memmodel.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/memory-block.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/mode-classes.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/mux-utils.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/objc/objc-tree.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/obstack-utils.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/obstack.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/omp-builtins.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/omp-expand.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/omp-general.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/omp-low.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/omp-offload.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/omp-simd-clone.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/opt-problem.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/opt-suggestions.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/optabs-libfuncs.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/optabs-query.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/optabs-tree.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/optabs.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/optabs.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/optinfo-emit-json.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/optinfo.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/options.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/opts-diagnostic.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/opts-jobserver.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/opts.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ordered-hash-map.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/output.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/pass-instances.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/pass_manager.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/passes.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/plugin-api.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/plugin-version.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/plugin.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/plugin.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/pointer-query.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/poly-int-types.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/poly-int.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/predict.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/predict.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/prefix.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/pretty-print.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/print-rtl.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/print-tree.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/profile-count.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/profile.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/range-op.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/range.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/read-md.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/read-rtl-function.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/real.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/realmpfr.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/recog.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/reg-notes.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/regcprop.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/regrename.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/regs.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/regset.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/reload.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/resource.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/rtl-error.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/rtl-iter.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/rtl-ssa.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/rtl.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/rtl.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/rtlanal.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/rtlhash.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/rtlhooks-def.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/rtx-vector-builder.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/run-rtl-passes.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/safe-ctype.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/sanitizer.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/sbitmap.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/sched-int.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/sel-sched-dump.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/sel-sched-ir.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/sel-sched.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/selftest-diagnostic.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/selftest-rtl.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/selftest.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/sese.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/shortest-paths.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/shrink-wrap.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/signop.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/sparseset.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/spellcheck-tree.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/spellcheck.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/splay-tree-utils.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/splay-tree.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/sreal.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ssa-iterators.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ssa.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/statistics.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/stmt.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/stor-layout.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/streamer-hooks.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/stringpool.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/substring-locations.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/symbol-summary.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/symtab-clones.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/symtab-thunks.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/symtab.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/sync-builtins.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/system.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/target-def.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/target-globals.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/target-hooks-macros.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/target-insns.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/target.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/target.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/targhooks.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/timevar.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/timevar.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tm-preds.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tm.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tm_p.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/toplev.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tracer.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/trans-mem.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-affine.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-cfg.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-cfgcleanup.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-check.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-chrec.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-core.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-data-ref.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-dfa.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-diagnostic.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-dump.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-eh.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-hash-traits.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-hasher.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-if-conv.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-inline.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-into-ssa.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-iterator.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-logical-location.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-nested.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-object-size.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-outof-ssa.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-parloops.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-pass.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-phinodes.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-pretty-print.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-scalar-evolution.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-sra.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-address.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-alias-compare.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-alias.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-ccp.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-coalesce.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-dce.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-dom.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-dse.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-live.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-loop-ivopts.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-loop-manip.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-loop-niter.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-loop.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-math-opts.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-operands.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-propagate.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-reassoc.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-sccvn.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-scopedtables.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-strlen.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-ter.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-threadedge.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa-threadupdate.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssa.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-ssanames.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-stdarg.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-streamer.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-switch-conversion.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-vector-builder.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-vectorizer.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree-vrp.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tree.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/treestruct.def
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tristate.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tsan.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/tsystem.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/typeclass.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/typed-splay-tree.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/ubsan.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/valtrack.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/value-pointer-equiv.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/value-prof.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/value-query.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/value-range-pretty-print.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/value-range-storage.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/value-range.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/value-relation.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/varasm.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/vec-perm-indices.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/vec.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/vector-builder.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/version.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/vmsdbg.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/vr-values.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/vtable-verify.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/wide-int-bitmask.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/wide-int-print.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/wide-int.h
   /usr/lib/gcc/x86_64-redhat-linux/13/plugin/include/xcoff.h
   /usr/lib64/libasan.so
   /usr/lib64/libasan_preinit.o
   /usr/lib64/libatomic.so
   /usr/lib64/libcc1.so
   /usr/lib64/libgcc_s.so
   /usr/lib64/libgfortran.so
   /usr/lib64/libgomp.so
   /usr/lib64/libhwasan.so
   /usr/lib64/libhwasan_preinit.o
   /usr/lib64/libitm.so
   /usr/lib64/liblsan.so
   /usr/lib64/liblsan_preinit.o
   /usr/lib64/libquadmath.so
   /usr/lib64/libsanitizer.spec
   /usr/lib64/libstdc++.so
   /usr/lib64/libtsan.so
   /usr/lib64/libtsan_preinit.o
   /usr/lib64/libubsan.so
   /usr/libexec/gcc/x86_64-redhat-linux/13/install-tools/fixinc.sh
   /usr/libexec/gcc/x86_64-redhat-linux/13/install-tools/mkinstalldirs
   /usr/share/gcc-13/python/libstdcxx/__init__.py
   /usr/share/gcc-13/python/libstdcxx/v6/__init__.py
   /usr/share/gcc-13/python/libstdcxx/v6/printers.py
   /usr/share/gcc-13/python/libstdcxx/v6/xmethods.py
   /usr/share/info/cpp.info.gz
   /usr/share/info/cppinternals.info.gz
   /usr/share/info/gcc.info.gz
   /usr/share/info/gccinstall.info.gz
   /usr/share/info/gccint.info.gz
   /usr/share/info/gfortran.info.gz
   /usr/share/info/libgomp.info.gz
   /usr/share/info/libitm.info.gz
   /usr/share/info/libquadmath.info.gz
   /usr/share/locale/be/LC_MESSAGES/cpplib.mo
   /usr/share/locale/be/LC_MESSAGES/gcc.mo
   /usr/share/locale/ca/LC_MESSAGES/cpplib.mo
   /usr/share/locale/da/LC_MESSAGES/cpplib.mo
   /usr/share/locale/da/LC_MESSAGES/gcc.mo
   /usr/share/locale/de/LC_MESSAGES/cpplib.mo
   /usr/share/locale/de/LC_MESSAGES/gcc.mo
   /usr/share/locale/de/LC_MESSAGES/libstdc++.mo
   /usr/share/locale/el/LC_MESSAGES/cpplib.mo
   /usr/share/locale/el/LC_MESSAGES/gcc.mo
   /usr/share/locale/eo/LC_MESSAGES/cpplib.mo
   /usr/share/locale/es/LC_MESSAGES/cpplib.mo
   /usr/share/locale/es/LC_MESSAGES/gcc.mo
   /usr/share/locale/fi/LC_MESSAGES/cpplib.mo
   /usr/share/locale/fi/LC_MESSAGES/gcc.mo
   /usr/share/locale/fr/LC_MESSAGES/cpplib.mo
   /usr/share/locale/fr/LC_MESSAGES/gcc.mo
   /usr/share/locale/fr/LC_MESSAGES/libstdc++.mo
   /usr/share/locale/hr/LC_MESSAGES/gcc.mo
   /usr/share/locale/id/LC_MESSAGES/cpplib.mo
   /usr/share/locale/id/LC_MESSAGES/gcc.mo
   /usr/share/locale/ja/LC_MESSAGES/cpplib.mo
   /usr/share/locale/ja/LC_MESSAGES/gcc.mo
   /usr/share/locale/ka/LC_MESSAGES/cpplib.mo
   /usr/share/locale/nl/LC_MESSAGES/cpplib.mo
   /usr/share/locale/nl/LC_MESSAGES/gcc.mo
   /usr/share/locale/pt_BR/LC_MESSAGES/cpplib.mo
   /usr/share/locale/ro/LC_MESSAGES/cpplib.mo
   /usr/share/locale/ru/LC_MESSAGES/cpplib.mo
   /usr/share/locale/ru/LC_MESSAGES/gcc.mo
   /usr/share/locale/sr/LC_MESSAGES/cpplib.mo
   /usr/share/locale/sr/LC_MESSAGES/gcc.mo
   /usr/share/locale/sv/LC_MESSAGES/cpplib.mo
   /usr/share/locale/sv/LC_MESSAGES/gcc.mo
   /usr/share/locale/tr/LC_MESSAGES/cpplib.mo
   /usr/share/locale/tr/LC_MESSAGES/gcc.mo
   /usr/share/locale/uk/LC_MESSAGES/cpplib.mo
   /usr/share/locale/uk/LC_MESSAGES/gcc.mo
   /usr/share/locale/vi/LC_MESSAGES/cpplib.mo
   /usr/share/locale/vi/LC_MESSAGES/gcc.mo
   /usr/share/locale/zh_CN/LC_MESSAGES/cpplib.mo
   /usr/share/locale/zh_CN/LC_MESSAGES/gcc.mo
   /usr/share/locale/zh_TW/LC_MESSAGES/cpplib.mo
   /usr/share/locale/zh_TW/LC_MESSAGES/gcc.mo
   /usr/share/man/man7/fsf-funding.7.gz
   /usr/share/man/man7/gfdl.7.gz
   /usr/share/man/man7/gpl.7.gz

Comment 18 Simone Caronni 2024-07-10 07:54:02 UTC
Warnings (shortened) on the built RPMs. Probably not all the "devel-file-in-non-devel-package" ones, but some can probably be fixed:

$ rpmlint *rpm
=================================================== rpmlint session starts ===================================================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 8

gcc13.spec:152: W: unversioned-explicit-provides bundled(libiberty)
gcc13.spec:153: W: unversioned-explicit-provides bundled(libbacktrace)
gcc13.spec:154: W: unversioned-explicit-provides bundled(libffi)
gcc13.src: W: strange-permission dummylib.sh 775
gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libatomic.a
gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libgcc.a
gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libgcc_eh.a
gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libgcov.a
gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libgomp.a
gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libitm.a
gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libquadmath.a
gcc13-c++.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libstdc++.a
gcc13-c++.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libstdc++exp.a
gcc13-c++.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libstdc++fs.a
gcc13-c++.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libsupc++.a
gcc13-gfortran.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libcaf_single.a
gcc13-gfortran.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libgfortran.a
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/cpp-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcc-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcc-ar-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcc-nm-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcc-ranlib-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcov-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcov-dump-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcov-tool-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/lto-dump-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/x86_64-redhat-linux-gcc-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/cc1
gcc13.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/collect2
gcc13.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/lto-wrapper
gcc13.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/lto1
gcc13-c++.x86_64: W: position-independent-executable-suggested /usr/bin/g++-13
gcc13-c++.x86_64: W: position-independent-executable-suggested /usr/bin/x86_64-redhat-linux-c++-13
gcc13-c++.x86_64: W: position-independent-executable-suggested /usr/bin/x86_64-redhat-linux-g++-13
gcc13-c++.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/cc1plus
gcc13-c++.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/g++-mapper-server
gcc13-gfortran.x86_64: W: position-independent-executable-suggested /usr/bin/gfortran-13
gcc13-gfortran.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/f951
gcc13.x86_64: W: no-manual-page-for-binary gcc-ar-13
gcc13.x86_64: W: no-manual-page-for-binary gcc-nm-13
gcc13.x86_64: W: no-manual-page-for-binary gcc-ranlib-13
gcc13.x86_64: W: no-manual-page-for-binary x86_64-redhat-linux-gcc-13
gcc13-c++.x86_64: W: no-manual-page-for-binary x86_64-redhat-linux-c++-13
gcc13-c++.x86_64: W: no-manual-page-for-binary x86_64-redhat-linux-g++-13
gcc13.x86_64: E: missing-PT_GNU_STACK-section /usr/lib/gcc/x86_64-redhat-linux/13/libatomic.so
gcc13.x86_64: E: missing-PT_GNU_STACK-section /usr/lib/gcc/x86_64-redhat-linux/13/libgcc_s_dummy.so
gcc13.x86_64: E: missing-PT_GNU_STACK-section /usr/lib/gcc/x86_64-redhat-linux/13/libgomp.so
gcc13.x86_64: E: missing-PT_GNU_STACK-section /usr/lib/gcc/x86_64-redhat-linux/13/libitm.so
gcc13.x86_64: E: missing-PT_GNU_STACK-section /usr/lib/gcc/x86_64-redhat-linux/13/libquadmath.so
gcc13-c++.x86_64: E: missing-PT_GNU_STACK-section /usr/lib/gcc/x86_64-redhat-linux/13/libstdc++.so
gcc13-gfortran.x86_64: E: missing-PT_GNU_STACK-section /usr/lib/gcc/x86_64-redhat-linux/13/libgfortran.so
gcc13.spec: W: invalid-url Source0: gcc-13.3.1-20240611.tar.xz
gcc13.src: W: invalid-license-exception exceptions
gcc13.x86_64: W: invalid-license-exception exceptions
gcc13-c++.x86_64: W: invalid-license-exception exceptions
gcc13-c++-debuginfo.x86_64: W: invalid-license-exception exceptions
gcc13-debuginfo.x86_64: W: invalid-license-exception exceptions
gcc13-debugsource.x86_64: W: invalid-license-exception exceptions
gcc13-gfortran.x86_64: W: invalid-license-exception exceptions
gcc13-gfortran-debuginfo.x86_64: W: invalid-license-exception exceptions
gcc13.x86_64: W: incoherent-version-in-changelog 13.3.1-2 ['13.3.1-2.1.fc40', '13.3.1-2.1']
gcc13-debugsource.x86_64: E: files-duplicated-waste 2175246
gcc13.x86_64: W: files-duplicate /usr/lib/gcc/x86_64-redhat-linux/13/crtendS.o /usr/lib/gcc/x86_64-redhat-linux/13/crtend.o
gcc13-c++.x86_64: W: files-duplicate /usr/include/c++/13/ext/hash_map /usr/include/c++/13/backward/hash_map
gcc13-c++.x86_64: W: files-duplicate /usr/include/c++/13/ext/hash_set /usr/include/c++/13/backward/hash_set
gcc13-c++.x86_64: W: files-duplicate /usr/include/c++/13/x86_64-redhat-linux/bits/gthr-posix.h /usr/include/c++/13/x86_64-redhat-linux/bits/gthr-default.h
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/acc_prof.h
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/adxintrin.h
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/ammintrin.h
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/amxbf16intrin.h
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/amxcomplexintrin.h
[...]
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/xmmintrin.h
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/xopintrin.h
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/xsavecintrin.h
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/xsaveintrin.h
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/xsaveoptintrin.h
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/xsavesintrin.h
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/xtestintrin.h
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/libatomic.a
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/libgcc.a
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/libgcc_eh.a
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/libgcov.a
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/libgomp.a
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/libitm.a
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/libquadmath.a
gcc13-c++.x86_64: W: devel-file-in-non-devel-package /usr/include/c++/13/backward/auto_ptr.h
gcc13-c++.x86_64: W: devel-file-in-non-devel-package /usr/include/c++/13/backward/backward_warning.h
gcc13-c++.x86_64: W: devel-file-in-non-devel-package /usr/include/c++/13/backward/binders.h
gcc13-c++.x86_64: W: devel-file-in-non-devel-package /usr/include/c++/13/backward/hash_fun.h
[...]
gcc13-c++.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/libstdc++exp.a
gcc13-c++.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/libstdc++fs.a
gcc13-c++.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/libsupc++.a
gcc13-gfortran.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/finclude/omp_lib.h
gcc13-gfortran.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/finclude/openacc_lib.h
gcc13-gfortran.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/ISO_Fortran_binding.h
gcc13-gfortran.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/libcaf_single.a
gcc13-gfortran.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/libgfortran.a
gcc13.x86_64: E: devel-dependency glibc-devel
gcc13-c++.x86_64: E: devel-dependency libstdc++-devel
gcc13-gfortran.x86_64: E: devel-dependency libquadmath-devel
gcc13.spec:333: W: configure-without-libdir-spec
gcc13.spec:380: W: configure-without-libdir-spec
=========== 8 packages and 0 specfiles checked; 24 errors, 752 warnings, 416 filtered, 24 badness; has taken 9.1 s ===========

Comment 19 Simone Caronni 2024-07-10 08:16:39 UTC
Also, this line is not correct, probably you should not require an unversioned python:

BuildRequires: python3-devel, /usr/bin/python

Comment 20 Jakub Jelinek 2024-07-10 08:26:48 UTC
(In reply to Simone Caronni from comment #14)
> Some notes in the SPEC file.
> 
> This is not required for the review, but honestly please adjust all the
> conditionals, it's a new package, let's start clean and not carrying over

I'll work on cutting down the conditionals soon.

> Last but not least, considering this is a compatibility package, instead of
> pulling out from git snapshots you might want to use the latest release
> tarballs from https://ftp.gnu.org/gnu/gcc/. This would simplify the SPEC
> file substantially, also for new releases (when moving this to GCC 14
> comes). Isn't that feasible? I always used release tarballs for the same
> purpose: https://github.com/negativo17/cuda-gcc/blob/master/cuda-gcc.spec

The use of git snapshot is IMNSHO really important, there can be up to a year
and something in between upstream tarballs (in 50% it is myself doing them upstream)
and the amount of fixes in between is large and highly desirable.
But more importantly, by using the same tarball (+ patches if any) as the system
compiler in older Fedora releases at least for some time (as long as those are
supported) one shares the testing done for the other compilers, bugs reported
against one can be fixed in the others and vice versa.

Comment 21 Simone Caronni 2024-07-10 12:01:30 UTC
(In reply to Jakub Jelinek from comment #20)
> The use of git snapshot is IMNSHO really important, there can be up to a year
> and something in between upstream tarballs (in 50% it is myself doing them
> upstream)
> and the amount of fixes in between is large and highly desirable.
> But more importantly, by using the same tarball (+ patches if any) as the
> system
> compiler in older Fedora releases at least for some time (as long as those
> are
> supported) one shares the testing done for the other compilers, bugs reported
> against one can be fixed in the others and vice versa.

Fine, it was more of a curiosity than anything else. Your package after all! Thanks.

Comment 22 Tom Rix 2024-07-10 13:00:26 UTC
I have updated python-torch to use the new names here
https://src.fedoraproject.org/rpms/python-torch/blob/rawhide/f/python-torch.spec#_301
Rawhide builds --with compat_gcc

Comment 23 Jakub Jelinek 2024-07-10 16:22:47 UTC
Updates below:

Spec URL: https://jakub.fedorapeople.org/gcc13/gcc13.spec
SRPM URL: https://jakub.fedorapeople.org/gcc13/gcc13-13.3.1-2.1.fc40.src.rpm

Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=120291744

Will see if that builds.

Typo: "# For VTA guality testing"

This is not a typo, it is a (made up) term used for gcc debug info quality testing (-g quality).

gcc13.spec:152: W: unversioned-explicit-provides bundled(libiberty)

That is intentional, libiberty isn't versioned in any way (and gcc is the master at least for GNU projects).

gcc13.spec:153: W: unversioned-explicit-provides bundled(libbacktrace)

Ditto.

gcc13.spec:154: W: unversioned-explicit-provides bundled(libffi)

While there is upstream libffi, there is divergence between the gcc and upstream libffi version, what exactly is newer
differed many times in the history.  Not that it matters for this package much because libffi is used just in ObjC or Go etc. support.

gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libatomic.a
gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libgcc.a
gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libgcc_eh.a
gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libgcov.a
gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libgomp.a
gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libitm.a
gcc13.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libquadmath.a
gcc13-c++.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libstdc++.a
gcc13-c++.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libstdc++exp.a
gcc13-c++.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libstdc++fs.a
gcc13-c++.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libsupc++.a
gcc13-gfortran.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libcaf_single.a
gcc13-gfortran.x86_64: E: static-library-without-debuginfo /usr/lib/gcc/x86_64-redhat-linux/13/libgfortran.a

That is what the system gcc does normally too, in that case it also provides variants with debug info
in the debuginfo packages, but I think that isn't worth it for this package.

gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/cpp-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcc-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcc-ar-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcc-nm-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcc-ranlib-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcov-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcov-dump-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/gcov-tool-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/lto-dump-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/bin/x86_64-redhat-linux-gcc-13
gcc13.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/cc1
gcc13.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/collect2
gcc13.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/lto-wrapper
gcc13.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/lto1
gcc13-c++.x86_64: W: position-independent-executable-suggested /usr/bin/g++-13
gcc13-c++.x86_64: W: position-independent-executable-suggested /usr/bin/x86_64-redhat-linux-c++-13
gcc13-c++.x86_64: W: position-independent-executable-suggested /usr/bin/x86_64-redhat-linux-g++-13
gcc13-c++.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/cc1plus
gcc13-c++.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/g++-mapper-server
gcc13-gfortran.x86_64: W: position-independent-executable-suggested /usr/bin/gfortran-13
gcc13-gfortran.x86_64: W: position-independent-executable-suggested /usr/libexec/gcc/x86_64-redhat-linux/13/f951

Intentional, PIE slows the compiler too much and doesn't have any benefits for it, there were no exploitable buffer overflows
in the compiler for the last 25 years, I think a single non-exploitable one during that time, compiler is supposed to be
invoked without elevated priviledges and if it is invoked on untrusted random sources, one better sandboxes it and limits it
for compile time as well as memory, because even very small sources can result in weeks long compilation times and consumption
of gigabytes of memory.

gcc13.x86_64: W: no-manual-page-for-binary gcc-ar-13
gcc13.x86_64: W: no-manual-page-for-binary gcc-nm-13
gcc13.x86_64: W: no-manual-page-for-binary gcc-ranlib-13
gcc13.x86_64: W: no-manual-page-for-binary x86_64-redhat-linux-gcc-13

Intentional.

gcc13.x86_64: W: files-duplicate /usr/lib/gcc/x86_64-redhat-linux/13/crtendS.o /usr/lib/gcc/x86_64-redhat-linux/13/crtend.o
gcc13-c++.x86_64: W: files-duplicate /usr/include/c++/13/ext/hash_map /usr/include/c++/13/backward/hash_map
gcc13-c++.x86_64: W: files-duplicate /usr/include/c++/13/ext/hash_set /usr/include/c++/13/backward/hash_set
gcc13-c++.x86_64: W: files-duplicate /usr/include/c++/13/x86_64-redhat-linux/bits/gthr-posix.h /usr/include/c++/13/x86_64-redhat-linux/bits/gthr-default.h

Intentional.

gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/acc_prof.h
gcc13.x86_64: W: devel-file-in-non-devel-package /usr/lib/gcc/x86_64-redhat-linux/13/include/adxintrin.h
...

Intentional.

gcc13.x86_64: E: devel-dependency glibc-devel
gcc13-c++.x86_64: E: devel-dependency libstdc++-devel
gcc13-gfortran.x86_64: E: devel-dependency libquadmath-devel

Intentional.

gcc13.spec:333: W: configure-without-libdir-spec
gcc13.spec:380: W: configure-without-libdir-spec

Intentional.

Comment 24 Fedora Review Service 2024-07-10 21:45:58 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7723000
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2293272-gcc13/fedora-rawhide-x86_64/07723000-gcc13/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 25 Simone Caronni 2024-07-11 05:58:33 UTC
(In reply to Jakub Jelinek from comment #23)
> Updates below:
> 
> Spec URL: https://jakub.fedorapeople.org/gcc13/gcc13.spec
> SRPM URL: https://jakub.fedorapeople.org/gcc13/gcc13-13.3.1-2.1.fc40.src.rpm
> 
> Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=120291744

Saving you the click in Koji: https://kojipkgs.fedoraproject.org//work/tasks/1929/120291929/build.log

RPM build errors:
    Directory not found: /builddir/build/BUILDROOT/gcc13-13.3.1-2.fc40.i386/usr/lib/gcc/i686-redhat-linux/13/plugin
    File not found: /builddir/build/BUILDROOT/gcc13-13.3.1-2.fc40.i386/usr/lib/gcc/i686-redhat-linux/13/plugin/annobin.so
    File not found: /builddir/build/BUILDROOT/gcc13-13.3.1-2.fc40.i386/usr/lib/gcc/i686-redhat-linux/13/plugin/gcc-annobin.so
    File not found: /builddir/build/BUILDROOT/gcc13-13.3.1-2.fc40.i386/usr/lib/gcc/i686-redhat-linux/13/plugin/gcc-annobin.so.0
    File not found: /builddir/build/BUILDROOT/gcc13-13.3.1-2.fc40.i386/usr/lib/gcc/i686-redhat-linux/13/plugin/gcc-annobin.so.0.0.0
Child return code was: 1

Maybe you want as well to rebase the patches?

Patch #0 (gcc13-hack.patch):
+ echo 'Patch #0 (gcc13-hack.patch):'
+ /usr/bin/patch --no-backup-if-mismatch -f -p0 -b --suffix .hack~ --fuzz=0
patching file libada/Makefile.in
Hunk #1 succeeded at 73 (offset 2 lines).
Hunk #2 succeeded at 118 (offset 3 lines).
patching file config-ml.in
Hunk #1 succeeded at 522 (offset 11 lines).
patching file libcpp/macro.cc
Hunk #1 succeeded at 3572 (offset 316 lines).
Hunk #2 succeeded at 3699 (offset 319 lines).
Hunk #3 succeeded at 3716 (offset 319 lines).
patching file libcpp/expr.cc
Hunk #1 succeeded at 813 (offset 10 lines).
Patch #3 (gcc13-libgomp-omp_h-multilib.patch):
+ echo 'Patch #3 (gcc13-libgomp-omp_h-multilib.patch):'
+ /usr/bin/patch --no-backup-if-mismatch -f -p0 -b --suffix .libgomp-omp_h-multilib~ --fuzz=0
patching file libgomp/omp.h.in
Hunk #1 succeeded at 52 (offset 10 lines).
Patch #4 (gcc13-libtool-no-rpath.patch):
+ echo 'Patch #4 (gcc13-libtool-no-rpath.patch):'
+ /usr/bin/patch --no-backup-if-mismatch -f -p0 -b --suffix .libtool-no-rpath~ --fuzz=0
patching file ltmain.sh
Hunk #1 succeeded at 7103 (offset 1709 lines).
Hunk #2 succeeded at 7799 (offset 1727 lines).
Hunk #3 succeeded at 7851 (offset 1729 lines).
Patch #8 (gcc13-no-add-needed.patch):
+ echo 'Patch #8 (gcc13-no-add-needed.patch):'
+ /usr/bin/patch --no-backup-if-mismatch -f -p0 -b --suffix .no-add-needed~ --fuzz=0
patching file gcc/config/alpha/elf.h
Hunk #1 succeeded at 142 (offset -26 lines).
patching file gcc/config/ia64/linux.h
patching file gcc/config/gnu-user.h
Patch #9 (gcc13-Wno-format-security.patch):
+ echo 'Patch #9 (gcc13-Wno-format-security.patch):'
+ /usr/bin/patch --no-backup-if-mismatch -f -p0 -b --suffix .Wno-format-security~ --fuzz=0
patching file gcc/configure.ac
Hunk #1 succeeded at 593 (offset 23 lines).
patching file gcc/configure
Hunk #1 succeeded at 7118 (offset 41 lines).
patching file Makefile.tpl
patching file Makefile.in
Patch #10 (gcc13-rh1574936.patch):
+ echo 'Patch #10 (gcc13-rh1574936.patch):'
+ /usr/bin/patch --no-backup-if-mismatch -f -p0 -b --suffix .rh1574936~ --fuzz=0
patching file libgcc/config/t-linux
+ echo 'Red Hat 13.3.1-2'

Otherwise as soon as it builds properly for me it's approved. Thanks!

Comment 26 Jakub Jelinek 2024-07-11 06:36:57 UTC
(In reply to Simone Caronni from comment #25)
> (In reply to Jakub Jelinek from comment #23)
> > Updates below:
> > 
> > Spec URL: https://jakub.fedorapeople.org/gcc13/gcc13.spec
> > SRPM URL: https://jakub.fedorapeople.org/gcc13/gcc13-13.3.1-2.1.fc40.src.rpm
> > 
> > Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=120291744
> 
> Saving you the click in Koji:
> https://kojipkgs.fedoraproject.org//work/tasks/1929/120291929/build.log

Yeah, I've noticed that last night and started a new scratch build with
-rm -rf $FULLPATH/plugin || :
+rm -rf $FULLPATH/plugin/gtype.state || :
+rm -rf $FULLPATH/plugin/include || :

That succeeded on aarch64:
https://koji.fedoraproject.org/koji/taskinfo?taskID=120298217
but failed on all other arches due to some koji failure, so I'm now trying again
https://koji.fedoraproject.org/koji/taskinfo?taskID=120307892

> Maybe you want as well to rebase the patches?

I'd prefer if the tarballs and patches are identical between the system gcc (this time for f39) and these compat packages, so yes, I can rebase it, but would rebase it in
https://src.fedoraproject.org/rpms/gcc/commits/f39
first.

> Otherwise as soon as it builds properly for me it's approved. Thanks!

Thanks.

Comment 27 Fedora Admin user for bugzilla script actions 2024-07-11 21:51:05 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/gcc13


Note You need to log in before you can comment on or make changes to this bug.