FPU Bounds [Was: Re: openssh4.0 upgrade]

Joerg Sonnenberger joerg at britannica.bec.de
Wed Mar 23 09:18:07 PST 2005


On Wed, Mar 23, 2005 at 05:07:54PM +0100, Joerg Sonnenberger wrote:
> On Wed, Mar 23, 2005 at 01:52:24AM -0800, Matthew Dillon wrote:
> >     In anycase, it looks like GCC just breaks when you use the internal
> >     va_arg with a 'char' type.  It is supposed to promote the argument
> >     to an int and then cast it to a char.  Instead it generates, well, 
> >     what you see.
> 
> Actually this is a bug in the code using va_arg. There is even a warning
> flag for GCC to catch implicit int promotions for variadic functions,
> because the variadic function has to use int.

And the flag is on, the compiler does warn about this. One more reason to get
our kernel -Werror ready :)

. ./../bus/ppbus/ppb_msq.c: In function `ppb_MS_init_msq':
. ./../bus/ppbus/ppb_msq.c:222: warning: `char' is promoted to `int' when passed through `...'
. ./../bus/ppbus/ppb_msq.c:222: warning: (so you should pass `int' not `char' to `va_arg')
. ./../bus/ppbus/ppb_msq.c:222: note: if this code is reached, the program will abort

Joerg





More information about the Submit mailing list