* API improvements. Must be used with the api_improvements branch of both Remill and McSema
fixes for x86 and running the lifted code with klee
* Update dockerfile to clone anvill
* update remill commit id
* Add python3 to dockerfile
* update python3
* disable abi script
* Updated cmake to find anvill
* Update main.cpp
* update find_package for anvill
* WIP:updated prebuild cfg
* update prebuild cfg files
* enable abi build for testsuite
* Fix memory leak
* install missing package for testcases
* frontend: Reflect cfg file changes in dyninst frontend.
* frontend: Update local files copyrights to reflect overall change to agplv3.
* fix failing testcases
* update test cfgs
* Fix test failure with local state pointer
* set the flag to use local state_ptr in default mode
Co-authored-by: kumarak <iit.akshay@gmail.com>
Co-authored-by: Lukas Korencik <xkorenc1@fi.muni.cz>
* Docs: Update links with the new organization name
* CI/Travis: Update remotes with the new organization name
* mcsema-disass: Update links with the new organization name
* Dockerfile: Update remotes with the new organization name
* Initial attempt at running Binary Ninja in CI instances
* Automatically update Binary Ninja to Dev Channel Latest
* is_update_installation_pending is a function
* Add a new CMake variable to enable/disable ABI libraries
By default, all ABI libraries are disabled.
To skip the 'Linux' ABI library:
cmake -DMCSEMA_DISABLED_ABI_LIBRARIES:STRING="Linux"
* Enable all ABI libraries in Travis
* CMake: Small refactor, style changes
* CMake: Fix the install target for Windows
* Windows: Add build instructions
* CMake: Add support for find_package(remill)
* CMake: Fail when the Python package can't be installed
* CMake: Fix the 'install' target on Linux
* CMake: Copy the Updated settings.cmake from Remill
* Travis: Update the build script
* Update the remill commit id
* CMake: Only use C++14 when compiling on Windows
* CMake: Fix the Python package installer
* Update the Windows documentation
* Update .remill_commit_id
Update to track the tip of master
* Change default install location to /usr/local
* Indentation fixes
* Fix CMake error introduced in d2582c7
This regression has been in the branch for a while, and it is caused
by the ABI library in mcsema/OS/Linux. The commit that introduced the
problem enabled an 'add_subdirectory' directive that was initially
commented out.
The problem with CMake was primarly due to the 'project(name BC)'
statement, trying to enable back the BC language (which was removed
due to broken Visual Studio support).
I've kept the add_subdirectory enabled, but only when building on
linux. CMake works fine now, but compilation fails due to missing
include headers referenced by ABI_libc.h (like ultrasound.h, which
appears to come from the kernel headers).
=======
alessandro@tob-ubuntu1804-remill:~/Projects/remill/tools/mcsema$ git bisect run /tmp/bisect.sh
running /tmp/bisect.sh
CMake has failed to configure the project!
Bisecting: 5 revisions left to test after this (roughly 3 steps)
[67164c725e] Update README.md
running /tmp/bisect.sh
CMake has successfully configured the project!
Bisecting: 2 revisions left to test after this (roughly 2 steps)
[d2582c7abd] Build Tests in Travis (#406)
running /tmp/bisect.sh
CMake has failed to configure the project!
Bisecting: 0 revisions left to test after this (roughly 1 step)
[a708bafc42] InlineAsm function type mismatch (#409)
running /tmp/bisect.sh
CMake has successfully configured the project!
d2582c7abd is the first bad commit
commit d2582c7abd
Author: artemdinaburg <artem@dinaburg.org>
Date: Tue May 22 21:13:43 2018 -0400
Build Tests in Travis (#406)
Always generate integration tests and then run the generated integration tests travis. We get around a lack of IDA by providing pre-built CFGs for examples.
Closes#407
:100644 100644 4154fe1e118fbfcee113 M CMakeLists.txt
:040000 040000 4bb5e0a484491dba1a1d M mcsema
:040000 040000 28398aa7462461062d36 M scripts
:040000 040000 97f8342b53c1487df961 M tests
bisect run success
* Fix for building 32-bit abi libraries
* Minor cmake tweaks
* Install 32-bit libraries on Travis-CI for Linux
* Fix installation of 32-bit libs to work around travis bug
* Handle C++ bitcode files
* Bump remill commit id
* Support bc file generation on ubuntu 14.04
* Bump the Remill commit ID.
Always generate integration tests and then run the generated integration tests travis. We get around a lack of IDA by providing pre-built CFGs for examples.
Closes#407
* Add initial support for --abi_library flags
* support for abi_library
* Remove the weak linkage for __mcsema_debug_get_reg_state.
* Fix num of agruments for __cxa_allocate_exception
* Remove --library flag and cleanup
* Don't reload/overwrite mcsema::gModule after loading in the protobuf.
* Use PrepareModuleDataLayout to avoid checks for __remill_basic_block function.
* Bump the remill commit id to support --abi_library flag
* Fix travis build failure
* Initialize the test log filename;
* trim newline char from the eof
* The test runner now knows about mcsema installations that aren't global
* We now check the output of the integration test suite in travis. This will cause travis to fail since we're currently failing tests
* Lots of README updates
* Use like 99% less sudo
* Better script to fix local IDA Python installations
* Support for building local installs in a virtualenv
* Remove the protobuf install that led people astray
* Travis: Add LLVM35, do not use the Clang static analyzer when using LLVM < 4.0.0
* Travis: Use sudo when cleaning up between tests (see details).
Installing with 'sudo make install' leaves some files that are
owned by root in the build folders.
* Imported the new test framework
* Added the new Travis script
* Change Ubuntu version to Xenial (16.04)
* Travis: Various fixes; also enabled CMAKE_VERBOSE_MAKEFILE
* Travis: The test binaries were being excluded by gitignore. Add clang's static analysis
* Travis: the CC and CXX variables were not being set
* Travis: Explicitly set the compiler (CMAKE_CXX_COMPILER) along with the CXX env var
* Travis: Disable the XZ test (currently broken), show the clang static analyzer summary
* Travis: Move the CI shellscript to the script folder. Add src headers
* Travis: Test a known Remill version to avoid random breakages