Commit Graph

20 Commits

Author SHA1 Message Date
Eric Kilmer c170c28de2 Remill binary docker (#657)
* Install remill from published Docker images instead of from source
* Use anvill docker image for anvill parts
2020-08-10 15:18:09 -04:00
Peter Goodman 2d55d02cc3 API improvements. Must be used with the api_improvements branches of Remill and Anvill (#666)
* 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>
2020-07-23 02:14:56 -04:00
Artem Dinaburg 28dd4a717d Set up Github Actions and use a new Dockerfile based on the remill image (#650)
* Set up Github Actions and use a new Dockerfile based on the remill image
2020-05-07 02:04:07 -04:00
Alessandro Gario b133125634 CMake: Add ccache support (#604) 2019-11-18 11:38:52 -05:00
Alessandro Gario 1a96bd3712 Update links and remotes to the new organization name (#598)
* 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
2019-10-27 12:56:23 -04:00
Peter Goodman 376479256d Enable builds with GCC (#527)
* Enable builds with GCC

* Update travis.sh
2019-03-13 09:49:27 -04:00
kumarak 91f6f26399 fix parallel make (#525) 2019-03-09 12:56:38 -05:00
Peter Goodman 18058dff3d Update travis.sh (#526)
Remove old version numbers, add new ones.
2019-03-08 12:37:30 -05:00
artemdinaburg 1ef3ed2cd3 Initial attempt at running Binary Ninja in CI instances (#489)
* Initial attempt at running Binary Ninja in CI instances

* Automatically update Binary Ninja to Dev Channel Latest

* is_update_installation_pending is a function
2018-11-01 14:16:06 -04:00
Peter Goodman 16cdff4f3b Update travis.sh (#469) 2018-09-23 15:25:41 -07:00
Alessandro Gario d176bf8f2e Add a new CMake variable to enable/disable ABI libraries (#456)
* 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
2018-09-06 18:39:35 -04:00
Alessandro Gario 4143a74905 WIP: Add Windows support (#385)
* 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 4154fe1e11 8fbfcee113 M  CMakeLists.txt
:040000 040000 4bb5e0a484 491dba1a1d M  mcsema
:040000 040000 28398aa746 2461062d36 M  scripts
:040000 040000 97f8342b53 c1487df961 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.
2018-08-29 14:42:54 -04:00
artemdinaburg d2582c7abd 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
2018-05-22 21:13:43 -04:00
kumarak 1cc571b11f Support for --abi_library flag to call the external functions with explicit arguments. (#387)
* 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
2018-03-22 11:09:13 -04:00
artemdinaburg 5dd79c35df Update README, Make --prefix work, check test results (#353)
* 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
2018-01-18 19:50:54 -05:00
Alessandro Gario 98575e728f This PR adds support to LLVM 3.5/3.6/3.7/3.8/3.9/4/5 to Travis (#326)
* Travis: Enable LLVM 3.6.2, 3.7.1, 3.8.1, 3.9.1, 4.0.1, 5.0.0
* Travis: Cache the cxx-common packages in a dedicated folder
2017-11-11 23:45:13 +01:00
Alessandro Gario dc71c7b87d Travis - Automatically test both LLVM35 and LLVM40 (#325)
* 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.
2017-11-10 17:45:32 -05:00
Alessandro Gario 58a09742ce Travis: Make sure the zlib1g-dev package is installed (#324) 2017-11-10 14:43:09 +01:00
Alessandro Gario 6015890d14 This PR enables the XZ test (#312)
* Travis: Enable the XZ test.

* Travis: Show the clang command line when recompilation fails.
2017-11-06 13:22:50 -05:00
Alessandro Gario 406e674636 Add Travis support to the use_remill_semantics branch (#310)
* 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
2017-11-05 16:18:21 -05:00