Hello, I'm using the CLI version of Reko 0.11.5.0 on Linux and found some issues regarding the decompiled code.
The executables and their corresponding source code, decompiled code, and compiler options are included in Reko.zip.
[*] Program 1:
original code:
decompiled code:
The argument order of set_var() is recovered incorrectly.
The order of qwLoc18_141 (corresponds to l_l) and dwLoc0C_144 (corresponds to i_l) gets reversed.
[*] Program 2:
issue 1:
original code:
decompiled code:
(double)(i_l) (i_l equals to 1) is recovered as 1e-45F
issue 2:
decompiled code:
The decompiled multiply is appended with an extra s.
[*] Program 3:
Reko does not generate any decompiled code in each function of this program.
[*] Program 4:
original code:
decompiled code:
str is a char * in the original code.
But in decompiled code, it is defined as a word64 (I assume it's int64_t).
And printf tries to access it with dereferencing.
[*] Program 5:
When the original code is compiled by GCC, Microsoft Visual C++ compiler (MSVC), Tiny C compiler, and Clang targeted for Mach-O,
the string literals are not recovered in the decompiled code.
Hello, I'm using the CLI version of Reko 0.11.5.0 on Linux and found some issues regarding the decompiled code. The executables and their corresponding source code, decompiled code, and compiler options are included in Reko.zip.
[*] Program 1:
original code:
decompiled code:
![image](https://github.com/uxmal/reko/assets/104062901/47d6fb9d-6b51-42ea-bd18-3af5a5b60e5a)
The argument order of set_var() is recovered incorrectly. The order of
qwLoc18_141
(corresponds tol_l
) anddwLoc0C_144
(corresponds toi_l
) gets reversed.[*] Program 2:
issue 1: original code:
decompiled code:
![image](https://github.com/uxmal/reko/assets/104062901/41c63426-8575-452e-8f35-dd5c8421d5c6)
(double)(i_l)
(i_l equals to 1) is recovered as1e-45F
issue 2: decompiled code:![image](https://github.com/uxmal/reko/assets/104062901/47d1e50d-1fa7-471c-b8b3-b5501cd004de)
The decompiled
multiply
is appended with an extras
.[*] Program 3:
Reko does not generate any decompiled code in each function of this program.
[*] Program 4: original code:
decompiled code:
![image](https://github.com/uxmal/reko/assets/104062901/4f933617-3d2a-4be1-adea-08299480a75c)
str
is achar *
in the original code. But in decompiled code, it is defined as aword64
(I assume it'sint64_t
). Andprintf
tries to access it with dereferencing.[*] Program 5:
When the original code is compiled by GCC, Microsoft Visual C++ compiler (MSVC), Tiny C compiler, and Clang targeted for Mach-O, the string literals are not recovered in the decompiled code.