GCC for x86_64 includes 32-bit multilib support, requiring a 32-bit
glibc to be present when GCC is built. That 32-bit glibc cannot come
from an i686 RPM because of limitations in Koji, so there is a hack
including a glibc32 "source" package that actually contains binaries
from an i686 build (and thus needs additional manual update steps).
Set up glibc.spec to build a glibc32 binary package directly when
building for x86_64, so avoiding the need for the separate glibc32
source package. This improvement is tracked in
<https://fedoraproject.org/wiki/Changes/glibc32_Build_Adjustments> and
<https://bugzilla.redhat.com/show_bug.cgi?id=1598524>.
The list of files in the glibc32 package has been compared to that in
the previous package (the gnu/lib-names-32.h header is added, as its
previous omission appears to be a bug). And the lists of files in the
other packages built from glibc.spec have also been compared before
and after this change, to make sure there aren't inappropriate changes
to those lists.
(cherry picked from commit e025effd84d415d98dcebbc97cdf03e6e44465b8)
Exclude the /sys-root/ tree in various places and prevent
debuginfo extract and dependency generation.
Forward-port of the feature from Fedora 35, with subsequent fixes:
Add kernel header files, and do not use = in linker scripts.
This commit fixes wrap-find-debuginfo.sh so that:
* the .gnu_debuglink section of libc.so.6 is retained, and
* the redundant debuginfo file generated for ld.so is removed
Co-Authored-By: Benjamin Herrenschmidt <benh@amazon.com>
Reviewed-by: Florian Weimer <fweimer@redhat.com>
Apparently, debugedit changes the build ID, so the separated debuginfo
no longer matches the specially crafted copy of libc.so.6 with its
minimal .symtab.
This adds patches proposed upstream to enable downgrades across
major glibc versions.
File list construction and the find-debuginfo.sh wrapper had
to be adjusted to cope with the changed file name patterns.
This needs a wrapper script around find-debuginfo.sh, so that
ld.so is not stripped.
This commit resolves debuginfo file conflicts (#1886295) because
the ldconfig debuginfo file now includes the architecture name.
All debugging information is preserved in ld.so (#1905611). With
the distribution defaults, we strip all binaries again (#1661510).