Releases: lifting-bits/remill
Version v5.0.7
Version v5.0.5
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
LLVM 14 Support
What's Changed
- Issue 578 by @pgoodman in #579
- Fix aarch64 errors by @artemdinaburg in #581
- Artem/fix aarch64 build by @artemdinaburg in #582
- Filter for only loads that modify pc by @2over12 in #584
- Prepare for eventual thumb2 arch by @artemdinaburg in #586
- Remove gflags by @lkorenc in #588
- LLVM 14 compatibility by @ekilmer in #589
- Fix LLVM 14 related warnings. by @xlauko in #591
- removes ambiguous utility function by @2over12 in #593
- bc: Remove compat methods from CallSite that handled InvokeInst. by @lkorenc in #594
- Implement a bunch of missing AVX instructions by @mrexodia in #595
- Fix SSE Instructions for XED v2022.04.17 by @2over12 in #597
- Add LLVM 14 to CI by @tetsuo-cpp in #598
New Contributors
Full Changelog: v5.0.1...v5.0.3
LLVM 13 Support
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
- Build via CMakePresets.json by @artemdinaburg in #570
- Better metadata cloning for instructions by @pgoodman in #574
- Fix float cloning by @pgoodman in #575
- arch:x86: Correctly initialize CSBASE. by @lkorenc in #576
- llvm 13 support by @pgoodman in #577
- 1aa1338 - Disable cpuid test on macos
Full Changelog: v4.2.0...v5.0.2
Version v4.2.0
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
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
Version v4.0.23
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
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)