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

Rellic will sometimes forget signedess and emit unsigned casts for signed integers. Simple example below: signed.c: ```c #include bool signed_less_than_1(signed short v) { return v < 1; } ``` Compile:...

We will eventually have to handle address space casts to support things like `__thread` and various memory specifications for embedded platforms. How to properly handle these is very machine context...

[https://llvm.org/docs/LangRef.html#undefined-values](url) Relates to #158

```c *(unsigned int *)*(unsigned int *)&_sroa_3_sroa_3[3U] + ((unsigned int)arg0

[input.zip](https://github.com/lifting-bits/rellic/files/6817601/input.zip)

Preprocessing with `llvm-reduce` is encouraged.

The `enable_pin` function is non-empty in the bitcode, but empty in the decompiled source. ```llvm ; ModuleID = '/tmp/challenge-3/program_c/src/gpio.ll' source_filename = "gpio.c" target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-pc-linux-gnu-elf"...

bug
decomp

```llvm ; ModuleID = '/tmp/challenge-3/program_c/src/main.ll' source_filename = "main.c" target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-pc-linux-gnu-elf" %struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*,...

bug
decomp

Related to [this TODO](https://github.com/lifting-bits/rellic/blob/76d8fa1787d2368a35f62e1f5884eef905f87ef8/rellic/AST/Z3ConvVisitor.cpp#L785)

enhancement
decomp