I'm trying to create a database for qemu (a C project, which is in the same directory as smatch) and I've tried running the following script: . ./smatch/devel/smatch_data/db/create_db.sh, but it's not working, what should I do? > -----原始邮件----- > 发件人: "Dan Carpenter" <dan.carpenter@xxxxxxxxxx> > 发送时间: 2023-11-09 15:57:03 (星期四) > 收件人: "李书畅" <lishuchang@xxxxxxxxxxx> > 抄送: smatch@xxxxxxxxxxxxxxx > 主题: Re: about using smatch in all debian C code > > On Thu, Nov 09, 2023 at 01:28:35PM +0800, 李书畅 wrote: > > Hello Dan, I am an undergraduate student of Dongliang Mu's team. > > I'm recently working on a project on how to run smatch in all debian > > C code, but I found that there is little documentation on use smatch > > on code other than the linux kernel,so I am having trouble with this > > project. > > > > I'd like to ask you what do I need to do to use smatch (simplifying > > some of the rules is fine) in general C code, and is there > > documentation that can help? > > Basically you want to call smatch with all the same arguments that you > pass to GCC plus some specific smatch arguments at the begining. > > That's kind of what the cgcc script is supposed to do. So maybe you > could: > export REAL_CC=$(which gcc) > export CHECK="/path/to/smatch --info" > > (The --info argument will generate a ton of output so that's one way to > be sure it's working). > > Then if you were just checking one project, I would say to modify the > Makefiles to call cgcc instead of gcc but if you're checking everything > maybe move the real gcc to real_gcc and move cgcc to /usr/bin/gcc > > The other issue that you're going to run into is with recursive > Makefiles where it cd's to a different directory before building things. > In that situation the warnings just say "foo.c:123 warning blah blah blah". > So what you want to do is pass --full-path. > > export CHECK="/path/to/smatch --info --full-path" > > Anyway, I haven't done any of this before so I can't promise it will > work. Let me know either way. Let me know any issues you run into and > I'll see what I can do to help. > > I'm traveling for a week so I might not very responsive until Nov 20. > > regards, > dan carpenter