From: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
To: Michael Haggerty <mhagger@alum.mit.edu>
Cc: Junio C Hamano <gitster@pobox.com>,
GIT Mailing-list <git@vger.kernel.org>,
Christopher Li <sparse@chrisli.org>
Subject: Re: [PATCH] test-string-list.c: Fix some sparse warnings
Date: Wed, 19 Sep 2012 20:07:01 +0100 [thread overview]
Message-ID: <505A17D5.2000406@ramsay1.demon.co.uk> (raw)
In-Reply-To: <5056DC28.60809@alum.mit.edu>
Michael Haggerty wrote:
> On 09/15/2012 06:18 PM, Ramsay Jones wrote:
>>
>> In particular, sparse complains as follows:
>>
>> SP test-string-list.c
>> test-string-list.c:10:6: warning: symbol 'parse_string_list' was not \
>> declared. Should it be static?
>> test-string-list.c:18:6: warning: symbol 'write_list' was not \
>> declared. Should it be static?
>> test-string-list.c:25:6: warning: symbol 'write_list_compact' was not \
>> declared. Should it be static?
>> test-string-list.c:38:5: warning: symbol 'prefix_cb' was not \
>> declared. Should it be static?
>>
>> In order to suppress the warnings, since the above symbols do not
>> need more than file scope, we simply include the static modifier
>> in their declaration.
>
> Thanks for fixing this.
>
> Is there some documentation about how to run sparse on the git codebase?
> I naively tried "make sparse" and ended up with zillions of errors like
>
> /usr/include/unistd.h:288:54: error: attribute '__leaf__': unknown attribute
> /usr/include/unistd.h:294:6: error: attribute '__leaf__': unknown attribute
> /usr/include/unistd.h:298:6: error: attribute '__leaf__': unknown attribute
> /usr/include/unistd.h:306:6: error: attribute '__leaf__': unknown attribute
> /usr/include/unistd.h:338:18: error: attribute '__leaf__': unknown attribute
> /usr/include/unistd.h:347:6: error: attribute '__leaf__': unknown attribute
> /usr/include/unistd.h:418:36: error: attribute '__leaf__': unknown attribute
> /usr/include/unistd.h:423:50: error: attribute '__leaf__': unknown attribute
Yep, "make sparse" is the correct way to run sparse over git.
This looks like you are running sparse on a 64-bit system. I have heard that
it has (or *had*) problems running on 64-bit systems. Unfortunately, I am
currently confined to 32-bit. (I'm looking at getting a new laptop soon, before
Windows 8 causes boot-time problems, so I will then have the same problem!)
How did you obtain/build/install sparse? The current release (v0.4.4) was
released about Nov 2011 and I think you need a more up to date version.
i.e. you need to build the latest, directly from the sparse repo.
Note that the repo on kernel.org is currently dormant. Christopher moved the
active development to github: http://github.com/sparsecli/sparse
In particular, I *think* that the following commits (among others) may improve
your experience of running sparse on git:
b0b4886 sparse: Add 'leaf' to ignored attributes.
7aa79f8 Adding default for m64/m32 handle
2313167 sparse: Add '__vector_size__' to ignored attributes
0a04210 sparse: Add 'error' to ignored attributes
(These are all post v0.4.4)
Note that I "make sparse" on Linux, cygwin and MinGW. (All 32-bit, of course)
Only cygwin is "sparse clean". :-D
Linux has a handfull of warnings, mainly due to the system header files
using features not supported by sparse; e.g. transparent unions. (It's on
my TODO list!). I have a few patches which I keep forgetting to push back
upstream ...
I "ported" sparse to MinGW about three years ago. I have yet to "tidy up"
the patches and push them upstream. (*ahem*) I have a shed-load of patches
to fix sparse warnings on git. However, since (as far as I know) nobody can
confirm they actually fix anything ... ;-)
HTH
ATB,
Ramsay Jones
next prev parent reply other threads:[~2012-09-19 19:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-15 16:18 [PATCH] test-string-list.c: Fix some sparse warnings Ramsay Jones
2012-09-15 20:52 ` Junio C Hamano
2012-09-15 21:10 ` [PATCH 1/7] builtin/notes.c: mark file-scope functions as static Junio C Hamano
2012-09-15 21:10 ` [PATCH 2/7] commit.c: " Junio C Hamano
2012-09-15 21:10 ` [PATCH 3/7] diff.c: mark private file-scope symbols " Junio C Hamano
2012-09-15 21:10 ` [PATCH 4/7] graph.c: " Junio C Hamano
2012-09-15 21:10 ` [PATCH 5/7] grep.c: " Junio C Hamano
2012-09-19 18:02 ` Ramsay Jones
2012-09-19 20:46 ` Junio C Hamano
2012-09-20 20:43 ` Ramsay Jones
2012-09-15 21:10 ` [PATCH 6/7] rerere.c: " Junio C Hamano
2012-09-15 21:10 ` [PATCH 7/7] notes.c: " Junio C Hamano
2012-09-17 8:15 ` [PATCH] test-string-list.c: Fix some sparse warnings Michael Haggerty
2012-09-19 19:07 ` Ramsay Jones [this message]
2012-09-20 7:13 ` Michael Haggerty
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=505A17D5.2000406@ramsay1.demon.co.uk \
--to=ramsay@ramsay1.demon.co.uk \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=mhagger@alum.mit.edu \
--cc=sparse@chrisli.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).