Re: [PATCH v1] kbuild: Fix CC_CAN_LINK detection

From: Mickaël Salaün

Date: Thu Feb 12 2026 - 09:55:01 EST


On Thu, Feb 12, 2026 at 03:15:47PM +0100, Thomas Weißschuh wrote:
> On Thu, Feb 12, 2026 at 02:35:43PM +0100, Mickaël Salaün wrote:
> > Most samples cannot be build on some environments because they depend
> > on CC_CAN_LINK, which is set according to the result of
> > scripts/cc-can-link.sh called by cc_can_link_user.
> >
> > Because cc-can-link.sh must now build without warning, it may fail
> > because it is calling printf() with an empty string:
> >
> > + cat
> > + gcc -m32 -Werror -Wl,--fatal-warnings -x c - -o /dev/null
> > <stdin>: In function ‘main’:
> > <stdin>:4:9: error: zero-length gnu_printf format string [-Werror=format-zero-length]
> > cc1: all warnings being treated as errors
> >
> > Fix this warning and the samples build by actually printing something.
> >
> > Cc: Nathan Chancellor <nathan@xxxxxxxxxx>
> > Cc: Nicolas Schier <nsc@xxxxxxxxxx>
> > Cc: Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>
> > Cc: stable@xxxxxxxxxxxxxxx
> > Fixes: d81d9d389b9b ("kbuild: don't enable CC_CAN_LINK if the dummy program generates warnings")
>
> Thanks!
>
> Reviewed-by: Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>
>
> In my GCC 15.2 this warning is not enabled by default.

Some for me, but it is the case with GCC 13.3.0 on Ubuntu 24 LTS.

>
> > Signed-off-by: Mickaël Salaün <mic@xxxxxxxxxxx>
> > ---
> > scripts/cc-can-link.sh | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/scripts/cc-can-link.sh b/scripts/cc-can-link.sh
> > index e67fd8d7b684..58dc7dd6d556 100755
> > --- a/scripts/cc-can-link.sh
> > +++ b/scripts/cc-can-link.sh
> > @@ -5,7 +5,7 @@ cat << "END" | $@ -Werror -Wl,--fatal-warnings -x c - -o /dev/null >/dev/null 2>
> > #include <stdio.h>
> > int main(void)
> > {
> > - printf("");
> > + printf("\n");
> > return 0;
> > }
> > END
> > --
> > 2.53.0
> >