public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "adhemerval.zanella at linaro dot org" <sourceware-bugzilla@sourceware.org>
To: glibc-bugs@sourceware.org
Subject: [Bug build/29456] missing DT_HASH section in shared objects
Date: Fri, 12 Aug 2022 13:17:57 +0000	[thread overview]
Message-ID: <bug-29456-131-MYUYtsiSAw@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-29456-131@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=29456

--- Comment #14 from Adhemerval Zanella <adhemerval.zanella at linaro dot org> ---
(In reply to Arkadiusz Hiler from comment #13)
> > Does it also prevent us to add another possible HASH scheme in the future, taking that EAC might break if it does see a DT_GNU_HASH?
> 
> The breakage here is not related to having DT_GNU_HASH, it's related to
> missing DT_HASH. I don't see how this is relevant.
> 
> 
> 
> There were two more breakages caused by dropping DT_HASH:
> 
> A native game - Shovel Knight:
> https://github.com/ValveSoftware/Proton/issues/6051#issuecomment-1212748397
> 
> Framerate limiter for OpenGL - libstrangle:
> https://bugs.gentoo.org/863863

It is relevant because we are discussing if it is reasonable to GNU ABI ELF
extension to keep DT_HASH mandatory.  From generic ABI discussion [1], it seems
that other mantainers seem reasonable to make DT_HASH optional if DT_GNU_HASH
is present on GNU objects, although some are not confortable on making it
optional for generic ABI (which is not the case anyway).

As Carlos has summarized [2], DT_GNU_HASH is the *de facto* standard hash
scheme for GNU and it has been used on distro deployments for over 16 years.
The generic ABI discussion has raises some missing spots where DT_GNU_HASH does
not cover (the total symbol list size) which generates another gABI discussion
to add a new dynamic section type [3].

>  Shifting responsibility on downstream to maintain compatibility with something
> that glibc provided for years as the default and there are now users of it
> is not really feasible.

And it is already being done anyway [5], since for such cases compatibility is
being done to revert upstream patches anyway instead of work on vendors to
adapt their code to a decade-old standard. 

So I tend to agree that if DT_HASH compatibility is really required, it would
be better to provide it as the default static linker option used to build glibc
(so you also ensure that all installed shared object does have it) as Gentoo is
doing [4].

[1] https://groups.google.com/g/generic-abi/c/th5919osPAQ
[2] https://sourceware.org/pipermail/libc-alpha/2022-August/141304.html
[3] https://groups.google.com/g/generic-abi/c/9L03yrxXPBc
[4] https://sourceware.org/pipermail/libc-alpha/2022-August/141312.html
[5] https://sourceware.org/pipermail/libc-alpha/2022-August/141313.html

-- 
You are receiving this mail because:
You are on the CC list for the bug.

  parent reply	other threads:[~2022-08-12 13:17 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-08  9:10 [Bug build/29456] New: " arek at hiler dot eu
2022-08-08  9:39 ` [Bug build/29456] " mikhail.v.gavrilov at gmail dot com
2022-08-08 10:45 ` fweimer at redhat dot com
2022-08-08 11:33 ` arek at hiler dot eu
2022-08-08 12:01 ` fweimer at redhat dot com
2022-08-08 12:43 ` adhemerval.zanella at linaro dot org
2022-08-08 14:34 ` arek at hiler dot eu
2022-08-08 14:45 ` fweimer at redhat dot com
2022-08-08 14:49 ` adhemerval.zanella at linaro dot org
2022-08-08 15:08 ` arek at hiler dot eu
2022-08-08 15:29 ` adhemerval.zanella at linaro dot org
2022-08-08 16:49 ` arek at hiler dot eu
2022-08-08 17:13 ` adhemerval.zanella at linaro dot org
2022-08-08 17:32 ` adhemerval.zanella at linaro dot org
2022-08-08 19:58 ` sam at gentoo dot org
2022-08-08 19:58 ` sam at gentoo dot org
2022-08-09 16:12 ` freswa at archlinux dot org
2022-08-12  7:46 ` arek at hiler dot eu
2022-08-12 13:17 ` adhemerval.zanella at linaro dot org [this message]
2022-08-14 21:33 ` hi-angel at yandex dot ru
2022-08-24  4:12 ` i at maskray dot me
2022-08-24  8:28 ` rguenth at gcc dot gnu.org
2022-08-24  8:56 ` fweimer at redhat dot com
2022-08-24  8:57 ` mliska at suse dot cz
2023-08-11 15:40 ` es20490446e at gmail dot com
2023-08-11 15:58 ` carlos at redhat dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-29456-131-MYUYtsiSAw@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=glibc-bugs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).