Commit Graph

15 Commits

Author SHA1 Message Date
Florian Weimer
7749ea58a9 Hard-code ld.so paths for all architectures
This supports multiple ld.so files in a cleaner way.  Also
forward-port multiple libc.so.6 file handling in
wrap-find-debuginfo.sh from downstream.  This also incorporates
the “nm --format=posix“ change from #2115831 downstream.

Co-authored-by: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
2024-04-14 17:11:20 +02:00
Joseph Myers
e025effd84 Build glibc32 binary package from glibc sources as part of x86_64 build
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.
2024-03-14 15:40:51 +00:00
Florian Weimer
0bd93c5697 Add noarch sysroot subpackages
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.
2024-01-31 17:27:51 +01:00
Florian Weimer
4c6fa526bf Do not require .annobin symbols in wrap-find-debuginfo.sh 2022-09-23 10:01:43 +02:00
Florian Weimer
b400cead41 Remove .annobin* symbols from ld.so (#2126477) 2022-09-14 13:59:13 +02:00
Florian Weimer
6c17684392 Use a temporary directory in wrap-find-debuginfo.sh
This avoids the need for separate variables for all files.
2022-09-14 12:25:33 +02:00
Arjun Shankar
8e2d77f734 Retain libc.so.6 debuglink section, remove ld.so debuginfo file (#2090744)
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>
2022-09-05 16:24:44 +02:00
Florian Weimer
5b63da3fa5 Further .symtab adjustment: Keep all __GI_* symbols (#1975859) 2021-06-28 09:29:49 +02:00
Florian Weimer
4f2dd301cc Keep most of .symtab in libc.so.6 (#1975859) 2021-06-28 07:49:20 +02:00
Florian Weimer
14d5c92a57 Redo the crafted libc.so.6 symbol table for valgrind (#1965374) 2021-06-17 14:48:39 +02:00
Florian Weimer
654f636b32 Remove .symtab from libc.so.6 again (#1965374)
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.
2021-06-17 10:31:26 +02:00
Florian Weimer
027b24e17f Preserve some symbols in libc.so.6's symtab (#1965374) 2021-06-15 17:09:29 +02:00
Florian Weimer
fd5c07ba69 Install shared objects under their ABI names, avoiding symlinks (#1652867)
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.
2021-06-15 14:26:40 +02:00
Florian Weimer
79751685db wrap-find-debuginfo.sh: Enable separate debugedit program 2021-05-21 16:22:23 +02:00
Florian Weimer
8d4b53ceef Switch to the distribution debuginfo generation mechanism
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).
2021-05-11 17:30:04 +02:00