Andrei Homescu
Andrei Homescu
> Finally, the question remains whether by also changing the c2rust_asm_casts interface, anything can be simplified -- and whether it's worth it. `c2rust-asm-casts` already operates on raw pointers and not...
The problem is that afaik Rust doesn't have an equivalent of the original C code, i.e., the `#[repr(align(16))]` attribute on statics/consts/variables of any kind. The closest thing we could do...
Could we use file locking to synchronize the updates to the metadata file? I found the `fs2` crate that supports this cross-platform (see the trait at https://docs.rs/fs2/latest/fs2/trait.FileExt.html).
The main thing to consider is that the `std::os::raw` types are only available with `libstd` but not in `no_std` mode, while the `libc` crate supports `no_std`. > It would be...
@Luro02 I implemented this and created a pull request, feel free to use the `std_raw_types` branch while it gets reviewed.
Hi @rizsotto, great to hear from you. We have used bear and scan-build in C2Rust to produce compilation databases for some C code bases, and they worked really well. You...
Instructions for both Linux and Windows are under `docs`: https://github.com/immunant/selfrando/blob/master/docs/linux-build-instructions.md. The README contains links to the build instructions.
Fixing the table in memory during randomization (using relocations) does not seem to work correctly. Our best alternative is to add export trampolines for the exception handlers, and patch the...
Update: fixing the table in memory does seem to improve things, but still sporadically crashes with an exception.
Looking over the code some more, I think we never have `m_in_place == false` on Linux, so this situation is never encountered. I'll do some experiments later.