Subject: Re: [bug-diffutils] bug#78019: LTO build fails with diffutils 3.12

From: Christian Hesse <[email-masked]>
Date: Fri, 25 Apr 2025 11:43:46 +0200

Paul Eggert <[email-masked]> on Wed, 2025/04/23 11:56:
> These are false positives from GCC. I worked around the last one by 
> installing the attached patch.

Which attached patch? Do you refer the grep issue here?

> The others are due to GCC bug 80922 
> <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80922>.
> 
> How are you invoking 'configure' and 'make', to enable -flto? Perhaps 
> diffutils can work around the other GCC bugs by looking at the arguments 
> to 'configure' and 'make' and disabling -Wmaybe-uninitialized if you're 
> using -flto.

This is the PKGBUILD file we use to build the Arch Linux package:

https://gitlab.archlinux.org/archlinux/packaging/packages/diffutils/-/blob/main/PKGBUILD

Note that we have set `options=('!lto')` to make the build tools disable lto.

According to our build tools (devtools) we set `LTOFLAGS="-flto=auto"` when
building with lto:

https://gitlab.archlinux.org/archlinux/devtools/-/blob/master/config/makepkg/x86_64.conf#L50

We are suffering these build issues with lots of gnu tools (including grep,
which you fix already; and gzip) since switching to building from git. This
now includes running `bootstrap`. Probably this is caused because newer
autotools generating a different configure script.
-- 
main(a){char*c=/*    Schoene Gruesse                         */"B?IJj;MEH"
"CX:;",b;for(a/*    Best regards             my address:    */=0;b=c[a++];)
putchar(b-1/(/*    Chris            cc -ox -xc - && ./x    */b/42*2-3)*42);}