ABI
The Application Binary Interface, which defines the low-level contract among the compiler, linker, and operating system, including calling conventions and stack pointer register specifications.
Timeline (last 90 days)
ABI (application binary interface) stability is the prerequisite for dynamic packages to work reliably; the ABI specifies how compiled modules call each other, pass parameters, lay out structs, and export symbols.
Once an ABI is determined, it remains stable for a long time, relied upon jointly by compilers, linkers, debuggers, and exception handling mechanisms (such as DWARF unwind tables), and any change triggers a chain reaction, so ABI compatibility is often the hardest threshold for low-level memory layout innovation to cross.
The two-headed stack allocator is currently more of a conceptual discussion and has not yet landed on mainstream platforms, with ABI compatibility being one of its main obstacles.
Binary compatibility requires full consistency at the ABI level, including function calling conventions, struct memory alignment, and system call number mapping, which is a higher bar than API compatibility.
All Facts (5)
Node.js native modules (.node files) are bound to a specific Node.js ABI version at compile time, and a mismatch between compile-time and runtime versions causes memory layout misalignment that triggers segmentation faults.
60%UnverifiedABI (application binary interface) stability is the prerequisite for dynamic packages to work reliably; the ABI specifies how compiled modules call each other, pass parameters, lay out structs, and export symbols.
50%UnverifiedOnce an ABI is determined, it remains stable for a long time, relied upon jointly by compilers, linkers, debuggers, and exception handling mechanisms (such as DWARF unwind tables), and any change triggers a chain reaction, so ABI compatibility is often the hardest threshold for low-level memory layout innovation to cross.
50%UnverifiedThe two-headed stack allocator is currently more of a conceptual discussion and has not yet landed on mainstream platforms, with ABI compatibility being one of its main obstacles.
50%UnverifiedBinary compatibility requires full consistency at the ABI level, including function calling conventions, struct memory alignment, and system call number mapping, which is a higher bar than API compatibility.
50%