For kernel abi specifications, the first results are torvalds/linux (The Linux kernel repository serves as the primary source of truth for its own system call interface and architecture-specific ABI definitions, providing the foundational specifications and header files that define how user-space interacts with the kernel), arm-software/abi-aa (This repository provides the official, authoritative specifications for the Arm architecture's Application Binary Interface, serving as the foundational reference for system call interfaces and binary compatibility across the ecosystem) and hasherezade/pe-bear (This is a binary analysis and reverse engineering tool for inspecting executable file structures, which is a building block for binary research rather than a system for defining or managing kernel-level ABI specifications). google/bloaty and joxeankoret/diaphora round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Explore the best kernel ABI specifications. Compare top open-source projects ranked by activity and documentation quality to find the best fit.
The Linux kernel is a monolithic operating system core that manages hardware resources, memory, and process scheduling across diverse computing architectures. It provides a standardized, POSIX-compliant environment for application execution while maintaining a modular driver framework that allows for the dynamic loading and removal of hardware interfaces. The project is distinguished by its high-performance concurrency toolkit, which utilizes lockless synchronization primitives and read-copy-update mechanisms to manage shared data access in multi-core environments. It incorporates a comprehen
The Linux kernel repository serves as the primary source of truth for its own system call interface and architecture-specific ABI definitions, providing the foundational specifications and header files that define how user-space interacts with the kernel.
The Arm Architecture Binary Interface Specification is a technical standard that defines the rules for procedure calls, object file formats, and exception handling. It serves as a foundational framework for ensuring binary-level compatibility between software components and operating systems across diverse Arm processor implementations. This specification establishes the technical requirements for how software interacts with hardware at the binary level. By standardizing register-based calling conventions, stack-frame layouts, and data-type alignment rules, it enables consistent behavior for
This repository provides the official, authoritative specifications for the Arm architecture's Application Binary Interface, serving as the foundational reference for system call interfaces and binary compatibility across the ecosystem.
PE-bear is a graphical portable executable analysis tool designed for inspecting, disassembling, and modifying the structure of Windows PE binary files. It functions as a static analysis framework used to identify malicious patterns and reverse engineer program logic. The project provides a binary diffing tool to identify structural and content differences between two executable files. It also includes a section editor for modifying binary layouts by adding or altering sections and imports. The tool covers a range of binary analysis capabilities, including machine code disassembly, file layo
This is a binary analysis and reverse engineering tool for inspecting executable file structures, which is a building block for binary research rather than a system for defining or managing kernel-level ABI specifications.
Bloaty is a binary size profiler and executable format analyzer that attributes every byte of a binary to specific symbols or compile units. It functions as a compilation unit profiler and C++ symbol demangler, mapping binary size back to source files and translating mangled names into human-readable formats. The project distinguishes itself as a binary diffing tool capable of comparing two versions of a binary to isolate specific symbols or sections responsible for size regressions. It provides specialized support for recovering symbols in stripped binaries by associating them with external
This tool is a binary size profiler and analyzer used for inspecting executable formats, but it does not provide the framework for defining, managing, or verifying kernel ABI specifications.
Diaphora is a binary diffing tool and similarity engine designed to compare compiled binaries and identify changed or matching code sections. It functions as a reverse engineering plugin that maps relationships between functions and detects compilation units using assembler analysis and graph theory. The project specializes in vulnerability patch analysis, allowing users to detect security fixes by comparing different versions of a binary. It synchronizes analysis metadata, such as symbol names and comments, between binaries and generates patches by comparing decompiled pseudo-code. The engi
This is a binary diffing and reverse engineering tool used for comparing compiled code, which serves as a utility for analyzing changes rather than a framework for defining or managing kernel ABI specifications.
Cosmopolitan is a cross-platform C runtime library and build framework that enables the creation of single-file, self-contained executables. By providing a unified set of system headers and a specialized compiler toolchain, it allows developers to write low-level systems code that executes natively across multiple operating systems without requiring recompilation for each target environment. The project utilizes a polyglot binary format and a system call shimming layer to intercept and translate kernel requests, effectively bypassing standard library dependencies. This approach consolidates a
This project provides a cross-platform C library and system call shimming layer to enable portable binaries, but it is a runtime and build framework rather than a tool for defining or managing kernel-level ABI specifications.
Just is a JavaScript runtime environment designed for system-level programming and high-performance execution. It provides a direct interface to kernel functions and hardware resources, allowing developers to interact with operating system features that are typically inaccessible through standard high-level programming environments. The runtime distinguishes itself by offering a streamlined execution model that minimizes startup latency and provides the ability to compile scripts into standalone, dependency-free binaries. By leveraging the V8 engine and a specialized module loading system, it
This is a JavaScript runtime for system-level programming that interfaces with kernel functions, but it is an execution environment rather than a tool for defining or managing kernel ABI specifications.
WSL is a compatibility layer and virtualization platform that enables the execution of native Linux binaries directly on a host operating system. By utilizing a lightweight virtual machine and direct kernel system call mapping, it provides a high-performance environment that bridges Linux-based command line utilities with host-native tools. This architecture allows for full system call compatibility while maintaining minimal resource overhead. The platform distinguishes itself through deep integration with the host environment, allowing users to run isolated Linux distributions alongside stan
This repository is a virtualization platform and compatibility layer for running Linux binaries on Windows, rather than a tool for defining, managing, or verifying kernel ABI specifications.
This project provides the core framework and system API layer for the Android operating system. It consists of the fundamental Java and C++ libraries that define system behavior and establish the interface contracts required for system applications and hardware abstraction. The project includes a runtime optimizer used to reduce startup time and improve execution speed by pre-compiling methods and configuring boot images. It also features a software quality toolchain that enforces code formatting, audits commit metadata, and manages API compatibility to ensure stable interface contracts acros
This repository provides the Android framework and system API layer rather than a tool for defining or managing low-level kernel ABI specifications, though it does contain internal API compatibility management for the Android platform.
This project provides a complete Linux environment for mobile devices by emulating an x86 architecture and translating system calls into native mobile operations. It functions as a terminal emulator that allows users to run standard command-line utilities, manage software packages, and execute unmodified Linux binaries directly on their mobile hardware. The environment distinguishes itself through its ability to maintain persistent background execution, preventing the mobile operating system from suspending shell tasks or active processes. It supports a containerized approach to the root file
This project is a Linux-on-iOS emulator that translates system calls for execution, but it is an application for running software rather than a tool for defining or managing kernel ABI specifications.
nix is a Unix system API library and Rust system programming interface that provides type-safe bindings for invoking low-level system calls. It serves as a low-level operating system wrapper and POSIX compatibility layer, allowing for kernel interactions and administrative tasks through safe wrappers around platform-specific APIs. The project provides a kernel device interface for controlling hardware devices, managing kernel modules, and configuring terminal interfaces. It differentiates itself by offering type-safe wrappers for memory mapping and zero-copy input-output operations to reduce
This library provides type-safe Rust bindings for existing system calls and kernel interfaces, but it is a consumer of an established ABI rather than a tool for defining, managing, or verifying kernel ABI specifications.
Fastfetch is a command-line utility designed to retrieve and display detailed hardware and operating system specifications. It functions as a terminal-based system profiler, providing developers with a method to verify environment configurations and diagnose system issues during local development. The tool distinguishes itself through a modular architecture that organizes data collection into independent components, allowing for the selective enabling or disabling of features to manage resource usage. It utilizes direct interactions with kernel interfaces and system APIs to acquire data, main
This is a system information and profiling utility that reads kernel interfaces to display hardware data, rather than a tool for defining, managing, or verifying kernel ABI specifications.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| torvalds/linux | 237.4K | C | NOASSERTION | |
| arm-software/abi-aa | 1.2K | HTML | NOASSERTION | |
| hasherezade/pe-bear |
| 3.7K |
| C++ |
| GPL-2.0 |
| google/bloaty | 5.5K | C++ | Apache-2.0 |
| joxeankoret/diaphora | 4.3K | Python | AGPL-3.0 |
| jart/cosmopolitan | 20.6K | C | isc |
| just-js/just | 3.8K | JavaScript | MIT |
| microsoft/wsl | 32.8K | C++ | MIT |
| aosp-mirror/platform_frameworks_base | 10.8K | Java | NOASSERTION |
| ish-app/ish | 19.3K | C | other |