From 1cde6ab93c2ace07c30ecd492c8097f9a5239e83 Mon Sep 17 00:00:00 2001 From: Matt Staveley-Taylor Date: Mon, 14 Oct 2024 03:08:37 +0200 Subject: [PATCH] readme: add short introduction --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b2c7bd53f..0ef4fe3ee 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,14 @@ -# mlibc is a C standard library +# mlibc + +mlibc is a fully featured C standard library designed with portability in mind. + +We support a number of architectures (x86-64, i386, RISC-V, AArch64, m68k), and provide a clean syscall abstraction layer for new operating system ports to plug into. + +Unlike other portable C standard libraries like newlib, we aim for feature parity with glibc/musl i.e full pthread support and other GNU extensions. + +mlibc is [capable enough to run web browsers](https://forum.osdev.org/viewtopic.php?p=345952#p345952), though some features are still missing. + +Individual operating systems can opt in or out of certian features as desired; for example POSIX APIs like `pthread` are gated behind the POSIX 'option', Linux APIs like `epoll` are gated behind the Linux option, etc. ![Continuous Integration](https://github.com/managarm/mlibc/workflows/Continuous%20Integration/badge.svg)