Skip to content

Releases: lifting-bits/remill

Version v5.0.7

18 Aug 11:21
c0f90b9
Compare
Choose a tag to compare

Changelog

The following are the changes that happened between versions irene2-final and v5.0.7

  • 854c73e - Ian/instruction carry lifter (#615)
  • c0f90b9 - Add Context Structure to Affect State Dependent Liftings (#617)

Version v5.0.5

28 Jul 23:29
81f5f96
Compare
Choose a tag to compare
Version v5.0.5 Pre-release
Pre-release

Changelog

The following are the changes that happened between versions v5.0.4 and v5.0.5

  • fd82a20 - WIP to support opaque pointers
  • 056be95 - More fixes
  • 36ff255 - Reword comment
  • e3b43d1 - Remove more usages of PointerElementType
  • 05df435 - Merge remote-tracking branch 'origin/master' into alex/opaque-ptr
  • 080969e - Simplify BuildPointerToOffset to index at byte granularity rather than using underlying element size
  • e266fa9 - Refine APIs
  • 4cc8253 - Deprecate Arch::StatePointerType
  • ba4429a - Move state type check
  • e9c9af1 - Revert "Deprecate Arch::StatePointerType"
  • 7fdcb51 - Propagate underlying type from LoadRegAddress
  • 20bc423 - Get state type from __remill_state variable instead of searching by type name
  • 67c5fd0 - Add Arch::RegisterWindowType to avoid searching by struct name
  • 669166d - Retrieve types properly from missing cases in FindVarInFunction
  • 752ddf3 - Enable opaque pointers in each spot where we make an LLVM context
  • 1a7ccbb - Stop testing with LLVM 13 since we're not aiming to be backwards compatible
  • 385150a - Move state and register window globals into Intrinsics.cpp
  • 6873a4c - Support opaque pointers
  • 65549b3 - Pass opaque pointer flag to Clang so it can handle Remill's IR (#605)
  • 66ef46b - Remove compatibility for LLVM < 14 (#606)
  • eef338d - Ian/sleigh support rebased (#607)
  • 81f5f96 - Prevent the instruction category from being overwritten after a fused call/pop has been recognised (#612)

Version v5.0.4

08 Jun 20:32
43cfa8c
Compare
Choose a tag to compare

Changelog

The following are the changes that happened between versions v5.0.3 and v5.0.4

LLVM 14 Support

07 Jun 22:36
81478b4
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v5.0.1...v5.0.3

LLVM 13 Support

17 Feb 01:20
Compare
Choose a tag to compare

This release refactors some Remill APIs to no longer internally use deprecated LLVM APIs. Some of LLVM's APIs have been deprecated in the LLVM 13 release due to the ongoing upstream push to support opaque pointers. As a result, a number of Remill APIs also require additional information that they didn't previously have.

What's Changed

Full Changelog: v4.2.0...v5.0.2

Version v4.2.0

27 Dec 22:25
28e48fe
Compare
Choose a tag to compare

Changelog

The following are the changes that happened between versions v4.1.0 and v4.2.0

  • 7220001 - Add some extra apis to remill arch for instruction minimum size and alignment (#549)
  • f84e1a0 - Add two iforms to a table for looking up iforms that lock instructions (#550)
  • a787375 - Adds missing arch identification from triples. Adds sub-arch identifi… (#551)
  • a144c17 - Missing arch fused x86 call ret (#552)
  • e737070 - Mark some instructions as NOPs (#553)
  • 5955659 - Add attributes for memory intrinsics (#555)
  • 1efcf89 - Remove an unnecessary CHECK_EQ on the remill::Arch context, and the module context being prepared. (#557)
  • 769c280 - Populate the register table even in the absence of semantics (#558)
  • dd14a17 - Ian/recover flags (#559)
  • bd75b4f - add KMOW (#561)
  • 905f75d - add some semantic function of instructions (#562)
  • e24243c - Add a type map into the code that moves constants and types. Also, add additional support for unary/binary operators. (#563)
  • 7d33dec - Adds Flag Intrinsics for Aarch64, SPARC32, and SPARC64 (#565)
  • f975994 - Fix TryDecodeLoadStoreDualHalfSignedBIL (#564)
  • 327ecc1 - Fix some issues in moving constants and types (#568)
  • 93aba7c - Added binop forms of sign and zero flags (#567)
  • 28e48fe - Removes some deprecated functions, and removes the basic block functi… (#569)

Version v4.1.0

08 Oct 14:05
75a9e04
Compare
Choose a tag to compare

Changelog

The following are the changes that happened between versions v4.0.24 and v4.1.0

  • e768d25 - Fixup cxx-common links (#519)
  • c3d76de - Added branch_taken_pc and branch_not_taken_pc to BX (#520)
  • d13ae2b - Added operand
  • 2ea88e9 - Merge pull request #522 from lifting-bits/fix_MOVW
  • 123a1c3 - Fix handling of FSBASE and GSBASE (#523)
  • 6a9bf2b - Removed extra operand from udiv and sdiv (#524)
  • 08cac8e - Fix type error for storing i128 in memory (#525)
  • 00e75c7 - fix handling of i128 types while loading from memory (#528)
  • 7d6daf3 - Fix use of ArrayRef and mutable arrays in loops (#529)
  • 9d66239 - Clone metadata when moving stuff (#530)
  • 43ac9af - Remove unused var
  • 2622253 - Fixes issues in handling conditional branches (#531)
  • d97e452 - Add Reverse Bit/Byte support in AArch32 Semantics (#532)
  • f9c9e51 - Update Instruction.cpp to account for ARMv7 shifting into carry out (#534)
  • 1e7710b - Don't specify arm-linux-gnueabihf target on MacOS (#535)
  • 9006baf - WIP: Fix FPU types (#536)
  • d93575e - Fix AArch64 test runner (#538)
  • d8d3b6c - fix remill intrinsics for float80 (#539)
  • 14a58af - Explicitly call __remill_undef for undefined arith flags. (#543)
  • 5dcc807 - x86: Add ESBASE, DSBASE to Arch as registers for 32b. (#545)
  • 710013a - Update CMakeLists.txt
  • 84ec8e4 - Fix include of git watcher when remill is used as a submodule
  • b8cb5de - Improve usage of remill in submodules
  • 7e723cb - Update remillConfig.cmake.in
  • f5c630a - Fix some cmake issues that I caused, and add some options (#547)
  • 75a9e04 - Test and officially support LLVM 12 only (#548)

Version v4.0.24

18 May 21:00
94722b1
Compare
Choose a tag to compare

Changelog

The following are the changes that happened between versions v4.0.23 and v4.0.24

Version v4.0.23

13 May 20:28
1caf764
Compare
Choose a tag to compare

Changelog

The following are the changes that happened between versions v4.0.22 and v4.0.23

  • 6322f79 - New arch support (#461)
  • 6fc78e6 - Adds GlobalAlias awareness to the StripAndAccumulateConstantOffsets function (#493)
  • 3d71960 - Fixes for LLVM 11 compat CallSite.h (#495)
  • c37180a - AArch32/Decode.cpp - Add missing header (#496)
  • 021b799 - Exposes an internal function that can replace uses of a constant in a module (#497)
  • eec3dee - Use _WIN32 instead of WIN32 to fix Windows builds (#498)
  • 2b241b8 - PC relative handling and instr category for AArch32 (#499)
  • 2eaf52c - Remove old cxx common logic (#500)
  • 142ab2f - Fix CMake version info bad quoting (#501)
  • d93823c - treat all pop to pc as function return (#502)
  • bf83430 - Update instruction category for indirect jump & function return (#503)
  • 1bfcd9f - BuildPointerToOffset assumes it makes progress (#505)
  • a9c1c9d - Use clang from vcpkg in build script (#506)
  • 3e31f2c - Fix FCOMPmem and FUCOMPmem (#507)
  • f096390 - Find module in build ptr to offset (#508)
  • 8b5f739 - arch: Fix widening issues when dst is gpr register on x86_64. (#509)
  • 4eaf6e2 - Error out if there are fewer than four bytes to decode. (#510)
  • d9255fa - CI: Use v0.1.3 (latest) cxx-common prebuilt libraries (#511)
  • 7311c6a - X86 segment reg override (#512)
  • 1caf764 - Workaround LLVM hardcoded include directory (#513)

Version v4.0.22

23 Feb 04:44
71cdec9
Compare
Choose a tag to compare

Changelog

The following are the changes that happened between versions v4.0.21 and v4.0.22

  • 9c31566 - CI: Auto-generate releases when pushing tags (#487)
  • b94e1ff - Move across modules fixes (#488)
  • a387b71 - More tweaks to code that moves stuff across modules (#489)
  • 6db8551 - Tweak moving into modules to not die when the target function is non-empty (#490)
  • 76f8be1 - CI: Use single packaging job, add changelog support (#491)
  • 71cdec9 - CI: Add tag handler (#492)