Modified form of sparse to generate checksums for exported kernel symbols through semantic processing
C Other Perl C++ Makefile Shell JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Documentation
compat
gvpr
validation
.gitignore
FAQ
LICENSE
Makefile
README
allocate.c
allocate.h
ast-inspect.c
ast-inspect.h
ast-model.c
ast-model.h
ast-view.c
ast-view.h
bitmap.h
c2xml.c
cgcc
cgcc.1
char.c
char.h
check_kabi.c
check_kabi.h
checksum.c
checksum.h
compat-bsd.c
compat-cygwin.c
compat-linux.c
compat-mingw.c
compat-solaris.c
compat.h
compile-i386.c
compile.c
compile.h
cse.c
ctags.c
dissect.c
dissect.h
evaluate.c
example.c
expand.c
expression.c
expression.h
flow.c
flow.h
gdbhelpers
graph.c
ident-list.h
inline.c
lib.c
lib.h
linearize.c
linearize.h
liveness.c
memops.c
obfuscate.c
parse.c
parse.dtd
parse.h
pre-process.c
ptrlist.c
ptrlist.h
scope.c
scope.h
show-parse.c
simplify.c
sort.c
sparse-llvm.c
sparse.1
sparse.c
sparse.pc.in
sparsec
sparsei
storage.c
storage.h
symbol.c
symbol.h
target.c
target.h
test-dissect.c
test-inspect.c
test-lexing.c
test-linearize.c
test-parsing.c
test-sort.c
test-unssa.c
token.h
tokenize.c
unssa.c

README

spartakus can be used to generate checksums for exported kernel symbols
through semantic processing of the source code using sparse. These checksums
would constitute the basis for kernel ABI checks, with changes in checksums
meaning a change in the kABI.

spartakus (which is currently a WIP) is forked from sparse and has been
modified to fit the requirements of semantic processing of the kernel source
for kernel ABI checks. This adds a new binary 'check_kabi' upon compilation,
which can be used during the linux kernel build process to generate the
checksums for all the exported symbols. These checksums are stored in
Module.symvers file which is generated during the build process if the
variable CONFIG_MODVERSIONS is set in the .config file.