Github messages for voidlinux
 help / color / mirror / Atom feed
From: TeusLollo <TeusLollo@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: gcc: update to 12.2.0.
Date: Sat, 24 Sep 2022 17:16:35 +0200	[thread overview]
Message-ID: <20220924151635.NxdVvRZPuc_noVo7QUVNvDx2lB8GejmK4-naWF_4oX8@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-34902@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 6806 bytes --]

New comment by TeusLollo on void-packages repository

https://github.com/void-linux/void-packages/pull/34902#issuecomment-1256992328

Comment:
> And therein lies the rub, right? The ideal solution would be for EAC to be updated, but that just isn't gonna happen. Perhaps even worse, some games using EAC may be done updating permanently, and depending on how they built/linked EAC, they may _never_ incorporate this hypothetical upgrade. In other words, Steam in Flatpak might be the only effective, permanent solution to this bug… which drives me nuts, because I'm stubborn and I won't touch Flatpak with a 10 ft pole if I can help it

**As I said, I'm not trying to be dismissive of the problem. But look at this:**

_Did glibc 2.36 need a release note about dropped -Wl,--hash-style=both? Game users affected by the problem might argue that this was a high profile change and a deprecation or warning notice was needed. I disagree.
I beg that you read Carlos's summary. DT_HASH is a protocol between a linker and a dynamic loader. It is not intended to be consumed by a random non-standard ELF consumer. In addition, 16 years have been sufficiently long for any non-standard ELF consumer to know that DT_HASH has been mostly eliminated from Linux distributions. The glibc change removed one remnant DT_HASH use. It really was not as impactful as other changes in glibc 2.36._

**16 YEARS in deprecation. 
And what's more, is that's now even a proper ABI component, more of an ABI detail whatsoever:**

_Is DT_HASH optional in the generic ABI?_

_If one reads much from the generic ABI wording, it says "mandatory", and therefore it is not optional. Does this make sense?_

_Technically a dynamic loader does not need a hash table to perform symbol lookup. It can start at the dynamic symbol table beginning specified by DT_SYMTAB, and scan to the end. Wait, in the absence of DT_HASH (DT_GNU_HASH is an extension, we want a way without an extension), there is no reliable way to get the number of dynamic symbol table entries. I tend to think this is outside of the generic ABI's business to require something. An ELF object can freely use an extension to provide the information. Specifying things in such a verbatim way is not ELF's spirit. Michael Matz disagrees in a [reply](https://groups.google.com/g/generic-abi/c/th5919osPAQ/m/uGSA05KIAgAJ) to "Making DT_HASH optional?"._

**Source :** https://maskray.me/blog/2022-08-21-glibc-and-dt-gnu-hash

I don't think glibc developers were in the wrong here. There was plenty of time to dismiss deprecated code segments. In fact, had they done this before, none of that would have happened at this scale. 

But, do we really want to shift the burden of maintenance from giant entertainment companies who really should be doing due to their own financial interests, to mostly volunteer-run distros which now should either hold back upgrades, or otherwise fork the glibc to patch-in ancient code segments deprecated since decades? I know the Linux market segment is abysmal in the video-game department, but we're still talking about companies with giant revenues, who apparently don't want to hire a college graduate for a week/month to fix very simple problems on time. 

Maybe we could use xbps-alternatives to import and package from whoever will be doing the patching on the glibc 2.36 with such a "legacy" component, and whoever needs the patched glibc package, uses that, while the rest resides into the "vanilla" glibc 2.36? Not very elegant, and probably prone to breakage, but it still requires a maintainer on the Void Linux side.  

Or maybe the Proton devs will come up with a shim of sort? Sounds really like their thing, after all. 
Or maybe the Steam-client could finally be recompiled in a 64-bit x86_64 architecture, and packaged into a decent AppImage? I mean, they bothered with Flatpak, why not AppImage? Licensing issues, I presume?

**All I'm saying is, the problem is downstream. VERY downstream.** 
Holding back the glibc upgrades now (And probably further future upgrades next year, by the looks of it, since who should be doing it does not seem to care about updating their EAC software) will just multiply concerns for Void Linux maintainers who do this for free. 

Who knows what will happen next year on the gcc, and how it may react with the older glibc 2.35 if we get stuck on that because of EAC woes? What further software will break and will need dedicated patching? What if it stresses Void Linux maintainers too much, and sends the whole distro in a downward spiral? And lastly, do we really want to force ALL users to stick on the glibc 2.35, and deprive them of increased performance and security benefits which the glibc 2.36 provides? All because ONE company refuses to upgrade a VERY DOWNSTREAM piece of software?

I'm pleased to see gaming on Linux, and on Void Linux particularly (I mean, gaming beyond the good old DOOM sourceports and the like). But in this case, holding back feels like it could damage the entire distro. We're already a bit behind (Not by much, but still) on gcc/glibc upgrades for a "rolling", albeit "stable", distro. See how much work has been required, on this very thread, to update the gcc/glibc. Do we want to throw out all of those efforts because a giant company refuses to update software it should update, in their very interests to do so?

Gaming, or more like, "Mainstream" gaming on Linux is clearly still on its infancy, and although it has been making giant leaps in the past 5 years (Thanks to Valve, that should be admitted), it still has ways to go, clearly. 

For now, I indicated the usage of Flatpak (Which neither myself like, mind you, ESPECIALLY with the Steam-client) which appears to be a functional if cumbersome workaround. Maybe an AppImage would work even better, assuming it can be assembled at all due to licensing requirements?

But, the work on the gcc/glibc upgrades should continue, regardless. We can't just throw out all those efforts now, and further risk multiple headaches and performance/security concerns down the line on ALL software for ALL users, just because ONE company refuses to update their entertainment products. 

You're very welcome to say that I probably am concerned about the glibc 2.36 update because of personal reasons (Which is true, albeit marginally so for now), but I still stand by the wall of text above that I have indicated objective arguments. 

**I believe we should find workarounds to the EAC problem, but work on the gcc/glibc updating should continue undisturbed to the benefit of ALL users, due to maintainability, performance, and security concerns solved by the glibc 2.36 update, while sticking with glibc 2.35 instead would be detrimental to the entire distro.** 


  parent reply	other threads:[~2022-09-24 15:16 UTC|newest]

Thread overview: 266+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-06  6:15 [PR PATCH] gcc: update to 11.2.1git20211128 Oreo639
2022-01-26 19:41 ` dkwo
2022-01-26 22:12 ` oreo639
2022-01-26 23:16 ` oreo639
2022-01-26 23:16 ` [PR PATCH] [Updated] " oreo639
2022-01-26 23:25 ` oreo639
2022-01-26 23:25 ` oreo639
2022-02-16 21:18 ` lane-brain
2022-02-17  1:56 ` oreo639
2022-02-17  1:56 ` oreo639
2022-04-14  2:41 ` oreo639
2022-07-14  2:13 ` github-actions
2022-07-17 17:44 ` motorto
2022-07-17 17:45 ` motorto
2022-08-12 13:29 ` [PR PATCH] [Updated] " oreo639
2022-08-13  6:32 ` [PR PATCH] [Updated] gcc: update to 12.1.0 oreo639
2022-08-13  6:49 ` oreo639
2022-08-15  2:24 ` oreo639
2022-08-15  2:31 ` oreo639
2022-08-15  3:20 ` oreo639
2022-08-15  5:58 ` oreo639
2022-08-15  8:14 ` oreo639
2022-08-15  8:17 ` oreo639
2022-08-15  8:20 ` oreo639
2022-08-15  8:20 ` oreo639
2022-08-15 20:12 ` lane-brain
2022-08-15 21:48 ` [PR PATCH] [Updated] " oreo639
2022-08-16  1:01 ` oreo639
2022-08-16  1:55 ` oreo639
2022-08-18 23:23 ` oreo639
2022-08-19  0:22 ` oreo639
2022-08-19  5:51 ` oreo639
2022-08-19  5:57 ` oreo639
2022-08-19  5:58 ` oreo639
2022-08-20 18:30 ` oreo639
2022-08-21 22:46 ` oreo639
2022-08-23  3:27 ` oreo639
2022-08-23  4:02 ` oreo639
2022-08-23  6:30 ` oreo639
2022-08-23 19:37 ` oreo639
2022-08-24  5:45 ` oreo639
2022-08-24  8:04 ` oreo639
2022-08-24  8:05 ` oreo639
2022-08-24  8:06 ` oreo639
2022-08-24 11:11 ` dkwo
2022-08-24 16:56 ` dkwo
2022-08-24 19:44 ` [PR PATCH] [Updated] " oreo639
2022-08-24 20:43 ` oreo639
2022-08-24 20:52 ` oreo639
2022-08-24 23:42 ` [PR PATCH] [Updated] gcc: update to 12.2.0 oreo639
2022-08-24 23:58 ` oreo639
2022-08-25  0:00 ` oreo639
2022-08-25  2:33 ` oreo639
2022-08-25  4:02 ` oreo639
2022-08-25  9:01 ` oreo639
2022-08-25  9:03 ` oreo639
2022-08-25  9:04 ` oreo639
2022-08-25  9:04 ` oreo639
2022-08-25  9:05 ` oreo639
2022-08-25  9:48 ` dkwo
2022-08-25 21:42 ` [PR PATCH] [Updated] " oreo639
2022-08-25 23:49 ` oreo639
2022-08-25 23:52 ` oreo639
2022-08-25 23:58 ` [PR PATCH] [Updated] " oreo639
2022-08-26 10:54 ` leahneukirchen
2022-08-26 20:31 ` [PR PATCH] [Updated] " oreo639
2022-08-28 22:23 ` oreo639
2022-09-03  4:18 ` oreo639
2022-09-03  5:51 ` oreo639
2022-09-03  5:53 ` oreo639
2022-09-06 18:52 ` oreo639
2022-09-08 12:47 ` dkwo
2022-09-08 21:54 ` [PR PATCH] [Updated] " oreo639
2022-09-08 21:55 ` oreo639
2022-09-08 22:07 ` oreo639
2022-09-09  0:26 ` oreo639
2022-09-09  0:27 ` oreo639
2022-09-09  0:29 ` oreo639
2022-09-09  5:53 ` oreo639
2022-09-09  6:01 ` [PR PATCH] [Updated] " oreo639
2022-09-10 19:28 ` oreo639
2022-09-13 22:24 ` oreo639
2022-09-14  5:37 ` oreo639
2022-09-14 10:53 ` oreo639
2022-09-15  9:13 ` xfervi
2022-09-15  9:17 ` oreo639
2022-09-15  9:20 ` oreo639
2022-09-15  9:21 ` [PR PATCH] [Updated] " oreo639
2022-09-15  9:22 ` oreo639
2022-09-15  9:24 ` oreo639
2022-09-15  9:24 ` oreo639
2022-09-15  9:26 ` oreo639
2022-09-15  9:27 ` oreo639
2022-09-15  9:30 ` oreo639
2022-09-15  9:31 ` oreo639
2022-09-15  9:31 ` oreo639
2022-09-15  9:48 ` [PR PATCH] [Updated] " oreo639
2022-09-15 18:28 ` TeusLollo
2022-09-15 18:29 ` TeusLollo
2022-09-16  4:39 ` xfervi
2022-09-16  4:40 ` xfervi
2022-09-16  4:40 ` xfervi
2022-09-16  4:41 ` xfervi
2022-09-16  4:44 ` oreo639
2022-09-16  4:50 ` oreo639
2022-09-16  4:50 ` oreo639
2022-09-16  4:56 ` oreo639
2022-09-16  5:03 ` xfervi
2022-09-16  5:05 ` oreo639
2022-09-16  5:06 ` oreo639
2022-09-16  5:08 ` oreo639
2022-09-16  5:10 ` xfervi
2022-09-16 12:40 ` xfervi
2022-09-17  3:52 ` [PR PATCH] [Updated] " oreo639
2022-09-23  1:21 ` Seltyk
2022-09-23  1:24 ` Seltyk
2022-09-23  1:39 ` Seltyk
2022-09-23  1:42 ` oreo639
2022-09-23  1:44 ` oreo639
2022-09-23  1:44 ` oreo639
2022-09-23  1:46 ` oreo639
2022-09-23  1:53 ` oreo639
2022-09-23  2:38 ` oreo639
2022-09-23  2:56 ` oreo639
2022-09-23  2:57 ` oreo639
2022-09-23 13:41 ` TeusLollo
2022-09-24  4:01 ` Seltyk
2022-09-24  4:02 ` Seltyk
2022-09-24 15:16 ` TeusLollo [this message]
2022-09-24 15:20 ` SolitudeSF
2022-09-24 15:26 ` TeusLollo
2022-09-24 17:50 ` Seltyk
2022-09-24 17:50 ` Seltyk
2022-09-24 20:04 ` oreo639
2022-09-24 20:05 ` oreo639
2022-09-24 20:59 ` TeusLollo
2022-09-25  0:11 ` oreo639
2022-09-25  0:11 ` oreo639
2022-09-25  0:12 ` oreo639
2022-09-25  0:14 ` oreo639
2022-09-25  0:14 ` oreo639
2022-09-25  0:20 ` oreo639
2022-09-25  0:52 ` TeusLollo
2022-09-25  1:33 ` [PR PATCH] [Updated] " oreo639
2022-09-26 22:46 ` JamiKettunen
2022-09-26 22:47 ` JamiKettunen
2022-09-26 22:50 ` oreo639
2022-09-26 23:03 ` JamiKettunen
2022-09-26 23:03 ` JamiKettunen
2022-10-02 23:47 ` [PR PATCH] [Updated] " oreo639
2022-10-03  2:51 ` oreo639
2022-10-03  6:26 ` oreo639
2022-10-03  6:32 ` oreo639
2022-10-04  8:43 ` oreo639
2022-10-04 10:54 ` oreo639
2022-10-04 11:02 ` oreo639
2022-10-04 11:09 ` oreo639
2022-10-04 20:04 ` paper42
2022-10-05  4:27 ` oreo639
2022-10-05  4:28 ` oreo639
2022-10-05  8:40 ` [PR PATCH] [Updated] " oreo639
2022-10-06 20:29 ` paper42
2022-10-06 21:31 ` oreo639
2022-10-06 21:36 ` oreo639
2022-10-07  9:11 ` paper42
2022-10-08  0:10 ` ayoubelmhamdi
2022-10-08  0:12 ` oreo639
2022-10-08 10:57 ` [PR REVIEW] " Duncaen
2022-10-08 19:57 ` paper42
2022-10-08 21:03 ` [PR PATCH] [Updated] " oreo639
2022-10-08 21:03 ` [PR REVIEW] " oreo639
2022-10-09  1:32 ` oreo639
2022-10-09  1:45 ` ayoubelmhamdi
2022-10-09  1:57 ` oreo639
2022-10-09  1:57 ` oreo639
2022-10-09  1:59 ` oreo639
2022-10-09  3:36 ` oreo639
2022-10-09  7:47 ` ayoubelmhamdi
2022-10-10  4:15 ` [PR PATCH] [Updated] " oreo639
2022-10-10  5:05 ` oreo639
2022-10-10  5:10 ` oreo639
2022-10-13 18:49 ` Johnnynator
2022-10-13 19:02 ` oreo639
2022-10-13 19:02 ` oreo639
2022-10-13 19:04 ` oreo639
2022-10-13 19:28 ` oreo639
2022-10-13 19:28 ` oreo639
2022-10-13 19:28 ` oreo639
2022-10-13 19:29 ` oreo639
2022-10-13 19:47 ` oreo639
2022-10-13 20:02 ` toukoAMG
2022-10-13 20:28 ` TeusLollo
2022-10-13 20:32 ` TeusLollo
2022-10-13 22:44 ` oreo639
2022-10-13 22:49 ` oreo639
2022-10-14  3:18 ` oreo639
2022-10-14  4:01 ` [PR PATCH] [Updated] " oreo639
2022-10-14  4:08 ` oreo639
2022-10-14  4:54 ` oreo639
2022-10-14  9:02 ` oreo639
2022-10-14  9:04 ` oreo639
2022-10-14  9:33 ` oreo639
2022-10-14  9:33 ` oreo639
2022-10-14 10:10 ` [PR PATCH] [Updated] " oreo639
2022-10-14 10:11 ` oreo639
2022-10-15 10:41 ` oreo639
2022-10-18  4:48 ` oreo639
2022-10-18 18:03 ` oreo639
2022-10-19  8:14 ` oreo639
2022-11-05 15:35 ` pwhite1989
2022-11-05 15:36 ` pwhite1989
2022-11-05 15:39 ` paper42
2022-11-05 18:38 ` [PR PATCH] [Updated] " oreo639
2022-11-06 15:10 ` pwhite1989
2022-11-06 15:10 ` pwhite1989
2022-11-06 15:14 ` pwhite1989
2022-11-06 18:47 ` oreo639
2022-11-06 19:33 ` [PR PATCH] [Updated] " oreo639
2022-11-08 18:27 ` oreo639
2022-11-08 19:06 ` oreo639
2022-11-14 23:45 ` kruceter
2022-11-16  1:37 ` sgn
2022-11-16  1:37 ` sgn
2022-11-16  1:57 ` kruceter
2022-11-16  2:05 ` [PR PATCH] [Updated] " oreo639
2022-11-16  2:06 ` sgn
2022-11-17  0:48 ` [PR PATCH] [Updated] " oreo639
2022-11-17  1:54 ` oreo639
2022-11-18  4:02 ` oreo639
2022-11-18 10:02 ` oreo639
2022-11-19 10:50 ` oreo639
2022-11-19 11:01 ` oreo639
2022-11-19 18:18 ` paper42
2022-11-19 20:09 ` paper42
2022-11-19 22:37 ` [PR PATCH] [Updated] " oreo639
2022-11-19 22:39 ` oreo639
2022-11-19 22:45 ` [PR PATCH] [Updated] " oreo639
2022-11-19 22:51 ` oreo639
2022-11-19 22:57 ` oreo639
2022-11-20 18:03 ` oreo639
2022-11-21 18:22 ` oreo639
2022-11-21 18:24 ` oreo639
2022-11-28 19:06 ` oreo639
2022-12-04 20:13 ` oreo639
2022-12-08 13:02 ` kenaryn
2022-12-08 13:02 ` kenaryn
2022-12-12 18:16 ` [PR PATCH] [Updated] " oreo639
2022-12-12 18:24 ` oreo639
2022-12-15 22:20 ` sug0
2022-12-17  5:52 ` [PR PATCH] [Closed]: " sgn
2022-12-20  1:23 ` lane-brain
2022-12-20  2:18 ` oreo639
2022-12-21  0:15 ` TeusLollo
2023-01-05  8:29 ` [PR REVIEW] " CameronNemo
2023-01-05  8:42 ` oreo639
2023-01-05  8:44 ` oreo639
2023-01-05  8:45 ` oreo639
2023-01-05  8:45 ` oreo639
2023-01-05  8:46 ` oreo639
2023-01-05  8:46 ` oreo639
2023-01-05  8:46 ` oreo639
2023-01-05  8:47 ` oreo639
2023-01-05  9:00 ` oreo639
2023-01-05  9:00 ` oreo639
2023-01-05  9:01 ` oreo639
2023-01-05  9:02 ` oreo639

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=20220924151635.NxdVvRZPuc_noVo7QUVNvDx2lB8GejmK4-naWF_4oX8@z \
    --to=teuslollo@users.noreply.github.com \
    --cc=ml@inbox.vuxu.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 NNTP newsgroup(s).