Skip to content
This repository has been archived by the owner on Aug 23, 2022. It is now read-only.

Releases: lifting-bits/mcsema

v3.0.16

26 Jan 17:47
bc4d47f
Compare
Choose a tag to compare
Fix python2.7 paths due to Py2.7 EOL (#723)

* Fix python2.7 paths due to Py2.7 EOL

v3.0.15

20 Jan 01:08
372a3fc
Compare
Choose a tag to compare
Fix the maze example with KLEE (#719)

The x86 and x86_64 binaries are re-compiled with clang-10 from the
vcpkg, cxx-common libraries, because KLEE would fail with segfault if
the LLVM bitcode is lifted from binaries compiled with GCC (10.2.0). It
may be worth looking into why KLEE fails with the bitcodes lifted from
GCC compiled binaries in this case.

The AArch64 binary is re-compiled with aarch64-linux-gnu-gcc (10.2.0),
but mcsema-lift-10.0 fails with the following message.

```
F1228 23:41:38.079257 120074 Analyze.cpp:491] Check failed: dest_size < 64u (64 vs. 64)
*** Check failure stack trace: ***
    @          0x11601cc  google::LogMessageFatal::~LogMessageFatal()
    @           0x785c3c  anvill::XrefExprFolder::VisitTrunc()
    @           0x786108  anvill::XrefExprFolder::VisitICmp()
    @           0x660113  mcsema::(anonymous namespace)::LowerXrefs()::$_1::operator()()
    @           0x65b388  mcsema::(anonymous namespace)::LowerXrefs()
    @           0x65a458  mcsema::OptimizeModule()
    @           0x657bdc  mcsema::LiftCodeIntoModule()
    @           0x66e9ee  main
    @     0x7ffb0e016152  __libc_start_main
    @           0x61bafe  _start
    @              (nil)  (unknown)
```

I have not tried compiling the AArch64 binary with clang
(`-target aarch64-linux-gnu`). It may be worth trying and see if the
resulting bitcode works with KLEE.

v3.0.14

16 Dec 16:37
40d5cc7
Compare
Choose a tag to compare
MacOS CI: Fix Python tool test with PYTHONPATH (#718)

v3.0.13

11 Dec 00:58
24db01c
Compare
Choose a tag to compare
Support vcpkg build system (#717)

First step towards transitioning away from cxx-common's `pkgman.py` dependency management system towards compatibility with and use of vcpkg (https://github.com/microsoft/vcpkg) to manage dependencies.

This commit attempts to support both the new and old build systems until we can phase out the old completely.

Please see the updated remill, anvill, and trailofbits/cxx-common repositories to learn how to fetch the required dependencies.

v3.0.12

12 Nov 20:42
5dec010
Compare
Choose a tag to compare
Disable building any 32-bit runtimes. (#712)

v3.0.11

11 Nov 23:15
21970a5
Compare
Choose a tag to compare
Fixes one egregious bug in how we alias registers. What would happen …

…is that AL/AH, DL/DH, etc. would all map to the same alias because their containing register and types would be the same. Modified register aliases to have the form <name>_<offset>_<type>. Also fixed an issue in mcsema-disass where the main function wouldn't be recognized as a function, and thus not lifted. (#710)

v3.0.10

05 Nov 19:15
e90cc18
Compare
Choose a tag to compare
Update .remill_commit_id

v3.0.9

26 Oct 02:39
c96402c
Compare
Choose a tag to compare
Fixes issue identified by BoLei related to a function that has no ass…

…ociated basic blocks in the CFG (#707)

v3.0.8

19 Oct 18:43
ecc8ba9
Compare
Choose a tag to compare
Fixes Issue #704 (#705)

v3.0.7

16 Oct 19:07
fa2d4b3
Compare
Choose a tag to compare
Update dyninst frontend (#701)

* cmake: Set c++ standard to c++17.

* dyninst: Properly set is_referenced_by_data if bb is target of data reference.

* dyninst: Always set some value to is_reference_by_data field.

Co-authored-by: Peter Goodman <peter@trailofbits.com>