Your message dated Thu, 22 Sep 2022 23:13:51 +0000
with message-id <e1obvob-00exa9...@fasolo.debian.org>
and subject line Bug#996598: fixed in glibc 2.36-1
has caused the Debian Bug report #996598,
regarding [ld][glibc]: Adopt SHT_RELR/DT_RELR to decrease PIE and shared object
size
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
996598: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=996598
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: glibc
Severity: wishlist
Tags: upstream
X-Debbugs-Cc: sylves...@debian.org
The SHT_RELR/DT_RELR format encodes relative relocations in a very efficient
way (quite usually takes just 3% or smaller space).
The size optimization can greatly decrease the virtual memory size of PIE and
shared objects with many R_*_RELATIVE relocations.
E.g. The clang executable's virtual memory size is 8.2% smaller with
SHT_RELR/DT_RELR. The size varies across projects, but I anticipate at least 5%
decrease for most projects.
% ~/projects/bloaty/Release/bloaty clang.pie.relr -- clang.pie
FILE SIZE VM SIZE
-------------- --------------
[NEW] +163Ki [NEW] +163Ki .relr.dyn
+4.9% +32 +5.4% +32 .dynamic
+2.5% +8 [ = ] 0 .shstrtab
-99.5% -13.8Mi -99.5% -13.8Mi .rela.dyn
-8.3% -13.6Mi -8.2% -13.6Mi TOTAL
The SHT_RELR/DT_RELR relocation format requires linker and loader support.
* On the linkder side, ld.lld has supported .relr.dyn/SHT_RELR/DT_RELR
(`--pack-dyn-relocs=relr`) for a long time and the support has been stable
since 2019-09 (after I fixed an address oscillating bug).
* On the loader (glibc ld.so) side, a patch exists
https://sourceware.org/pipermail/libc-alpha/2021-October/131768.html
but lack of GNU ld support may impede its adoption among Linux distributions.
User support is also important to push the patch forward. (ia64 according to
folks isn't an issue. glibc doesn't implement ELFCLASS32 for ia64 AFAICT.)
(
Worth noting that the Linux kernel's arm64 port supports SHT_RELR/DT_RELR since
2019.
ChromeOS has maintained a local glibc patch since around 2018.)
So I file this ticket seeking for support (comment on
https://sourceware.org/bugzilla/show_bug.cgi?id=27924). I hope that with
sufficient attention from users,
someone (e.g. a GNU ld maintainer) will eventually stand up and implement
`--pack-dyn-relocs=relr` for GNU ld
(https://sourceware.org/bugzilla/show_bug.cgi?id=27923).
Even in the absence of GNU ld support, I hope glibc can accept the DT_RELR
patch, so that ld.lld users can use `--pack-dyn-relocs=relr`.
See also Gentoo: https://bugs.gentoo.org/818376 Fedora:
https://bugzilla.redhat.com/show_bug.cgi?id=2014699 Arch Linux:
https://bugs.archlinux.org/task/72433
--- End Message ---
--- Begin Message ---
Source: glibc
Source-Version: 2.36-1
Done: Aurelien Jarno <aure...@debian.org>
We believe that the bug you reported is fixed in the latest version of
glibc, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 996...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Aurelien Jarno <aure...@debian.org> (supplier of updated glibc package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Thu, 22 Sep 2022 22:23:11 +0200
Source: glibc
Architecture: source
Version: 2.36-1
Distribution: experimental
Urgency: medium
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Changed-By: Aurelien Jarno <aure...@debian.org>
Closes: 781715 996598 1004577
Changes:
glibc (2.36-1) experimental; urgency=medium
.
[ Aurelien Jarno ]
* New upstream release:
- Support for DT_RELR relative relocation format has been added. Closes:
#996598.
- The Linux kernel version check has been removed. Closes: #781715,
#1004577.
- debian/symbols.wildcard: add 2.36 and GLIBC_ABI_DT_RELR.
- debian/patches/localedata/sort-UTF8-first.diff: rebased.
- debian/patches/localedata/supported.diff: rebased.
- debian/patches/arm/unsubmitted-ldso-multilib.diff: rebased.
- debian/patches/hurd-i386/git-spawni-reauth.diff: upstreamed.
- debian/patches/hurd-i386/pthread_key.diff: upstreamed.
- debian/patches/kfreebsd/submitted-waitid.diff: dropped. kfreebsd
specific changes moved to debian/patches/kfreebsd/local-sysdeps.diff.
- debian/patches/kfreebsd/local-config_h_in.patch: rebased.
- debian/patches/kfreebsd/local-getaddrinfo-freebsd-kernel.diff: rebased.
- debian/patches/all/local-remove-manual.diff: rebased.
- debian/patches/any/local-ldso-disable-hwcap.diff: rebased.
- debian/patches/any/unsubmitted-ldso-machine-mismatch.diff: rebased.
- debian/patches/any/submitted-resolv-unaligned.diff: upstreamed.
- debian/patches/hurd-i386/local-fix-nss.diff: rebased.
- debian/patches/hurd-i386/local-no-bootstrap-fs-access.2.diff: rebased.
.
[ Samuel Thibault ]
* debian/testsuite-xfail-debian.mk: Update tests results for hurd-i386.
Checksums-Sha1:
42153796cedd3511957ea5621a9ab89fd5301b4d 9679 glibc_2.36-1.dsc
d034128a6116dcf9e76c92f898ec63f4f4e65786 19363988 glibc_2.36.orig.tar.xz
27a822a7c20d1e9c534ef43f259dbd50c9192348 807616 glibc_2.36-1.debian.tar.xz
8331b65015d31d73d7a7ad102e1f7667dc43662a 9567 glibc_2.36-1_source.buildinfo
Checksums-Sha256:
a3ef663a56bdf3fa3a0c07ce665edd650e4c7d5897e201eba775ceeffa93fab1 9679
glibc_2.36-1.dsc
a543c02070d46ccaf866957efd13f10c924daa74c86a90a0254db09a92a708ee 19363988
glibc_2.36.orig.tar.xz
b19408b4f8780ee9c40e1ba6ba17e0b6bfc1007fb4a668784dce77d6bc87f516 807616
glibc_2.36-1.debian.tar.xz
bd1df4ee606e46ba5b67230eced1a93bec5ca278a558c77f162a9edde44aceee 9567
glibc_2.36-1_source.buildinfo
Files:
dbf98687737cd10090ab5d3567bc1733 9679 libs required glibc_2.36-1.dsc
b2b0246bc50781a2243f8141feeb1bf4 19363988 libs required glibc_2.36.orig.tar.xz
5935c135f2ac1afe0bbec46a3c758acf 807616 libs required
glibc_2.36-1.debian.tar.xz
74d6e6af9a8c71bc4df15256cba215c9 9567 libs required
glibc_2.36-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEUryGlb40+QrX1Ay4E4jA+JnoM2sFAmMsx7kACgkQE4jA+Jno
M2szmQ/9GKpKoy+w73uz7jJl9gxxtKjFZo1q103jjRXMviFgX3KbbmWZl2wNOM5N
gPflh/5gLS6cBmEJhRoOXR42uldBiNkLigYGdfDul9+lX0PckcoIYC0pE/a+5/dC
+iCTus22eLq412vWvKipxwXaisSnt1RNg7UwtLosnlDJehvQFGC3SzANMw8RgQPr
GpUQaSYHJJnx0bx9gZUgcNJzMNUzFVaealQID18I0vWqS3Ui1szTva/esLL6iFN0
yMuYTYdYTjhkul6X8Wz00OaWLwkPrS3H2A7Wywm1myNih+e6PRILkMrgFvMzpPaK
OJhjhh4cAO2+v3lDKGWPugsUGPGPzd2OixHU9Lb6vwO/GAHx9Gw0b5+cik7tYkHF
wmZSHudqntfF8kuJQ0P2jkeH8J0yKX+tTg+jhaR0tYZNvcxnZla0IZhygXZUVQWj
LKb4yW/8BpeVQlvvD+M6GeMvRal9iX1Ci0afFb/TBNeCgg3um9UiCYzaaLWGoEkO
e1x1bgQY7thxmAoQec5DCDKo1tYIMZeU4cvc6ojfbEdGejPDVlMSDu1A4BbMLsdQ
z9n6nH6OVy0SNikZUhdTzI5JwqwItpd4GdCX8XKZj5GKdhKLnGcGgPfjojDgwYg3
hgS6D8/nUeJ1ElW2waQRt2FFlvkUCBjYZn1n4+CRGX+4/AeHy1s=
=jG2P
-----END PGP SIGNATURE-----
--- End Message ---