From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=38737 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1POxid-0005Nq-UL for qemu-devel@nongnu.org; Sat, 04 Dec 2010 14:24:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1POxic-0004FL-KD for qemu-devel@nongnu.org; Sat, 04 Dec 2010 14:24:27 -0500 Received: from moutng.kundenserver.de ([212.227.17.9]:57761) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1POxic-0004EY-5v for qemu-devel@nongnu.org; Sat, 04 Dec 2010 14:24:26 -0500 Message-ID: <4CFA9564.7030406@mail.berlios.de> Date: Sat, 04 Dec 2010 20:24:20 +0100 From: Stefan Weil MIME-Version: 1.0 References: <4CED87BA.7000609@mail.berlios.de> <4CF6C114.4010706@mail.berlios.de> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PULL] More format checking List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: QEMU Developers Am 04.12.2010 19:35, schrieb Blue Swirl: > On Wed, Dec 1, 2010 at 9:41 PM, Stefan Weil wrote: >> Am 24.11.2010 22:46, schrieb Stefan Weil: >>> >>> Hello, >>> >>> with these patches, hopefully all functions with printf like arguments >>> use gcc's format checking, so the TODO comment in HACKING can be >>> removed. >>> >>> The patch series was tested with a default build configuration on linux >>> and windows hosts (including some cross compilations for arm, mips and >>> powerpc), >>> so chances are good that there remain few (if any) functions without >>> format checking. >>> >>> If there remain such functions (and maybe also some related format >>> bugs), >>> the compiler will raise a warning now, so it should be easy to fix them. >>> >>> All patches were published on qemu-devel. There were two replies: >>> >>> * 1st patch: small typo in commit message, fixed now >>> >>> * last patch: breaks build >>> >>> It's normal that the last patch will break builds with warning = error >>> as long as the other four patches (and maybe more format related fixes) >>> are not applied. This is the intention of the last patch! >>> >>> Regards, >>> Stefan Weil >>> >>> The following changes since commit >>> f711df67d611e4762966a249742a5f7499e19f99: >>> >>> microblaze: target-ify target_ucontext (2010-11-23 10:04:30 +0100) >>> >>> are available in the git repository at: >>> git://git.weilnetz.de/git/qemu for-blueswirl >>> >>> Stefan Weil (5): >>> *-dis: Replace fprintf_ftype by fprintf_function (format checking) >>> target-sparc: Use fprintf_function (format checking) >>> audio: Use GCC_FMT_ATTR (format checking) >>> darwin-user: Use GCC_FMT_ATTR (format checking) >>> configure: Add compiler option -Wmissing-format-attribute >>> >>> HACKING | 3 --- >>> alpha-dis.c | 3 +++ >>> arm-dis.c | 14 +++++++------- >>> audio/audio_pt_int.c | 3 ++- >>> configure | 1 + >>> darwin-user/machload.c | 2 +- >>> darwin-user/qemu.h | 2 +- >>> dis-asm.h | 10 ++-------- >>> m68k-dis.c | 2 +- >>> microblaze-dis.c | 2 +- >>> mips-dis.c | 2 -- >>> sh4-dis.c | 16 +++++----------- >>> target-sparc/cpu.h | 4 ++-- >>> 13 files changed, 26 insertions(+), 38 deletions(-) >>> >> >> >> Is there anything missing, or can the patch series be applied finally? > > The last patch is not OK yet: > CC qemu-img.o > /src/qemu/qemu-img.c: In function 'error': > /src/qemu/qemu-img.c:48:5: error: function might be possible candidate > for 'ms_printf' format attribute [-Werror=missing-format-attribute] > CC qemu-error.o > /src/qemu/qemu-error.c: In function 'error_vprintf': > /src/qemu/qemu-error.c:27:9: error: function might be possible > candidate for 'ms_printf' format attribute > [-Werror=missing-format-attribute] > CC block/blkverify.o > /src/qemu/block/blkverify.c: In function 'blkverify_err': > /src/qemu/block/blkverify.c:65:5: error: function might be possible > candidate for 'ms_printf' format attribute > [-Werror=missing-format-attribute] > CC json-parser.o > /src/qemu/json-parser.c: In function 'parse_error': > /src/qemu/json-parser.c:100:5: error: function might be possible > candidate for 'ms_printf' format attribute > [-Werror=missing-format-attribute] > CC qerror.o > /src/qemu/qerror.c: In function 'qerror_abort': > /src/qemu/qerror.c:230:5: error: function might be possible candidate > for 'ms_printf' format attribute [-Werror=missing-format-attribute] > CC blockdev.o > /src/qemu/blockdev.c: In function 'drive_add': > /src/qemu/blockdev.c:52:5: error: function might be possible candidate > for 'ms_printf' format attribute [-Werror=missing-format-attribute] > CC qemu-char.o > /src/qemu/qemu-char.c: In function 'qemu_chr_printf': > /src/qemu/qemu-char.c:182:5: error: function might be possible > candidate for 'ms_printf' format attribute > [-Werror=missing-format-attribute] > CC audio/audio.o > /src/qemu/audio/audio.c: In function 'AUD_vlog': > /src/qemu/audio/audio.c:346:9: error: function might be possible > candidate for 'ms_printf' format attribute > [-Werror=missing-format-attribute] > > This is with mingw32 compiler, it should be happy with gnu_printf > instead of ms_printf in case you wonder that. As far as I know all those warnings are false warnings. The mingw32 includes are broken because they always use ms format specifiers for the PRI* macros, even when the compiler was told to use ansi/posix format. Sending a patch to mingw32 is on my todo list. qemu-common.h uses the same kind of wrong definitions for PRI*64. I already have a patch for this and will send it to qemu-devel soon. Until mingw32 is fixed, I suggest to disable -Werror for windows builds. Is it possible to commit the previous patches (if you hesitate committing the last one)? That would help a lot. Thanks, Stefan