FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

liushaoxing321/dragonball: GCC Frontend -> GIMPLE -> Clang AST -> Clang Analyzer Checker · GitHub

Latest commit

 

History

33 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DragonBall

dragonegg was really just a proof of concept: Extracting the abstract syntax tree from GCC would need to be complete enough to be usable as input to a proprietary compiler backend.

Clang Tidy is a proof that libclangStaticAnalyzer (Clang Static Analyzer library) is reusable through AST gate.

So DragonBall is GCC Frontend -> GCC GIMPLE -> Clang AST -> Clang Analyzer Checker to static analysis Linux kernel and other only for GCC open source projects. and it also provides LLVM PASS to modify IR for ARE (Anti-Reverse Engeering) purpose.

Build

Fedora 25

# dnf upgrade --refresh
# dnf install gcc-plugin-devel llvm-devel ncurses-devel zlib-devel gcc-c++ redhat-rpm-config
$ make clean
$ DRAGONBALL_DEBUG=1 make -j4

Debug

Fedora 25

$ gcc -fplugin=./dragonball.so \
    -fplugin-arg-dragonball-debug-pass-arguments \
    -ftime-report \
    -fverbose-asm \
    -fplugin-arg-dragonball-enable-gcc-optzns \
    -fplugin-arg-dragonball-emit-ir \
    -S \
    test/GIMPLE/bare.c \
    -wrapper gdb,--args

About

GCC Frontend -> GIMPLE -> Clang AST -> Clang Analyzer Checker

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages


Back | FazBrowse Home | New Git URL