Skip to content

sgraham/dyibicc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dyibicc: A Small DynASM JIT C Compiler

This is a fork of chibicc which directly generates machine code via DynASM.

I renamed it from chibicc to dyibicc to avoid confusion between the two. But the code still overwhelmingly follows Rui's model and style.

Currently only supports Linux and Windows, and x64 only.

Build and test on Linux with:

$ ./m r
$ ./m r test

or on Windows (from a VS x64 cmd):

> m r
> m r test

r means Release, and can also be d for Debug or a for ASAN.

For example, using m a test -j1 would run the tests under an ASAN build, one at a time (the extra args -j1 are passed to the sub-ninja invocation).

On Linux, there is also a fuzzer target, which can be built by m f. This makes the main binary a libFuzzer runner. As the fuzzer doesn't yet understand C structure, it's only mostly only able to fuzz the tokenizer and preprocessor.