Hey,
it looks like the Fedora crowd has decided that was a bug that
surfaced already a while ago, which they then fixed, which then
re-surfaced, as described in the newest comment on
https://bugzilla.redhat.com/show_bug.cgi?id=2212160#c3 :
This is the same bug as #1277996. It was fix by commit b5cac6b for zsh rpm by adding export LIBLDFLAGS='-z lazy' to zsh.spec. https://src.fedoraproject.org/rpms/zsh/c/b5cac6b431f08c03d2712fa9aac41b7cb43b9384 But in recent Fedora '-z lazy' does not overwrite the '-Wl,-z,now'. It _seems_ we need to use '-Wl,-z,lazy'.
To summarize that #1277996
https://bugzilla.redhat.com/show_bug.cgi?id=1277996 , this *does*
seem to actually be a bug:
https://www.zsh.org/mla/workers/2015/msg02981.html
Something must have reintroduced "now" instead of "lazy" linking
in the module linking process.
Best,
Marcus
On 05.06.23 22:07, Bart Schaefer wrote:
On Mon, Jun 5, 2023 at 12:35 PM Marcus Müller <marcus_zsh@xxxxxxxxxxx> wrote:Ah, so we're exporting and thus overwriting a symbol that overwrites a pointer by the name of an existing libc function with a "overrides potentially unowned memory" one?As I understand it that symbol will only be defined by tcp.c if it's not available from libc or other linked library, so it's not actually overwriting an identically-named symbol. Or at least that's the intention, the #ifdef's that are meant to accomplish it may need refinement for more recent library changes.