[PATCH] D12906: [RFC] Bug identification("issue_hash") change for CmpRuns.py

Orbán György via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 10 06:58:15 PST 2015


Hi,

Sorry for my late answer.
We fixed the plist parser for the CodeChecker it shoud process the
plist generated by the current trunk clang with the issue hash tags.

Right now CodeChecker does not support forwarding additional options
directly to clang (uses only the compiler options from the original
build command extended with options required for the static analyzer).
We already discussed such features. I think they will be implemented.
If you have any requirements feel free to create a new issue on our
github page, we can discuss them further there.

With the LD_PRELOAD (linux specific) technique we load a shared object
before every executable during the original build. In this shared
object we filter out the compiler calls (gcc, g++, clang ... it is
configurable) and create a compile command json file, like cmake. We
use these compilation commands to run the clang static analyzer.
With this technique we can create the compilation command json file
build system independent.

The official LD_PRELOAD documentation can be found here:
http://man7.org/linux/man-pages/man8/ld.so.8.html

Best regards,
Gyorgy



On Wed, Oct 28, 2015 at 1:59 PM, Honggyu Kim <hong.gyu.kim at lge.com> wrote:
> honggyu.kim added a comment.
>
> In http://reviews.llvm.org/D12906#274724, @o.gyorgy wrote:
>
>> Hi,
>>
>> You are right the diff is is based on the hash. We already tried to
>>  use an earlier hash generator (before the patch was introduced), which
>>  generates a slightly different plist, that is why the current version
>>  does not work with the patch.
>>  We will fix CodeChecker to use new hash tag introduced in the final
>>  patch (we did not change it so far because we didn't know what will be
>>  the accepted naming convention and plist format).
>
>
> Hi, thanks for the explanation. I will try again when it is modified based on the final patch.
>
>> We use LD_PRELOAD technique the log all the compiler calls, so no CC
>
>>  or CXX environment variable orverride is necessary.
>
>>  With the 'export CODECHECKER_VERBOSE=debug' enviromnet variable you
>
>>  can see the analyzer commands.
>
>
> I just cross-compiled Linux kernel using CodeChecker but I don't get the proper analysis result. I have fixed cross-compilation issue by adding --analyzer-target option to scan-build in http://reviews.llvm.org/D10356.
> Could you please explain more about LD_PRELOAD technique? I would like to more understand how it works.
>
> Kind regards,
>
> Honggyu
>
>
> http://reviews.llvm.org/D12906
>
>
>


More information about the cfe-commits mailing list