On 2021-11-28 09:23, Achim Gratz wrote:
Achim Gratz writes:
I'd rather know why the bleeping heck the test suddenly succeeds when it
clearly doesn't actually work.  In other words, I think the linker
should complain, but since it obviously did that before Cygwin 3.2.0 and
not after, something must have changed somewhere that prevent s it from
doing that.

So the exact same problem was discussed in 2010 and the test that's
still there conceived that checks if the returned symbol for weakly
defined fputs is NULL (which would then disable weak symbols for
gnulib).  That obviously still happens on 32bit, but no longer on 64bit.
I think the test is bogus in both cases since the executable will always
be linked again cygwin1.dll and so should be able to resolve the symbol
either way.

Bruno Haible (gnulib maintainer) also patched the current gnulib on request from Akim Demaille (bison maintainer).

The problem with Cygwin weak symbols is apparently that ld expects there to be a runtime dynamic loader to resolve NULL weak dynamic library references, but unlike ELF neither Cygwin nor Windows does so, and PE may not retain the information to do so, or this project would likely have done so.

--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]

Reply via email to