[bug #68302] Make does not build with GCC 15 with some non-GNU libcs

anonymous <[email protected]> Sat, 2 May 2026 22:43:06 -0400 (EDT)
Newsgroups gmane.comp.gnu.make.bugs
Message-ID <[email protected]>
--8323329-846930886-1777776186=:206051
Content-Type: TEXT/plain; CHARSET=utf-8
Content-Transfer-Encoding: QUOTED-PRINTABLE
Content-Disposition: inline

URL:=0A  <https://savannah.gnu.org/bugs/?68302>=0A=0A                 Summa=
ry: Make does not build with GCC 15 with some non-GNU=0Alibcs=0A           =
        Group: make=0A               Submitter: None=0A               Submi=
tted: Sun 03 May 2026 02:43:02 AM UTC=0A                Severity: 3 - Norma=
l=0A                Priority: 5 - Normal=0A              Item Group: Build/=
Install=0A                  Status: None=0A                 Privacy: Public=
=0A             Assigned to: None=0A             Open/Closed: Open=0A      =
   Discussion Lock: Unlocked=0A       Component Version: 4.4.1=0A        Op=
erating System: POSIX-Based=0A           Fixed Release: None=0A           T=
riage Status: None=0A=0A=0A    ____________________________________________=
___________=0A=0AFollow-up Comments:=0A=0A=0A------------------------------=
-------------------------=0ADate: Sun 03 May 2026 02:43:02 AM UTC By: Anony=
mous=0AThe default C standard version in GCC 15 is now C23, and this can ca=
use a=0Aproblem with some builds.  What I ran into in particular is that wi=
th musl=0Alibc, for some reason=0A[https://cgit.git.savannah.gnu.org/cgit/m=
ake.git/tree/gl/lib/fnmatch.c?id=3Dd66a65ad5a0e31b287f53930b0f09e31801f1613=
#n124=0Aline 124 of gl/lib/fnmatch.c] is compiled (I haven't tracked down w=
hy the=0A`_LIBC` macro isn't defined in this case), giving the declaration =
`extern char=0A*getenv ();`.  In C23, that is equivalent to `extern char *g=
etenv (void);`,=0Awhich is not a proper declaration for `getenv`.  I don't =
know if there are=0Aother C23 issues I haven't run into, but it seems that =
`make` still builds=0Awith GCC 15 and glibc so there probably aren't many.=
=0A=0AEither this line (and other no-longer-correct function prototypes) sh=
ould be=0Afixed, or Make should pass in a supported `-std` flag to the comp=
iler.=0A=0AFurther environment details in case this fails to reproduce: I a=
m building in=0A[https://buildroot.org/download.html Buildroot 2026.02].  M=
y defconfig file=0Ais=0A=0ABR2_TOOLCHAIN_BUILDROOT_MUSL=3Dy=0ABR2_GCC_VERSI=
ON_15_X=3Dy=0ABR2_PACKAGE_MAKE=3Dy=0A=0Awhich, if you don't speak Buildroot=
, just means that I'm building Make with=0Amusl libc and GCC 15, and no oth=
er changes from the default.=0A=0A=0A=0A=0A=0A=0A=0A    ___________________=
____________________________________=0A=0AReply to this item at:=0A=0A  <ht=
tps://savannah.gnu.org/bugs/?68302>=0A=0A__________________________________=
_____________=0AMessage sent via Savannah=0Ahttps://savannah.gnu.org/=0A
--8323329-846930886-1777776186=:206051
Content-Type: APPLICATION/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iHUEABYIAB0WIQQk97aszIMMAvLLwm6qLAuaBUf3TgUCafa2OQAKCRCqLAuaBUf3
TiDLAQDJj1Kt9hUpkD4VoG/xFn1sv5+ujjHEjqMhrlfHpcj7uQEA+P2dongCyHGW
DjmDnI1bhTH5kVyizpRc3KZ0Ovp2zgw=
=XHjY
-----END PGP SIGNATURE-----

--8323329-846930886-1777776186=:206051--