lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 19 Oct 2014 22:40:53 +0100 From: Ramsay Jones <ramsay@...say1.demon.co.uk> To: Randy Dunlap <rdunlap@...radead.org>, Mariusz Gorski <marius.gorski@...il.com>, linux-kernel@...r.kernel.org, Linux-Sparse <linux-sparse@...r.kernel.org> Subject: Re: Sparse warning: "initializer entry defined twice" - sparse can't handle bool? On 19/10/14 18:21, Randy Dunlap wrote: > [adding linux-sparse mailing list] > > On 10/19/14 02:46, Mariusz Gorski wrote: >> Sparse throws the following warning, which I can't really understand: >> >> $ make drivers/staging/vt6655/ C=2 >> [...] >> CHECK drivers/staging/vt6655/datarate.c >> drivers/staging/vt6655/datarate.c:302:40: warning: Initializer entry >> defined twice >> drivers/staging/vt6655/datarate.c:302:46: also defined here >> >> The code looks fine to me: >> bool bAutoRate[MAX_RATE] = {true, true, true, true, false, false, >> true, true, true, true, true, true}; >> >> I've googled it and found only this LKML discussion: >> https://lkml.org/lkml/2010/5/7/31 >> >> I've tested the suggested code sample and here are the results: >> $ cat foo.c >> typedef _Bool bool; >> enum { >> false = 0, >> true = 1 >> }; >> static const bool foo[10] = { >> true, >> true, >> false, >> false, >> }; >> >> $ sparse foo.c >> foo.c:7:8: warning: Initializer entry defined twice >> foo.c:8:8: also defined here >> >> It this a sparse problem? Yes, I imagine you are using a sparse version of v0.5.0 or earlier right? This was fixed by commit b3e9d87c6 ("sparse: make bits_to_bytes round up instead of down", 16-07-2014), which describes to v0.5.0-17-gb3e9d87, which has not been included in a released version yet. (if you don't mind building from source, you could build the master branch using a clone the git repository at git://git.kernel.org/pub/scm/devel/sparse/sparse.git). I'm afraid that I don't know when the next release is due. HTH ATB, Ramsay Jones -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists