[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <931af9fe-3e42-9cc6-9bd5-74c1ef0e3114@infradead.org>
Date: Wed, 17 May 2017 19:53:35 -0700
From: Randy Dunlap <rdunlap@...radead.org>
To: Dan Carpenter <dan.carpenter@...cle.com>
Cc: linux-kbuild <linux-kbuild@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>, smatch@...r.kernel.org
Subject: Re: sparse on scripts/kconfig/*.c
On 05/16/17 02:43, Dan Carpenter wrote:
> On Mon, May 15, 2017 at 11:00:22AM -0700, Randy Dunlap wrote:
>> On 05/10/17 13:53, Dan Carpenter wrote:
>>> I have created some new tools to make this process easier.
>>>
>>> 1) First you still have to edit the Makefile:
>>>
>>> -HOSTCC = gcc
>>> +HOSTCC = ~/progs/smatch/devel/cgcc
>>>
>>> 2) Build the data with this command:
>>>
>>> ~/progs/smatch/devel/smatch_scripts/build_generic_data.sh --target scripts/
>>>
>>> The --target scripts/ is because we want to run smatch on the scripts/
>>> directory.
>>>
>>> 3) Run smatch:
>>>
>>> ~/progs/smatch/devel/smatch_scripts/test_generic.sh --target scripts/
>>>
>>> I just wrote this code today so it might be a bit rough perhaps. Let me
>>> know if you have any issues. It doesn't find anything like I said
>>> before, but hopefully this can help other people who want to run Smatch
>>> on user space code.
>>
>> Thanks, Dan.
>>
>> I get this when running build_generic_data.sh:
>>
>> readline() on closed filehandle FILE at /home/rdunlap/projects/smatch/smatch_scripts/../smatch_data/db/fill_db_caller_info.pl line 33.
>>
>
> Thanks, I will push a fix for this later today.
>
>> I see scripts/mod/* being built/checked ... but not scripts/kconfig/*.
>>
>> Any ideas?
>>
>
> Hm... It turns out we need to do a `make mrproper` between runs.
>
> make mrproper ; make allmodconfig ; ~/progs/smatch/release/smatch_scripts/build_generic_data.sh --target scripts/
> make mrproper ; make allmodconfig ; ~/progs/smatch/release/smatch_scripts/test_generic.sh --target scripts/
>
> When I remove the grep out the autogenerated code this is what is left
> grep -v .lex.c smatch_warns.txt | grep -v .tab.c
>
> scripts/kconfig/expr.c:1027 expr_compare_type() info: ignoring unreachable code.
> scripts/kconfig/symbol.c:1152 sym_check_print_recursive() error: we previously assumed 'prop' could be null (see line 1144)
> scripts/kconfig/symbol.c:1153 sym_check_print_recursive() warn: curly braces intended?
> scripts/kconfig/symbol.c:1155 sym_check_print_recursive() warn: inconsistent indenting
> scripts/kconfig/menu.c:662 get_symbol_str() error: we previously assumed 'sym' could be null (see line 649)
> scripts/mod/modpost.c:460 parse_elf() info: ignoring unreachable code.
> scripts/mod/modpost.c:504 parse_elf() info: ignoring unreachable code.
OK, I don't need to do it then. However, there are several other config
programs in scripts/kconfig/ that are not being checked by this.
I did a 'git pull' for updates. On the rebuild, I get this error:
macro_table.c:30:31: fatal error: cwchash/hashtable.h: No such file or directory
#include "cwchash/hashtable.h"
My problem?
thanks for your help.
--
~Randy
Powered by blists - more mailing lists