From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=52325 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1POzF9-0007Rg-So for qemu-devel@nongnu.org; Sat, 04 Dec 2010 16:02:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1POzF7-0002Uv-Aj for qemu-devel@nongnu.org; Sat, 04 Dec 2010 16:02:07 -0500 Received: from moutng.kundenserver.de ([212.227.126.186]:49602) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1POzF6-0002Uj-VB for qemu-devel@nongnu.org; Sat, 04 Dec 2010 16:02:05 -0500 Message-ID: <4CFAAC48.5000903@mail.berlios.de> Date: Sat, 04 Dec 2010 22:02:00 +0100 From: Stefan Weil MIME-Version: 1.0 References: <4CED87BA.7000609@mail.berlios.de> <4CF6C114.4010706@mail.berlios.de> <4CFA9564.7030406@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 21:18, schrieb Blue Swirl: > On Sat, Dec 4, 2010 at 7:24 PM, Stefan Weil wrote: >> 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. > > No, for example qemu-img.c and blockdev.c cases are real. I don't > understand blkverify.c and qerror cases, GCC_FMT_ATTR() attributes are > in place. I'm sorry but I don't understand your "no". My patches added the necessary format attributes in qemu-img.c and blockdev.c (otherwise all builds would raise compiler warnings). It's a mingw32 problem that the compiler complains there. This is what I call a "false" warning. Where did you detect a missing format attribute?