Commit Graph

12 Commits

Author SHA1 Message Date
Eric Kilmer 339800eda3 Rework Docker Image build (#741)
* Try reworking Docker image

* Fix some old behavior for building abi libraries

I don't think the result is actually usable...

* Remove most Python2 references

Still left some references to python2 for helper scripts since they
aren't tested (afaik) in CI

* Fix CI

* Remove old CMakeLists.txt and remove support for old TRAILOFBITS_LIBRARIES method of building

* Update README
2021-03-05 16:43:20 -05:00
Peter Goodman 31f267bd5f Cmake refactor (#693)
* Update to latest remill APIs and way of using CMake.

* Minor fixes

* Bug fixes for AArch64

* Tweaks

* Adds some nifty functionality useful for debugging some aarch64 bugs

* Fixes a subtle bug

* Bug fixes

* Make the test suite use explicit args

* Bug fix in xrefs

* Disable tests for now
2020-09-22 23:22:56 -04:00
Peter Goodman c002b8505c Formats the code with clang-format and my additional stylistic mojojojo (#682) 2020-08-05 16:14:01 -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
Eric Kilmer effd27daa9 Small final docker image (#655)
* Small final Docker image
* Ubuntu 20.04 support
* LLVM10 Fixes
2020-05-21 02:04:38 -04:00
artemdinaburg 38b3a78a58 Removes ultrasound.h form ABI_libc.h as it only defines macros and is not present on newer systems (#463) 2018-09-15 13:07:51 -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 7da9994c37 Guard amd64 specific function calls in ABI_libc (#447)
* Put a compile-time guard around amd64 specific function definitions
2018-08-05 17:39:49 -04:00
Peter Goodman 23800ebb8a Fstack protector (#434)
* Adds a new command-line option that adds a request for stack protection on lifted functions.

* Add the stack protector request to more locations

* Add gets to the libc abi.
2018-07-10 09:49:44 +10:00
kumarak ba151ee990 Missing ios_base destructor (#416)
* Fix the exit fuction issue

* remove RTT object added as external;
2018-05-23 12:15:53 -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
Peter Goodman a2fa36ab01 Llvm 600 compatibility (#399)
* Update code for LLVM 6.0 compatibility

* Move the OS dir.

* Minor edit

* Update .remill_commit_id

Update to LLVM 6.0-compatible Remill branch.
2018-04-13 21:25:45 -04:00