Re: [PATCH] test-string-list.c: Fix some sparse warnings
On 09/19/2012 09:07 PM, Ramsay Jones wrote: > Michael Haggerty wrote: >> 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. Yes, I'm running 64-bit Ubuntu 12.04 "precise". I installed sparse from the Ubuntu "multiverse" repository. It is package version 0.4.3+20110419-1 in Ubuntu's notation. Thanks very much for all the info. I hadn't heard of sparse before and thought that using it might help me avoid submitting patches with problems like the ones you detected. It does seem promising! But since it seems a bit fiddly to get it running, and even then has some problems, it doesn't sound like the simple pre-submit checklist item that I had imagined. Michael -- Michael Haggerty mhag...@alum.mit.edu http://softwareswirl.blogspot.com/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] test-string-list.c: Fix some sparse warnings
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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] test-string-list.c: Fix some sparse warnings
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 Michael -- Michael Haggerty mhag...@alum.mit.edu http://softwareswirl.blogspot.com/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] test-string-list.c: Fix some sparse warnings
Queued. Thanks. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html