为DragonOS移植了的relibc

Andrii Zymohliad a1de0ef8a1 Implement strstr(), add strstr test %!s(int64=7) %!d(string=hai) anos
cbindgen @ fe26d47afd ca57f30425 Update cbindgen %!s(int64=7) %!d(string=hai) anos
include 3e354aed04 Merge branch 'fix_includes' of https://github.com/dlrobertson/relibc into dlrobertson-fix_includes %!s(int64=7) %!d(string=hai) anos
openlibm @ b7b3b4bc31 3267409c57 Add very basic example %!s(int64=7) %!d(string=hai) anos
ralloc @ 31b781a287 866d952924 Support building for Redox %!s(int64=7) %!d(string=hai) anos
src a1de0ef8a1 Implement strstr(), add strstr test %!s(int64=7) %!d(string=hai) anos
tests a1de0ef8a1 Implement strstr(), add strstr test %!s(int64=7) %!d(string=hai) anos
va_list @ ba5a07a744 c2ae141df3 Aarch64: Merge the final components %!s(int64=7) %!d(string=hai) anos
.gitignore 78e421cb72 Implement some functions on Linux %!s(int64=7) %!d(string=hai) anos
.gitmodules 866d952924 Support building for Redox %!s(int64=7) %!d(string=hai) anos
.travis.yml c2ae141df3 Aarch64: Merge the final components %!s(int64=7) %!d(string=hai) anos
Cargo.lock c5dd3f8706 Update Cargo.lock %!s(int64=7) %!d(string=hai) anos
Cargo.toml 3699b53ba2 float: Add crate for float.h %!s(int64=7) %!d(string=hai) anos
LICENSE ba515d83df Create LICENSE %!s(int64=7) %!d(string=hai) anos
README.md 06a6922cde Merge branch 'master' of https://github.com/redox-os/relibc %!s(int64=7) %!d(string=hai) anos
bindgen_transform.sh 799c8828c2 mkdir and rmdir %!s(int64=7) %!d(string=hai) anos
ci.sh c2ae141df3 Aarch64: Merge the final components %!s(int64=7) %!d(string=hai) anos
fmt.sh 6ced871d9a ctype: tests and reorganize %!s(int64=7) %!d(string=hai) anos
rust-toolchain d4308b4c5d Update rust toolchain and lock file %!s(int64=7) %!d(string=hai) anos
rustfmt.toml 846e495944 Get rustfmt passing on core relibc code %!s(int64=7) %!d(string=hai) anos
test.sh 232e364f60 Remove warnings, build openlibm without stack protector %!s(int64=7) %!d(string=hai) anos

README.md

relibc build

relibc is a portable POSIX C standard library written in Rust. It is under heavy development, and currently supports Redox and Linux.

The motivation for this project is twofold: Reduce issues the redox crew was having with newlib, and create a safer alternative to a C standard library written in C. It is mainly designed to be used under redox, as an alternative to newlib, but it also supports linux syscalls via the sc crate.

Contributing

Just search for any invocation of the unimplemented macro, and hop in! The ci server checks builds for linux and redox, checks formatting (via rustfmt), and runs the test suite. Run ci.sh locally to check that your changes will pass travis. Use fmt.sh to format your code and test.sh to run the C test suite.

Supported OSes

  • RedoxOS
  • Linux

Supported architectures

  • x86_64
  • Aarch64