No description
Find a file
2023-10-01 16:42:44 +02:00
libuwuc stub some things 2023-10-01 16:42:44 +02:00
rawc stub some things 2023-10-01 16:42:44 +02:00
tests/c stub some things 2023-10-01 16:42:44 +02:00
.gitignore clean 2023-10-01 11:36:30 +02:00
Cargo.lock more things 2023-09-30 12:00:05 +02:00
Cargo.toml c test program 2023-09-30 10:54:59 +02:00
README.md docs 2023-09-30 23:03:43 +02:00
rust-toolchain.toml c test program 2023-09-30 10:54:59 +02:00
shell.nix tests 2023-10-01 15:28:22 +02:00
test_c.sh tests 2023-10-01 15:28:22 +02:00
uwuc-clang fix stack protector issues 2023-10-01 15:34:50 +02:00
uwuc-gcc fix stack protector issues 2023-10-01 15:34:50 +02:00

libuwuc

A libc implementation written in Rust.

Layout

libuwuc consists of two crates, libuwuc and rawc. libuwuc is a normal Rust library and can be unit tested. It contains all the logic. rawc is a wrapper that declares all the symbols and is compiled to a staticlib/cdylib and then linked into your favourite C programs.

How to build and test

You can build libuwuc using cargo build. Then, use ./uwuc-gcc to build C programs.

cargo test -p libuwuc runs unit tests for the libuwuc crate. ./test_c.sh runs the bespoke integration test suite with tests written in C.

Why

yes!!!

Platform Support

libuwuc supports anything that supports the Linux system call ABI but is only tested on actual Linux. Currently, it only supports x86-64, though that may change in the future.