8000 Tags · bambooeric/reko · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: bambooeric/reko

Tags

version-0.9.1.0

Toggle version-0.9.1.0's commit message
Fix: PowerPC immediate operands

The rewriting of PowerPC immediate operands was not consistent with the manual.

version-0.9.0.0

Toggle version-0.9.0.0's commit message
== Version 0.9.0.0 ==

The main feature of this release is the long-awaited reworking of the analysis phase of the Reko decompiler. The slow and inaccurate interprocedural register liveness analysis was replaced by a novel analysis based on the strongly connected components (SCC's) of the call graph. The SCC's, which most of the time consist of a single procedure, are converted to SSA form earlier now.

In addition the classic Cytron et. al SSA construction algorithm, which requires the eager calculation of the immediate dominator relation of the basic blocks in the procedures, was replaced with a simpler S algorithm described in "Simple and Efficient Construction of Static Single Assignment Form" by Matthias Braun et al. The SSA algorithm has been augmented to perform lazy register / stack variable alias analysis, which turned out to be more efficient than the old register alias analysis phase.

The handling of 'hell nodes' has received focused attention. Hell nodes are indirect calls without associated function type metadata. Previously Reko was pessimistically assuming the worst: that all registers are live in and live out. Several heuristics have been applied to 'tame' the hell nodes to make the resulting output manageable (with many thanks to @ptomin).

Many other improvements to the data flow analysis were incorporated in this release as well. The results are improved source file outputs.

Initial support was added for the following CPU architectures:
* Blackfin
* Cray YMP
* OpenRISC
* MicroBlaze
* PA-RISC
* RL-78

Progress is hampered by the lack of good sample binaries with which to train the decompiler. Please contact us if you have any such binaries available.

Changes were also made in the output folder structure, and binary resources (like embedded icons and menus) are now extracted. (with thanks to @Cairn23)

Thanks to @Cairn23 and @gbody for their contributions. Special thanks go again to @ptomin and @smx-smx for their code, time, and dedication.

version-0.8.1.0

Toggle version-0.8.1.0's commit message
== Version 0.8.1.0 ==

It's been a long time since the last release, but a lot has been happening in Reko-land. This release contains:

* Support for PIC16 and PIC16 architectures (with thanks to @chostelet)
* Much better support for Intel HEX files (with thanks to @chostelet)
* Moved to C# 7.2, .NET Framework 4.7, and NUnit 3.0 (with thanks to @chostelet)
* Improvements in indirect call handling (with thanks to @ptomin)
* Support for adding persistent user annotations / comments (with thanks to @ptomin)
* Backward propagation of stack pointer from procedure end recovers more frame-based variables (with thanks to @ptomin)
* C parser improvements (with thanks to @ptomin)
* Improvements in MacOS classic binaries (with thanks to @gbody)
* Handled compressed A5World segments in MacOS classic binaries (with thanks to @gbody)
* Refactored Reko.Gui.dll to remove Windows Forms dependencies in preparation for GUI front end independence (with thanks to @smx-smx)
* Xbox 360 XEX Loader (with thanks to @smx-smx)
* PowerPC VMX instructions (with thanks to @smx-smx)
* Improvements in X86 disassembler robustness (with thanks to @smx-smx)
* Generation of for-loops from while- and do-loops (with thanks to @rfalke)
* Initial support for ARM AArch64, IBM zSeries, Intel 8051, Motorola 6800, MSP 430, Risc-V, SuperH, TMS 7000, and XTensa architectures.
* Support for the PowerPC 750 instruction set.
* Improved disassembler performance about 20% across all architectures.
* Improvements in shingled scanner heuristic, reducing false positives.
* Much better support for indirect jump / call target resolution.
* Improved handling of ELF PLT entries.
* Fusion of MIPS-style unaligned loads and stores.
* support for 16- 80- and 128-bit IEEE 754 floating point numbers.
* Moved from Rhino.Mocks to Moq mock framework.
* Support for more than one architecture per decompiled binary.
* Support for platform-specific memory maps.
* Memory visualizer control shows heat maps of binaries.
* Command line switch --scan-only.
* Added NamingPolicy classes to abstract automatic naming of variables, procedures, and types.
* Lots and lots of small bug fixes.

Thanks to @gbody, @wdigger, @wesinator, @wildptr for their contributions. Special thanks to @chostelet, @ptomin and @smx-smx for their code, time, and dedication.

version-0.8.0.0

Toggle version-0.8.0.0's commit message
Ran regression tests.

version-0.7.2.0

Toggle version-0.7.2.0's commit message
Fix uxmal#488

Added a few MacOS traps.

Ran regression tests.

version-0.7.1.0

Toggle version-0.7.1.0's commit message
Added comments for uxmal#471

version-0.7.0.0

Toggle version-0.7.0.0's commit message
Prepare the WiX installers

version-0.6.2.0

Toggle version-0.6.2.0's commit message
Preparing for version-0.6.2.0 release

version-0.6.1.0

Toggle version-0.6.1.0's commit message
bpos triggers on !N flag, which happens when the result is >= 0

version-0.6.0,0

Toggle version-0.6.0,0's commit message
More release notes for version 0.6.0.0

0