Initial commit
first commit
Merge branch 'master' of github.com:pgoodman/granary
first commit
Added bin directory; changed how internal modules are intialized; added some comments.
Updated Makefile to include an install target
Fixed the printk thing
Working on support for qemu
Added an unsafe cast mechanism, and namespaced the dynamorio types
added relative include directories.
Added semi support for partial user space compilation with clang and clang++, which helped weed out some undefined symbols. Also started adding a C++ instruction type, which extends from the dynamorio instr_t. Right now I am going with the approach that all decoding is Level 3 decoding, which is likely slow but simplifies life, I hope. Next steps will be to look into if the decoding works, possibly by adding in a bit more user space support, which would enable easier testing at home.
Working on making parts of Granary compile in user space. I have it working on my Mac, but these changes likely will break the linux build, so this is a temporary commit to eventually test it on the Linux machines.
One minor change that conditionally pastes _ before symbols when compiling with clang, and doesn't do it otherwise.
One minor change that conditionally pastes _ before symbols when compiling with clang, and doesn't do it otherwise.
One minor change that conditionally pastes _ before symbols when compiling with clang, and doesn't do it otherwise.
I have basic instruction encoding and decoding apparently working in user space, at least for push %rbp. Will move on to instruction lists next.
Working on a generic list data structure.

The list will be used for, among other things, instructions. The list
is fairly strict in its use of value semantics, so at low/no
optimization levels, it is likely to perform poorly, but with
optimization it should fare well. This commit is mostly to test how the
kernel handles templates that appear in the .S generated files.
Working on the list data structure.

I have simplified the scope of list.h to being doubly linked list,
either embedded or not. I might do unrolling, but that is unimplemented.
WIP: working on generating functions for creating instructions, where the functions are generated from dr/x86/instr_create.h. Currently, the generated code results in a build failure.
WIP: made some progress on the generation of instruction functions. It seems many declarations from instr_inline.h didn't make it into dynamorio.h.