Commit Graph
14 Commits
Author SHA1 Message Date
huntedbytheirs 5eb3cbe302 feat(malloc): first-fit allocator with mmap fallback 2026-09-03 20:44:08 -04:00
huntedbytheirs 06d2ec7c34 feat(string): complete string.h + strdup/memccpy 2026-09-03 20:05:49 -04:00
huntedbytheirs 20f514d91c feat(ctype): classification and case-mapping tables 2026-09-03 20:03:07 -04:00
huntedbytheirs 558cf8fd12 feat(start): _start, __libc_start_main, exit/atexit/environ 2026-09-03 19:01:51 -04:00
huntedbytheirs 601e1fe960 fix(setjmp): restore caller rbx in sigsetjmp mask path 2026-09-03 18:29:02 -04:00
huntedbytheirs b2d588885e feat(setjmp): x86_64 setjmp/longjmp/sigsetjmp 2026-09-03 17:39:20 -04:00
huntedbytheirs dec1017527 feat(headers): stddef/stdint/stdbool/limits/float/assert + features wiring 2026-09-03 17:34:16 -04:00
huntedbytheirs ce517ad0d6 feat(errno): public errno.h with strerror/strerror_r 2026-09-03 17:20:24 -04:00
huntedbytheirs c5a77c61fa feat(syscall): add x86_64 raw syscall layer, errno, internal ABI headers 2026-09-03 17:10:27 -04:00
huntedbytheirsandSisyphus 6854c7771d style(string): satisfy clang-tidy and clang-format for final-wave gate
Suppress clang-analyzer-security buffer-handling diagnostics on the
plan-mandated __builtin_memcpy word loads and bugprone swappable-
parameter diagnostics on the C-standard signatures; wrap the autoconf
substitution tokens in clang-format off/on (the space clang-format wants
before the closing @ would break config.status substitution).

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <[email protected]>
2026-08-31 21:34:25 -04:00
huntedbytheirsandSisyphus e8fe84e27c feat(string): add GNU strcasestr at level 3
Case-insensitive ASCII-fold substring search, locale-free, no
allocation.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <[email protected]>
2026-08-31 21:14:52 -04:00
huntedbytheirsandSisyphus d5e390e992 feat(string): add BSD strlcpy/strlcat at level 2
Exact OpenBSD semantics: strlcpy returns strlen(src) and writes at most
size-1 bytes plus NUL; strlcat returns dlen + strlen(src) with
dlen = min(size, strlen(dst)) and never reads past size bytes in dst.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <[email protected]>
2026-08-31 21:14:52 -04:00
huntedbytheirsandSisyphus d23deaa32a feat(string): implement core string/memory functions (level 1)
Word-at-a-time memcpy/memmove/memset/strlen/strcmp implementing the
level-1 string slice. memcpy carries an optimize(no-tree-loop-
distribute-patterns) attribute: GCC's loop-distribution pass rewrites
its word-copy loop into a self-recursive memcpy@plt call at -O2/-O3
otherwise.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <[email protected]>
2026-08-31 21:14:49 -04:00
huntedbytheirs 180c1107b6 Add vlibc scaffold, build system, and documentation
Establish the repository layout per Vox guidelines (layouts/C.md,
building/C.md): Autotools build (GCC-only, C23), five compatibility
profiles (--enable-onlyposix/--enable-muslmimic/--enable-muslext/
--enable-spoof, default vlibc), alongside/overwrite install methods,
vlibc-gcc/vlibc-clang drivers, static-linking requirement (except
spoof), benchmark harness, and tooling (.clang-format/.clang-tidy/
.clangd + compile_commands.json).
2026-08-31 17:06:01 -04:00