Skip to main content

A C/C++ code callchain checker

Reason this release was yanked:

Binary ccc not included by accident

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

callchain_checker-0.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (116.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

callchain_checker-0.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (116.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file callchain_checker-0.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for callchain_checker-0.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79f64af630986a8d70fe72624b9e6ae3445205f2b459949e8e01b949ad6e3c11
MD5 579c39acfe6941525682dbaa4b56b498
BLAKE2b-256 2a97be2c1d90b791591a4ff456e1a68e08331086c85836512a826dfb8195012a

See more details on using hashes here.

File details

Details for the file callchain_checker-0.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for callchain_checker-0.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cb648e6300986611d41baa2fe06d686dc5704a70adcb1bc4629660b1d9d1cef0
MD5 40598e6c9274e1ccddd8c995e16528b0
BLAKE2b-256 f398f155fdf3d01b8153b7f6734fb8718c325c1682b745b32a75080779ecd1c4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page