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