Releases: lifting-bits/remill
Releases · lifting-bits/remill
v6.0.0
What's Changed
- Fix Type Info for Register Variable GEPs by @2over12 in #620
- Only build necessary Sleigh components by @tetsuo-cpp in #613
- Provide initial definition for
__remill_sync_hyper_callby @tetsuo-cpp in #611 - Add Sleigh install targets by @frabert in #621
- check for the string arm64 in addition to aarch64 by @Ninja3047 in #623
- CMake fixes by @Ninja3047 in #624
- Suppress warnings from
llvm-linkby @tetsuo-cpp in #626 - Add missing optional include by @maxammann in #628
- Emit IR for
syscallin addition to a__remill_async_hyper_callby @tetsuo-cpp in #625 - Mixed Mode AArch32 by @2over12 in #622
- add missing
REMILL_ON_AARCH32variable by @Ninja3047 in #629 - Resolve semantics tests on AMD systems by @spotlightishere in #637
- Get Remill building with LLVM 15 by @tetsuo-cpp in #631
- Sleigh Preliminary Floating Point Support by @2over12 in #632
- Move to explicitly setting CMake toolchain file by @tetsuo-cpp in #639
- Add APIs that allow specifying an insertion point by @frabert in #642
- Replace SIGSTKSZ with our own constant by @ekilmer in #646
- Weaken remill check in utils to allow additional parameters by @2over12 in #650
- PowerPC Support by @tetsuo-cpp in #645
- Adds Missing Case in IntraProcTransferCollector to Avoid Looping on InstrExit by @2over12 in #652
- Use
DLOGwhere appropriate by @tetsuo-cpp in #654 - Support PowerPC syscall by @tetsuo-cpp in #653
- Fixes next pc ARM/Arch in Sleigh Cbranch implementation by @2over12 in #657
- Replace the Manual AArch32 Semantics and Decoder with Sleigh by @2over12 in #659
- Test on Ubuntu 22.04 by @ekilmer in #660
- Fix claim eq errors by @Ninja3047 in #662
- Fix bug in rendering actual PC from NEXT_PC with thumb preffix/suffix instructions by @2over12 in #661
- Add CODEOWNERS file by @artemdinaburg in #664
- Add Custom PPC Spec and Update Sleigh by @2over12 in #666
- Get Remill building with LLVM 16 by @tetsuo-cpp in #665
- Add AArch64 Sleigh Arch by @2over12 in #667
- Bump Ghidra Fork Commit by @2over12 in #669
- Fix GCC compilation by @ekilmer in #672
- Fix Linux AArch64 compilation for SPARC32 runtime by @ekilmer in #674
- Update link to Empire Hacking Slack by @oldsj in #675
- Mirror Sleigh's Byte-width Flags by @2over12 in #668
- Clarify the documentation and fix dead links by @mrexodia in #683
- Fix build with system LLVM by @mrexodia in #684
- Fix remill lift to allocate state with correct type by @2over12 in #687
- llvm 17 fixes by @2over12 in #688
- SPARC support via Sleigh by @Ninja3047 in #681
- Fix Sleigh PPC Layout to Match Ghidra Spec by @2over12 in #696
- Update Dockerfile base image by @ekilmer in #695
- Lift the declared branch taken store for a given flow by @2over12 in #697
- Fix big endian type conversions for registers by @2over12 in #699
- Fix placement of 32 bit regs on e500 and populate the low bits of PC on BE by @2over12 in #702
- Fixed windows build errors by @cctv130 in #703
- Fix the offset of
STURandLDURof AArch64 instructions. by @yomaytk in #708 - Add rpm-build to apt readme dependencies by @TheNewJavaman in #706
- Remove [[gnu::const]] (readnone) from __remill intrinsics by @mrexodia in #710
- Fix breakpoint instruction on AArch64. by @yomaytk in #714
- Update the some artifact versions of workflows/ci.yml. by @yomaytk in #715
- Pass undef if semantic function argument is unused by @momo5502 in #716
- Update settings.cmake by @cctv130 in #717
- fix: windows clang build by @cctv130 in #719
- CMake: update to C++20, clean up properties, optimize fetch content by @cctv130 in #721
- Major refactor by @mrexodia in #723
New Contributors
- @frabert made their first contribution in #621
- @maxammann made their first contribution in #628
- @spotlightishere made their first contribution in #637
- @oldsj made their first contribution in #675
- @cctv130 made their first contribution in #703
- @yomaytk made their first contribution in #708
- @TheNewJavaman made their first contribution in #706
- @momo5502 made their first contribution in #716
Full Changelog: v5.0.7...v6.0.0
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
BuildPointerToOffsetto 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_statevariable instead of searching by type name - 67c5fd0 - Add
Arch::RegisterWindowTypeto 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-gnueabihftarget 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)