Sigil2 has been updated and rebranded here. Apologies for the inconvenience 🙏.
mmmmm...Sigil...
Provides an extensible interface to architecture-agnostic application events.
💥 C++14 compiler support is required 💥
💥 cmake v3 required 💥
See CentOS 7 Support
git clone https://github.com/VANDAL/sigil2
cd sigil2
mkdir build && cd build
cmake ..
make -j
The executable will be put in build/bin
. It can be run in place, or the folder can be moved to an install location.
Uses a straight-forward intermediate representation (IR) for system architecture and application behavior studies.
Sigil2 provides the dynamic behavior of an application with 4 event primitives:
- Compute - IOPs & FLOPs
- Memory - data access
- Synchronization - task-level create, join, sync, et al
- Context - markers for basic blocks, subroutines, instructions, etc
- Control Flow support is pending community demand
Each event has specific attributes that are accessible via the Sigil2 API
- Valgrind is the default frontend for generating events, if no option is specified
- SynchroTraceGen backend processing events into a special event trace
$ bin/sigil2 --backend=stgen --executable=./myprogram -with --args
Users supply at least 2 arguments to Sigil2:
- the backend analysis tool used to process events
- the application
A third frontend argument can be supplied
--frontend=FRONTEND
--frontend=dynamorio
is experimental
Linux | OSX/macOS | Windows |
---|---|---|
64-bit CentOS 7 on x86_64 | untested | not supported |
YMMV: ARM |
sudo yum install epel-release
sudo yum install centos-release-scl
sudo yum install cmake3 devtoolset-6
scl enable devtoolset-6 bash
# use cmake3 and build and usual
See Software Collections for details.