Investigate runtime calls across the x86-64 C ABI
Archived MVP specification. For ASPL 0.6.0, see the current reference and native HTTP guide.
Type: research Status: resolved Parent: Find the ASPL MVP specification
Question
What subset of dynamically resolved x86-64 System V C function signatures can a portable C11 register VM call safely without generated native code, assembly, or a required third-party runtime library, and where do the ABI and C language rules force explicit wrappers, vendored machinery, or narrower MVP claims?
Answer
A pure-C VM may safely call only the exact function types for which its executable already contains compatible, statically typed C call sites. dlopen and dlsym can reach any loadable shared library and named symbol, but neither POSIX nor C11 provides a runtime-shaped call operation. ABI classes such as INTEGER and SSE cannot replace C's compatible-type rules.
For the MVP, use a closed adapter catalog that includes the exact puts and sqrt signatures, reject every unsupported declaration during checking and building, exclude variadics, aggregates, callbacks, and untyped symbols, and keep library handles open until shutdown. Document the promise as "arbitrary compatible shared libraries, limited to documented callable signatures." General runtime signatures require vendored libffi or an equivalent ABI-specific assembly or machine-code bridge, so they belong after the C-only phase.
Full findings and primary-source citations are in Runtime C calls from a pure-C register VM.