Re: glibc 2.36 and DT_HASH (preserving it for F37+)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Aug 21, 2022 at 9:19 AM Jan Drögehoff <sentrycraft123@xxxxxxxxx> wrote:
>
>
> On 8/21/22 12:44, Jakub Jelinek wrote:
> > On Sun, Aug 21, 2022 at 12:05:11PM +0200, Jan Drögehoff wrote:
> >>> It's Epic's fault. They must update their anti-cheat to use the modern
> >>> API.
> >> More reports have come out claiming this also affects the game Shovel
> >> Knight[2] and the open source library libstrangle[3], there is the non 0
> >> chance that there are more programs out there in the wild that this will
> >> break.
> >>
> >> It feels irresponsible of the glibc maintainers to suddenly respect the
> >> toolchains desired hash type when they haven't for years and then do it with
> >> little to no announcement resulting in broken software
> > To be precise, everything in Fedora except glibc is only built with
> > DT_GNU_HASH and no DT_HASH since July 2006, glibc has been an exception
> > that has been built with both because of statically linked programs from 16+
> > years ago that wouldn't support it.
>
> I think its worth putting an emphasis on the fact that this was glibc
> intentionally ignoring the toolchain hash type and simply going with
> both and not something Fedora explicitly decided to do.
>
> > If all they want is be able to interpose dlsym, they could just use
> > dlvsym to look up the original sym, instead of diving into the hash tables.
>
> I do not think the change on glibcs part is bad, the hack was terrible
> to begin with
> but removing it broke the ABI and the lack of any announcement of it
> beforehand is now causing problems that distro maintainers and software
> developers have to deal with

Right. To make matters worse, *nobody* outside of the glibc developers
knew DT_HASH was deprecated for the GNU ELF ABI. And DT_GNU_HASH isn't
specified anywhere that I found. Additionally, given that DT_HASH is
currently mandatory in the SysV ABI (which is what Linux uses), it's
clear there's a documentation problem.

I don't disagree that glibc should respect what distros set, I'm just
asking us to build glibc with a DT_HASH table added until a formal
deprecation/retirement cycle is done with all stakeholders aware of
the change and everyone aware of the consequences of such a breakage.



-- 
真実はいつも一つ!/ Always, there's only one truth!
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux