From owner-freebsd-hackers@FreeBSD.ORG Sun Dec 4 22:22:03 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1233) id 0A5D61065672; Sun, 4 Dec 2011 22:22:03 +0000 (UTC) Date: Sun, 4 Dec 2011 22:22:03 +0000 From: Alexander Best To: freebsd-hackers@freebsd.org Message-ID: <20111204222203.GA8898@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: strange printf(9) format specifier ("Z") in dev/drm code X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Dec 2011 22:22:03 -0000 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