Date: Wed, 10 Jul 2024 14:19:06 -0400 From: John Baldwin <jhb@FreeBSD.org> To: Warner Losh <imp@FreeBSD.org>, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 6677621bad00 - main - cdefs.h: Fallback to printf0 for __printf0like Message-ID: <bddd5f4c-401a-4169-885d-58a81a7a122a@FreeBSD.org> In-Reply-To: <a4a051a8-5715-4c5d-b755-83bd4bf8473f@FreeBSD.org> References: <202407061944.466JiiQ3026410@gitrepo.freebsd.org> <a4a051a8-5715-4c5d-b755-83bd4bf8473f@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 7/6/24 17:56, John Baldwin wrote: > On 7/6/24 15:44, Warner Losh wrote: >> The branch main has been updated by imp: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=6677621bad00191dfec1b0a20ae1618b92745d9b >> >> commit 6677621bad00191dfec1b0a20ae1618b92745d9b >> Author: Warner Losh <imp@FreeBSD.org> >> AuthorDate: 2024-07-06 19:42:37 +0000 >> Commit: Warner Losh <imp@FreeBSD.org> >> CommitDate: 2024-07-06 19:45:03 +0000 >> >> cdefs.h: Fallback to printf0 for __printf0like >> >> For some reason, my tests were fine with this like it was, but CI for >> gcc12 and gcc13 is complaining. Revert to the old form until that can be >> worked out why the mismatch. >> >> Fixes: 0b82dac337e7 >> Sponsored by: Netflix >> --- >> sys/sys/cdefs.h | 7 +++++-- >> 1 file changed, 5 insertions(+), 2 deletions(-) >> >> diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h >> index 6b861b1903f6..a56839d57c7a 100644 >> --- a/sys/sys/cdefs.h >> +++ b/sys/sys/cdefs.h >> @@ -356,9 +356,12 @@ >> * Clang has always had printf and printf0 as aliases. gcc 11.0 now follows >> * clang. So now this is an alias for __printflike, or nothing. In the future >> * _Nullable or _Nonnull will replace this. >> + * XXX Except that doesn't work, so for now revert to printf0 for clang and >> + * the FreeBSD gcc until I can work this out. >> */ >> -#if defined(__clang__) || __GNUC_PREREQ__(11, 0) >> -#define __printf0like(fmtarg, firstvararg) __printflike(fmtarg, firstvararg) >> +#if defined(__clang__) || (defined(__GNUC__) && defined (__FreeBSD_cc_version)) >> +#define __printf0like(fmtarg, firstvararg) \ >> + __attribute__((__format__ (__printf0__, fmtarg, firstvararg))) >> #else >> #define __printf0like(fmtarg, firstvararg) >> #endif > > It's because my patch for devel/freebsd-gcc{12,13} is kind of wrong. I had a mismerge > when updating the printf0 patch from gcc9 to gcc12 that ended up re-adding the > warn on NULL. I need to update the ports to remove that part of the patch. I will > probably leave printf0 working for now in the ports just as an alias for regular > printf to give us some transition time. FYI, I have merged this fix to the ports, but not sure how we want to manage doing the patch to cdefs.h. I kind of think we should apply the change to cdefs.h in main in another week or so. I'm less certain of what to do for stable branches. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bddd5f4c-401a-4169-885d-58a81a7a122a>