* Change copyright notice in all the places. Trying to get cmake to download all the things
* CMake refactor
* Added the lib repository installer
* Fixed a couple of paths in library repository scripts
* Spelling and a missing .gitignore file.
* The google test library was not correctly linked
* Removed the pre-compiled XED library
* Removed unused files; fixed the INSTALL directives. Added automatic protobuf generation.
* Added a package generator script for ArchLinux
* Merged in Alessandro's cmake magic
* Cleanups, compatibility changes
* CMake cleanup.
o Removed the cmake folder as it is no longer used.
o Removed the library_repository_installer directory and
replaced it with a submodule to the newly introduced
cxx_common repository.
o Added the 'use_remill_semantics' branch of mcsema as a
submodule under tools/cmake.
o Updated the README instructions (added --recursive to the
git clone command).
Warning: the mcsema submodule is pointing to my fork of the
repository!
* CMake: avoid re-defining the C/CXX/ASM compiler.
This will prevent CMake from looping forever when using submodules.
* The tools/mcsema submodule now points to the official repository.
* mcsema submodule update
* Updated the mcsema git submodule to track the newest changes.
* Various CMake fixes (see details).
o External include headers were not correctly marked
as SYSTEM. This caused them to output warnings and
break the build.
o The PROJECT_SOURCE CMake variable has been replaced
with CMAKE_SOURCE_DIR.
o Updated the mcsema submodule to point to the latest
CMake fixes.
* Getting closer to having the test case runner work again without using the CFG protobufs.
* Trying to make things use ubuntu clang/llvm packages
* Update to the mcsema submodule.
* Minor changes for llvm version compatibility
* Test cases should run now. Had to compile the lifted testcases to a .S file, as with the .bc file, they were being optimized away.. I think. The compilation to assembly seems unusually slow, though.
* Minor change
* Some stuff for llvm 4.0 support
* Remove mcsema sub-module
* Remove cxx-common submodule
* First steps toward getting travis working again
* Attempt at getting travis working again
* Using https for cloning instead of ssh
* Minor build script update
* Added ISEL_ prefix to isels to make it easier for ForEachISel to find them. Commented out the defer_inlining intrinsics.
* Changes related to mcsema2
* Simplify runtime targets generation. (#110)
* CMake refactor: Added a new language 'BC' for the bitcode (see details).
The language is used to generate the runtimes used by the architecture
modules. The required executables (clang++ and llvm-link) are
automatically detected in the same way as other compilers are.
A new CMake function has been added and it can be used to easily
generate runtime targets in a way similar to add_executable:
add_runtime(<name> SOURCE <source list> ADDRESS_SIZE <n>
DEFINITIONS <definition list>)
Additionally, all files ending with the *.bcpp extensions will
automatically invoke the bitcode compiler when listed in an
active target.
This should open support for parallel compilation! You just have to
list all your .cpp files when calling add_runtime.
* CMake: Fixes to the BC language handler.
* CMake/BC: Use '.bo' for object files. X86 runtime: Add -g/-O flags.
* Added a check to is_call that uses IDA's flow chart to determine whether an indirect call does not return. Added a check to is_code that filters out EAs inside of jump tables. Added loop mnemonics to PERSONALITIES.
* Updating instructions in README to reflect recent install experiences. Removed `cd ..`, added instructions for working with IDA on 64 bit Ubuntu, updated 2.4.1 to 2.6.1 like in the Travis Linux script.
* Change 6 hash heading to 5 hash.
* Change is_code to be a little neater.
* Removed IDA structural check. Added is_code checks to addresses returned from get_static_successors. Moved comment in README code block.
* Removed unnecessary import.
* Added simple how-to.
* Adding Douglas to ACKNOWLEDGEMENTS.
Issue 44 mmx support (#58)
* Should fix Issue #56. Used -isystem instead of -I, as it's an include of <cstdint> instead of "stdint.h". @erhlee-bird does this work on your system?
* Minor changes
* Remove old 'test' function.
* Start to MMX PUNPCK instructions.
* Initial example for a PUNPCK instruction.
* Cleanups to Operators.h. Specifically, to the signed versions of vector operations. They now more strictly enforce type safety. This caught a few bugs. Operators.h is arguable simpler as a result.
* MMX Instruction support(PADD/PSUB); Fix for handling signed operations;
* Should fix Issue #56. Used -isystem instead of -I, as it's an include of <cstdint> instead of "stdint.h". @erhlee-bird does this work on your system?
* Minor changes
* Cleanups to Operators.h. Specifically, to the signed versions of vector operations. They now more strictly enforce type safety. This caught a few bugs. Operators.h is arguable simpler as a result.
* merged conflict;
* MMX Instructions (PAVG/PHSUB/PMULHRS)
* Testcases for PADD/PSUB; Fix for signed/unsigned saturation;
* Test cases for PAVG/PABS/PACKSS; Fixes for MMX instructions handling;
* Fixed PACKSSWB instruction handling;
* PHADD/PHADDSW Instruction;
* PMAXSW/PMAXUB/PMINSW/PMINUB Instructions
* PCMP/PUNPCK/PMUL Instructions;
* Corrected space indentation;
* Fixed build issue;
* reimplemntation of instructions with saturation arithmetic
Minor syntax fixes. Added beginning of an implementation for EMMS.
Issue 44 mmx support (#65)
* Remove old 'test' function.
* Start to MMX PUNPCK instructions.
* Initial example for a PUNPCK instruction.
* MMX Instruction support(PADD/PSUB); Fix for handling signed operations;
* Should fix Issue #56. Used -isystem instead of -I, as it's an include of <cstdint> instead of "stdint.h". @erhlee-bird does this work on your system?
* Minor changes
* Cleanups to Operators.h. Specifically, to the signed versions of vector operations. They now more strictly enforce type safety. This caught a few bugs. Operators.h is arguable simpler as a result.
* merged conflict;
* MMX Instructions (PAVG/PHSUB/PMULHRS)
* Testcases for PADD/PSUB; Fix for signed/unsigned saturation;
* Test cases for PAVG/PABS/PACKSS; Fixes for MMX instructions handling;
* Fixed PACKSSWB instruction handling;
* PHADD/PHADDSW Instruction;
* PMAXSW/PMAXUB/PMINSW/PMINUB Instructions
* PCMP/PUNPCK/PMUL Instructions;
* Corrected space indentation;
* Fixed build issue;
* reimplemntation of instructions with saturation arithmetic
* PSLL/PSRL/PMUL instructions;
* Add in some missing arg parsing to Run.cpp. Set the minimum default log level in the test runner so that Travis logs don't explode so much, causing Travis to cancel an otherwise 'good' job.
* Update README.md (#62)
Fixed install path for install_gtest.sh
* Fixed failing testcases for PSLL/PSRA/PSRL/PACKSS
* Cleanup and resolved TODO comments;
* Added new testcases for MMX instructions;
* Fixes Issues #52 and #53. Addresses first comment of Issue #45.
* MIssing file
* Renaming test cases
* In progress changes. Moduler verifier is complaining about lack of \!dbg location entries. Adding a SourceWriter to produce something semi-useful.
* Linking lifted instruction code to printed out assembly code now works
* Added new instruction and testcase for CVTPI2PS. Made general improvements:
- made it so that disassembled instructions can be printed to a file, and linked back to the bitcode via debug info.
- eliminated the unnecessary _read and _write suffixes for registers in __remill_basic_block.
Mostly cosmetic changes. For example, limiting line length, putting spaces before the opening parens of loops, etc. Renamed all the semantics files to be cpp source files instead of header files. That stops cpplint from complaining about anonymous namespaces in headers ;-)