# On Gentoo
echo "dev-libs/capstone python" >> /etc/portage/package.use/checksysasm
emerge dev-libs/capstone dev-python/pyelftools gentoolkit
# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate
# Install
pip install -e .
# Verify
checksysasm --versionchecksysasm -m x86-64-v2 -o violations.txtchecksysasm -m nativechecksysasm -m x86-64-v2 --check-binary /usr/bin/python3 -vchecksysasm -m x86-64-v2 --package-report packages.txtchecksysasm -m x86-64-v2 --no-kernel-modules -j 8# Text (default)
checksysasm -m x86-64-v2 -o report.txt
# JSON
checksysasm -m x86-64-v2 --format json -o report.json
# CSV
checksysasm -m x86-64-v2 --format csv -o report.csv
# Simple list
checksysasm -m x86-64-v2 --format list -o files.list| Level | Includes | Use Case |
|---|---|---|
x86-64 |
SSE2 | Legacy (pre-2010) |
x86-64-v2 |
SSE4.2, POPCNT | Modern baseline (2010+) |
x86-64-v3 |
AVX2, BMI, FMA | Recent CPUs (2015+) |
x86-64-v4 |
AVX-512 | High-end only (2017+) |
checksysasm -m haswell # 2013-2015
checksysasm -m skylake # 2015-2017
checksysasm -m cascadelake # 2019+checksysasm -m znver1 # Zen 1 (2017)
checksysasm -m znver2 # Zen 2 (2019)
checksysasm -m znver3 # Zen 3 (2020)
checksysasm -m znver4 # Zen 4 (2022)0= All binaries compliant1= Violations found
[1] /usr/bin/example
Extensions: avx2
Instructions:
[avx2] vperm2i128, vbroadcasti128
Meaning: Binary uses AVX2 instructions, won't run on CPUs without AVX2.
-
Rebuild package (Gentoo):
emerge -av category/package
-
Use package report to rebuild many:
checksysasm -m x86-64-v2 --package-report packages.txt # Review packages.txt and rebuild as needed -
Ignore if upgrading hardware (new CPU supports extensions)
source venv/bin/activate
pip install pyelftoolssudo checksysasm -m x86-64-v2# Use more workers
checksysasm -m x86-64-v2 -j 16
# Skip kernel modules
checksysasm -m x86-64-v2 --no-kernel-moduleschecksysasm --helpREADME.md- Complete documentationEXAMPLES.md- Detailed examplesINSTALL.md- Installation guidePROJECT_SUMMARY.md- Technical details