Re: [PATCH] Re: [ipchains] logging tcp/udp port numbers

Linus Torvalds (torvalds@transmeta.com)
Wed, 18 Nov 1998 08:28:20 -0800 (PST)


On Wed, 18 Nov 1998, Paul Rusty Russell wrote:
>
> The %h printk modifier is used in 5 source files, and doesn't work on
> ppc and sparc (vararg passing a short is broken on these platforms it
> seems).

If varargs is broken on them, then I would complain to the gcc people. I
can get rid of the 'h' qualifier - I don't think it really means anything
in the C language with the promotion rules - but I want to do so only
after I've heard from people that gcc is going to be fixed /or/ somebody
tells me that due to C promotion rules I really should get an int and cast
it (ie instead of using

num = va_arg(args, short);

it might be proper to use

num = (short) va_args(args, int);

But I _really_ don't want to just silently drop a documented feature.

Why is it broken on ppc/sparc? I assume it's because they have the wrong
byte order, but why does this bite only the Linux kernel - it should have
bitten other things too?

Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/