On 10/26/22 02:58, Florian Weimer wrote:
* Richard W. M. Jones:
> On Tue, Oct 25, 2022 at 10:05:52AM -0400, Ben Cotton wrote:
>> Neither change is trivial to implement because introducing errors for
>> these constructs (as required by C99) alters the result of autoconf
>> configure checks. Quite a few such checks use an implicitly declared
>> `exit` function, for instance. These failures are not really related
>> to the feature under test. If the build system is well written, the
>> build still succeeds, the relevant features are automatically disabled
>> in the test suite and removed from reference ABI lists, and it's not
>> immediately apparent that feature is gone. Therefore, some care is
>> needed that no such alterations happen, and packages need to be ported
>> to C99. Various tools for this porting activity are being developed to
>> support this proposal. Cross-distribution collaboration will help as
>> well, sharing patches and insights.
> Would it help if we made autoreconf (and the equivalent step for other
> build systems) mandatory? Debian has declared this as "good practice"
> since forever[0].
>
> It would mean we could fix any problems in current autoconf
> concurrently with the changes to GCC and Fedora.
I'm not aware of any recent-ish core autoconf issues that would be
solved by running autoreconf (if that actually worked …). As far as I
can tell, autoconf never relied on implicit function declarations for
AC_CHECK_FUNC, not since 1993. The sed hack we already have is for LTO
compatibility.
Right. I nearly chimed in on this topic. It helps if we can autoreconf
as I think that might let us remove some of the LTO insanity, but it's
independent of implicit functions.
Jeff