[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YO8IoNwXS4h26+9v@localhost.localdomain>
Date: Wed, 14 Jul 2021 18:54:08 +0300
From: Alexey Dobriyan <adobriyan@...il.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: akpm@...ux-foundation.org, linux-kbuild@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
arnd@...db.de
Subject: Re: [PATCH] Decouple build from userspace headers
On Wed, Jul 14, 2021 at 03:22:08PM +0100, Christoph Hellwig wrote:
> > -#define signals_blocked false
> > +#define signals_blocked 0
>
> Why can't we get at the kernel definition of false here?
Variable and other code surrounding this wants "int".
I don't really want to expand into bool conversion.
> > new file mode 100644
> > --- /dev/null
> > +++ b/include/stdarg.h
> > @@ -0,0 +1,9 @@
> > +#ifndef _LINUX_STDARG_H
> > +#define _LINUX_STDARG_H
> > +typedef __builtin_va_list __gnuc_va_list;
> > +typedef __builtin_va_list va_list;
> > +#define va_start(v, l) __builtin_va_start(v, l)
> > +#define va_end(v) __builtin_va_end(v)
> > +#define va_arg(v, T) __builtin_va_arg(v, T)
> > +#define va_copy(d, s) __builtin_va_copy(d, s)
> > +#endif
>
> Empty lines before and after the include guards would be nice.
>
> What do we need the __gnuc_va_list typedef for?
That's because without __gnuc_va_list something didn't compile.
I'm preparing second version with <linux/stdarg.h> where __gnuc_va_list is
unnecessary indeed.
> Otherwise this looks great. As a follow on maybe move the new header
> to <linux/stdarg.h> to make clear to everyone that we are using our
> own version.
Powered by blists - more mailing lists