[PATCH 3/4] DTC: Appease the printf() format $Gods with a correct type.

David Gibson dwg at au1.ibm.com
Tue Oct 23 10:26:31 EST 2007


On Mon, Oct 22, 2007 at 11:55:11AM -0500, Josh Boyer wrote:
> On Mon, 22 Oct 2007 11:50:52 -0500
> Jon Loeliger <jdl at jdl.com> wrote:
> 
> > So, like, the other day David Gibson mumbled:
> > > On Sat, Oct 20, 2007 at 10:51:29AM +0200, Andreas Schwab wrote:
> > > > David Gibson <david at gibson.dropbear.id.au> writes:
> > > > 
> > > > > What compiler/platform is this?  I can't off the top of my head think
> > > > > of one where size_t shouldn't be promoted to int automatically.
> > > > 
> > > > Only types narrower than int are subject to integer promotion.
> > > 
> > > Duh, yes.  Sorry.
> > 
> > So, Hmm.  You want the patch as I wrote it applied?
> > Or do you want to use %z in the format instead?  It does
> > seem like there is precedent to do that (in the kernel):
> > 
> >     % grep -r '%z' arch/
> >     arch/alpha/boot/tools/mkbb.c:   fprintf(stderr, "expected %zd, got %d\n", sizeof(bootblock), nread);
> >     arch/alpha/boot/tools/mkbb.c:   fprintf(stderr, "expected %zd, got %d\n", sizeof(bootblock), nread);
> >     arch/m68k/ifpsp060/src/itest.S: mulu.l          (0x00.w,%a3,%za4.l*8),%d2:%d3
> >     arch/m68k/ifpsp060/src/itest.S: mulu.l          (-0x10.w,%za3,%a4.l*1),%d2:%d3
> >     arch/m68k/ifpsp060/src/itest.S: mulu.l          (ea_77_mem+0x00.w,%pc,%za4.l*8),%d2:%d3
> >     ...
> >     arch/m68k/ifpsp060/src/itest.S: mulu.l          ([EASTORE.l,%zpc,%zd4.l*1]),%d2:%d3
> >     arch/m68k/ifpsp060/src/itest.S: mulu.l          ([EASTORE.l,%pc],%zd4.l*8,0x20.l),%d2:%d3
> >     arch/m68k/ifpsp060/src/itest.S: mulu.l          ([EASTORE.l,%zpc],%d4.l*8),%d2:%d3
> >     arch/um/drivers/cow_user.c:             /* Below, %zd is for a size_t value */
> >     arch/um/drivers/cow_user.c:                        "limited to %zd characters\n", backing_file,
> >     arch/x86/kernel/pci-nommu_64.c:                     "nommu_%s: overflow %Lx+%zu of device mask %Lx\n",
> > 
> > Opinions?
> 
> %z is fairly common now-a-days.  The kernel janitors tend to LART
> people for not using it rather quickly.

Yes, I think %z is preferable.  It used to be a glibc (et al)
extension, but I think it's now specified in C99 (we should double
check that).

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson



More information about the Linuxppc-dev mailing list