From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752231AbdEPJn5 (ORCPT ); Tue, 16 May 2017 05:43:57 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:51439 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752042AbdEPJnw (ORCPT ); Tue, 16 May 2017 05:43:52 -0400 Date: Tue, 16 May 2017 12:43:08 +0300 From: Dan Carpenter To: Randy Dunlap Cc: linux-kbuild , LKML , smatch@vger.kernel.org Subject: Re: sparse on scripts/kconfig/*.c Message-ID: <20170516094308.c62gxxaopegqfxym@mwanda> References: <20170510101838.c5nwzaraeybyypwj@mwanda> <20170510205357.xshdaack6mwku5np@mwanda> <605fc799-70c1-14af-904d-723b43ab9025@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <605fc799-70c1-14af-904d-723b43ab9025@infradead.org> User-Agent: NeoMutt/20170113 (1.7.2) X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. regards, dan carpenter