A C/C++ code callchain checker
Project description
ccc
is the callchain checker used in DEAD.
To build just the clang tool
Prerequisites: cmake
, make
, clang/llvm
13/14.
mkdir build
cd build
cmake ..
cmake --build . [--parallel]
cmake --install . --prefix=/where/to/install/
Usage
cat test.c
int bar();
int foo(){
return bar();
}
./build/bin/ccc test.c --from=foo --to=bar --
call chain exists between foo -> bar
Python wrapper
pip install callchain-checker
To use the checker in python import from callchain_checker.callchain_checker import callchain_exists
:
callchain_exists(program: diopter.SourceProgram, source_function: str, target_function:str) -> bool
Building the python wrapper
Local build
./build_python_wheel_local.sh #this will build the current branch
pip install .
Docker based build
docker run --rm -e REVISION=REV -v `pwd`:/io theodort/manylinux-with-llvm:latest /io/build_python_wheel_docker.sh
This will build multiple wheels for REV
with multiple python versions.
The output is stored in the wheelhouse
directory.
The docker image is based on https://github.com/thetheodor/manylinux-with-llvm.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file callchain_checker-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: callchain_checker-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 16.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | abf740d7cda2e4e353fa66b4ec5a611ad07d1ebadf18b07aa7965545e31b5fdf |
|
MD5 | 319c66e49d374dce4b494e9055b7d4da |
|
BLAKE2b-256 | 8cc250963168d36308f4cbdd3fb1c4773137ee1250647b6e08661740344914ff |
File details
Details for the file callchain_checker-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: callchain_checker-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 16.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69d24719ceee15d2f8c89a781674d46054876e33141d588ad182dfa91a5816c3 |
|
MD5 | 5a5401c3613b116a0d8fcff9d6a977c5 |
|
BLAKE2b-256 | c48e902d93b4b3ff25296d59154dee342ec5ee9f49f3d49a6e6a4e2d1815fff7 |