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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|