On 2/23/20 6:27 PM, Bruno Haible wrote:
Therefore I think we need to do two things:

   * For those functions that may be stubs in glibc, define HAVE_FUNC to 1
     instead of 0 if glibc implements it as a stub.

This sounds like it could lead to trouble, as it runs afoul of longstanding Autoconf tradition. Even within Gnulib, we'd have to investigate and probably rewrite code using HAVE_LCHMOD, HAVE_REVOKE, and perhaps other such symbols. And we'd also have to warn all downstream users that the HAVE_* tradition is changing (at least for glibc symbols), and downstream users would need to change their own code that uses HAVE_LCHMOD or whatever. And what about downstream code that uses AC_CHECK_FUNCS([lchmod]) or AC_CHECK_FUNCS([sigreturn]) already, and gets the longstanding Autoconf interpretation for symbols it checks directly? Won't this make things too confusing?

Perhaps it would be better to use HAVE_LCHMOD=0 and REPLACE_LCHMOD=1 in this problematic situation, i.e., to bring back the REPLACE_LCHMOD code without altering HAVE_LCHMOD. This would be less likely to break other uses, because it would not conflict with the Autoconf tradition.

  * Reinstall (at least partially) the code for REPLACE_LCHMOD=1.

Yes, it sounds like we'll need to do that to support static linking and -lc.

Reply via email to