rellic icon indicating copy to clipboard operation
rellic copied to clipboard

Rellic produces goto-free C output from LLVM bitcode

Results 54 rellic issues
Sort by recently updated
recently updated
newest added

Converts Rellic to operate on Z3 expressions for as long as possible, only materializing to Clang AST before expression simplification. ~~Also keeps conditions in CNF without exponential blowup with a...

```bash # Ubuntu 18.04 cd postgresql-12/src/backend/storage/file # generate from fd.c clang-10 -c -g -emit-llvm -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fno-discard-value-names -I../../../../src/include -D_GNU_SOURCE -DHAVE_SYNC_FILE_RANGE -o fd.10.bc...

Potential candidates: https://github.com/brenocfg/AnghaBench

testing
priority

We are officially abandoning the "compatibility with everything" policy and moving to the "stay with latest LLVM" policy. We should (eventually) remove the 'compat' directories since it gives people the...

Invalid stores like `store i8 undef, i8* null` are ignored at the code lifting level ( https://github.com/lifting-bits/rellic/blob/master/lib/AST/IRToASTVisitor.cpp#L735-L738 ) , but they should be removed by a preprocessing pass.

Master branch uses a `substitutions` map in each pass to keep track of how AST nodes are substituted, but this not fine-grained enough. As an example, let's say we have...

Trying to decompile the code for `xz` from the [walkthrough](https://github.com/lifting-bits/mcsema/blob/master/docs/McSemaWalkthrough.md): ``` F0206 08:52:46.518694 132263 IRToASTVisitor.cpp:379] Unsupported value type: @data_1ff0d023 = internal alias i8, getelementptr inbounds (, * @__mcsema_all_segments, i32 0,...

Add regression tests to prevent faults/crashes. - [ ] collect binaries on which Rellic currently crashes (started in the `regressions` branch) - [ ] Run rellic in CI against the...