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