Bringing things in the direction of using 'memory' intrinsics. I'm still not super pleased with some of the APIs but its a reasonable start and things seem to be working (I think).

This commit is contained in:
Peter Goodman
2015-11-14 01:30:01 -05:00
parent 602c927559
commit 8d7cb99f8f
26 changed files with 878 additions and 474 deletions
+8 -8
View File
@@ -86,20 +86,20 @@ echo "${YELLOW}Generating architecture-specific state files.${RESET}"
cd $DIR
CXXFLAGS="-std=gnu++11 -g0 -O0 -fno-exceptions -fno-rtti -fno-asynchronous-unwind-tables -I${DIR}"
$DIR/third_party/llvm/build/bin/clang++ -x c++ -m32 -DADDRESS_SIZE_BITS=32 $CXXFLAGS -E - \
< $DIR/mcsema/Arch/X86/Semantics/State.inc \
> $DIR/generated/Arch/X86/Semantics/State32.cpp
< $DIR/mcsema/Arch/X86/Semantics/MACHINE.inc \
> $DIR/generated/Arch/X86/Semantics/MACHINE32.cpp
$DIR/third_party/llvm/build/bin/clang++ -x c++ -m64 -DADDRESS_SIZE_BITS=64 $CXXFLAGS -E - \
< $DIR/mcsema/Arch/X86/Semantics/State.inc \
> $DIR/generated/Arch/X86/Semantics/State64.cpp
< $DIR/mcsema/Arch/X86/Semantics/MACHINE.inc \
> $DIR/generated/Arch/X86/Semantics/MACHINE64.cpp
$DIR/third_party/llvm/build/bin/clang++ -g3 -m32 -DADDRESS_SIZE_BITS=32 $CXXFLAGS -emit-llvm \
-c $DIR/generated/Arch/X86/Semantics/State32.cpp \
-o $DIR/generated/Arch/X86/Semantics/State32.bc
-c $DIR/generated/Arch/X86/Semantics/MACHINE32.cpp \
-o $DIR/generated/Arch/X86/Semantics/MACHINE32.bc
$DIR/third_party/llvm/build/bin/clang++ -g3 -m64 -DADDRESS_SIZE_BITS=64 $CXXFLAGS -emit-llvm \
-c $DIR/generated/Arch/X86/Semantics/State64.cpp \
-o $DIR/generated/Arch/X86/Semantics/State64.bc
-c $DIR/generated/Arch/X86/Semantics/MACHINE64.cpp \
-o $DIR/generated/Arch/X86/Semantics/MACHINE64.bc
# Generate the protocol buffer file for the CFG definition. The lifter will