huntedbytheirs
0d07a914a1
feat(thread): futex + TLS + pthread_self substrate
2026-09-08 15:02:26 -04:00
huntedbytheirs
49968bdbfc
feat(math): exp/log/pow/sqrt/cbrt/hypot/log1p/expm1
2026-09-08 14:40:15 -04:00
huntedbytheirs
1f39e217d4
build: wire math sources and tests
2026-09-06 01:10:43 -04:00
huntedbytheirs
b731a02db4
feat(math): abs/round/trunc/frexp/ldexp/scalbn/copysign/fmin/fmax/fmod
2026-09-06 01:07:31 -04:00
huntedbytheirs
c4c64a4eb5
build: wire W8 sources and tests
2026-09-05 23:41:06 -04:00
huntedbytheirs
9eb32c4010
feat(unistd): cwd/link/readlink/path ops
2026-09-05 23:32:29 -04:00
huntedbytheirs
523045b5ae
feat(passwd): getpw*/getgr*/setpwent/endpwent family
2026-09-05 23:25:24 -04:00
huntedbytheirs
9b576757cf
feat(syslog): openlog/syslog/closelog/vsyslog/setlogmask
2026-09-05 23:18:34 -04:00
huntedbytheirs
fefd17241f
feat(times): times (L2 XSI) + CLK_TCK sysconf
2026-09-05 23:17:25 -04:00
huntedbytheirs
3bf875030a
feat(mman): mmap/munmap/mprotect/msync/mlock/madvise/shm_open
2026-09-05 23:13:18 -04:00
huntedbytheirs
f9a055f547
feat(statvfs): statvfs/fstatvfs (L2 XSI)
2026-09-05 23:10:06 -04:00
huntedbytheirs
9ffe86fc55
feat(signal): signal handling and sigset_t
2026-09-05 23:03:41 -04:00
huntedbytheirs
8c0f23fbd0
feat(termios): terminal attributes
2026-09-05 23:01:54 -04:00
huntedbytheirs
e9aa002453
feat(misc): uname/gethostname/sysconf/pathconf
2026-09-05 23:00:23 -04:00
huntedbytheirs
3ab43c7f10
feat(resource): rlimit/rusage/priority
2026-09-05 22:55:20 -04:00
huntedbytheirs
c4156efeff
feat(uio): readv/writev
2026-09-05 22:51:03 -04:00
huntedbytheirs
ea0482e9ff
build: wire systime/printf sources and tests
2026-09-05 22:46:19 -04:00
huntedbytheirs
c67e890b17
feat(systime): gettimeofday/itimer/utimes
2026-09-05 22:43:39 -04:00
huntedbytheirs
d495d3eb89
build: wire W5/W6 sources and tests
2026-09-05 22:42:23 -04:00
huntedbytheirs
ed996ff4c4
feat(time): time/clock/mktime/strftime/nanosleep
2026-09-05 22:33:02 -04:00
huntedbytheirs
3eff4c97fd
feat(stdio): scanf family
2026-09-05 21:52:22 -04:00
huntedbytheirs
ddcf8f39be
feat(select): poll/select and fd_set
2026-09-05 21:15:07 -04:00
huntedbytheirs
5af4197ee9
feat(dirent): directory iteration
2026-09-05 21:08:57 -04:00
huntedbytheirs
a2f7c33601
feat(stdio): getline/getdelim/stream locking
2026-09-05 17:18:18 -04:00
huntedbytheirs
14c6fd6cf6
feat(process): fork/exec/id/session + system/popen
2026-09-05 16:55:14 -04:00
huntedbytheirs
c9e9676d38
feat(fcntl): fcntl/open flag handling
2026-09-05 16:46:34 -04:00
huntedbytheirs
6eaacd4448
feat(wait): wait/waitpid/waitid and status macros
2026-09-05 16:39:58 -04:00
huntedbytheirs
98f4c3169c
feat(stat): stat/mkdir/chmod and mode macros
2026-09-05 16:35:50 -04:00
huntedbytheirs
87ab610a9b
feat(stdio): printf family
2026-09-05 16:27:09 -04:00
huntedbytheirs
7b11452b87
feat(unistd): file I/O syscall wrappers
2026-09-05 01:05:45 -04:00
huntedbytheirs
34408380f0
fix(stdio): correct position tracking on mode switch and free owned buffers on close
2026-09-04 23:42:03 -04:00
huntedbytheirs
22587bd545
feat(stdio): FILE buffering core and stream I/O
2026-09-04 23:27:27 -04:00
huntedbytheirs
5355574121
build: wire environment/multibyte/tempfile sources and tests
2026-09-04 22:58:43 -04:00
huntedbytheirs
b53ccaa1e8
feat(stdlib): environment and multibyte helpers
2026-09-04 22:56:00 -04:00
huntedbytheirs
bff8fe9c86
build: wire stdlib sources and tests
2026-09-04 06:29:31 -04:00
huntedbytheirs
99eff26467
feat(stdlib): rand/div/qsort/bsearch
2026-09-04 06:23:38 -04:00
huntedbytheirs
8bf754419f
test(inttypes): note full-link requirement for standalone runs
2026-09-03 22:19:09 -04:00
huntedbytheirs
14b0136a8e
feat(inttypes): PRI/SCN macros + strtoimax family
2026-09-03 22:16:12 -04:00
huntedbytheirs
26786e9027
feat(stdlib): numeric string conversions
2026-09-03 21:53:59 -04:00
huntedbytheirs
bcb4e259c3
build: wire strings.h sources and tests
2026-09-03 20:57:18 -04:00
huntedbytheirs
ce92aa2b6d
feat(strings): strcasecmp/ffs/bcopy/bzero
2026-09-03 20:54:23 -04:00
huntedbytheirs
b2fbde0fc2
build: wire malloc/string/ctype sources and tests
2026-09-03 20:50:20 -04:00
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
858fc1762c
fix(bench): separate vlibc-under-test TU from host harness TUs
2026-09-03 19:46:20 -04:00
huntedbytheirs
40a392f454
build: wire new src dirs, crt objects, and make check into Autotools
2026-09-03 19:36:32 -04:00
huntedbytheirs
558cf8fd12
feat(start): _start, __libc_start_main, exit/atexit/environ
2026-09-03 19:01:51 -04:00
huntedbytheirs
2480c63fbd
fix(syscall): pin r10/r8 for 4- and 5-argument syscalls
2026-09-03 18:32:44 -04:00
huntedbytheirs
601e1fe960
fix(setjmp): restore caller rbx in sigsetjmp mask path
2026-09-03 18:29:02 -04:00
huntedbytheirs
e3017cfe56
test(errno): make test_strerror self-contained under -Iinclude
2026-09-03 18:26:48 -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
huntedbytheirs and Sisyphus
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
huntedbytheirs and Sisyphus
53c8531eab
bench(string): add bench_string.c vs glibc/musl
...
System-headers-only harness timing the five L1 string functions
(strlen, strcmp, memcpy, memmove, memset) at 8- and 64-byte inputs.
Calls go through volatile function pointers to defeat builtin
substitution and LICM hoisting; correctness self-asserts route through
the same pointers. Prints FUNC@SIZE ns/call lines.
bench_string uses empty per-target CPPFLAGS (no -I include) so it links
against whichever libc --with-libc= selects; the bench target runs it
always and bench_vlibc only under BENCH_LINK_VLIBC. Both programs
relink when config.status changes, so a reconfigure cannot silently
reuse a binary from the previous libc.
Measured vs glibc 2.44 (median of 3 runs): mem* 1.0-3.3x,
strlen/strcmp 3.2-3.9x — word-at-a-time vs AVX2, all sane.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-08-31 21:28:04 -04:00
huntedbytheirs and Sisyphus
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
huntedbytheirs and Sisyphus
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
huntedbytheirs and Sisyphus
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 and Sisyphus
7d28d7cc9d
build(profile): select sources per level via AM_CONDITIONAL
...
Gate the initial string slice per compatibility level: L1 sources compile
everywhere, strlcpy/strlcat only at level >= 2 (PROFILE_GE_2), strcasestr
only at level >= 3 (PROFILE_GE_3). Install the generated
include/vlibc/features.h under $(vlibc_includedir)/vlibc/ via a dedicated
vlibc_featuresdir primary (nodist_nobase is rejected by automake and loses
the vlibc/ subpath). Include stddef.h/string.h in vlibc_include_HEADERS.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-08-31 20:54:00 -04:00
huntedbytheirs and Sisyphus
ace9728565
feat(profile): add stddef.h and profile-gated string.h
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-08-31 19:57:21 -04:00
huntedbytheirs and Sisyphus
060fc03ab7
docs(profile): document gating mechanism, classification rule, slice manifest
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-08-31 19:54:40 -04:00
huntedbytheirs and Sisyphus
f07b270675
chore(build): regenerate configure from configure.ac
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-08-31 19:51:50 -04:00
huntedbytheirs and Sisyphus
a5c16e97d7
feat(profile): generate installed features.h exposing VLIBC_LEVEL
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <[email protected] >
2026-08-31 19:49: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
huntedbytheirs
3f63ae1cdd
Initial commit
2026-08-31 16:40:34 -04:00