Re: printk and long long

From: H. Peter Anvin
Date: Wed Feb 11 2004 - 14:42:47 EST


Followup to: <Pine.LNX.4.44.0402111655170.17933-100000@xxxxxxxxxxxx>
By author: Maciej Zenczykowski <maze@xxxxxxx>
In newsgroup: linux.dev.kernel
>
> On Wed, 11 Feb 2004, vda wrote:
>
> > The character L specifying that a following e, E, f, g, or G
> > conversion corresponds to a long double argument, or a following
> > d, i, o, u, x, or X conversion corresponds to a long long argument.
> > Note that long long is not specified in ANSI C and therefore
> > not portable to all architectures.
>
> [ personally I'd say screw the un-portable architectures ;) ]
> Long long is here to stay.

long long is C99, so it's *definitely* here to say. The conversion specifier
is "ll" not "L", however.

> Besides if a linux architecture utilises long long in the kernel and
> doesn't support it in printf via %lld then it's horked.
> printf/libc should be fixed instead.
> Maybe that's the problem - the libc support fragment in the kernel tree is
> not up to date on that architecture - maybe the fixes should applied there
> instead - instead of trying to work around the problem, fix the cause.

Indeed. Feel free to steal the code from klibc :)

-hpa
--
PGP public key available - finger hpa@xxxxxxxxx
Key fingerprint: 2047/2A960705 BA 03 D3 2C 14 A8 A8 BD 1E DF FE 69 EE 35 BD 74
"The earth is but one country, and mankind its citizens." -- Bahá'u'lláh
Just Say No to Morden * The Shadows were defeated -- Babylon 5 is renewed!!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/