Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Dec 2011 22:22:03 +0000
From:      Alexander Best <arundel@freebsd.org>
To:        freebsd-hackers@freebsd.org
Subject:   strange printf(9) format specifier ("Z") in dev/drm code
Message-ID:  <20111204222203.GA8898@freebsd.org>

next in thread | raw e-mail | index | archive | help
hi there,

i was going through the clang warnings from a GENERIC buildkernel and noticed
the following:

===> drm/mga (all)
/usr/subversion-src/sys/modules/drm/mga/../../../dev/drm/mga_state.c:56:2: error: invalid conversion specifier 'Z' [-Werror,-Wformat-invalid-specifier]
        BEGIN_DMA(2);
        ^~~~~~~~~~~
@/dev/drm/mga_drv.h:291:35: note: expanded from:
                DRM_INFO( "   space=0x%x req=0x%Zx\n",                  \
                                                ^
@/dev/drm/drmP.h:317:60: note: expanded from:
#define DRM_INFO(fmt, ...)  printf("info: [" DRM_NAME "] " fmt , ##__VA_ARGS__)
                                                           ^
these lines should cover all warnings:

otaku% egrep -r "%[0-9]*Zx" /usr/src/sys/dev/drm
dev/drm/mga_drv.h:		DRM_INFO( "   space=0x%x req=0x%Zx\n",			\
dev/drm/mga_drv.h:		DRM_INFO( "   DMA_WRITE( 0x%08x ) at 0x%04Zx\n",	\

... i couldn't find a reference to an upercase "Z" in the printf(9) man page.
i talked to dinoex on #freebsd-clang (EFNet) and he said that the "Z" might
come from linux'es libc5 and is the equaivalent to glibc's "z".

can we adjust those lines, so the clang warnings disappear?

cheers.
alex



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111204222203.GA8898>