AIThis post was created with the assistance of artificial intelligence (AI).

TL;DR

Before you orderOffer from Amazon

Get the latest gadgets delivered free with Prime

  • Fast, free delivery on millions of items
  • Prime Video, Amazon Music and more included
  • Member-only deals all year
Start your free Prime trial Free trial for eligible customers · Cancel anytime
As an affiliate, we earn on qualifying purchases.

The developer behind syscall.sh has presented an updated website and API that gathers Linux system-call tables for 27 architectures. The site provides syscall numbers, argument and register details, kernel-version history and downloadable JSON; the project says its data is generated from Linux kernel source.

A developer has presented an updated Linux system-call website and API that brings tables for 27 architectures together with syscall numbers, argument registers and kernel-version history. The project, syscall.sh, also provides machine-readable JSON, offering developers and researchers a way to look up how Linux system calls differ across processor architectures and releases.

The site lists syscall counts for each supported architecture and links each architecture to its table. Its listed examples include 369 x86_64 syscalls, 441 for 32-bit x86 and 327 for 64-bit RISC-V. The source describes coverage spanning Linux 3.3 to 7.3, while the earliest release scanned varies by architecture. The displayed counts are architecture-specific observations, not a measure of change between releases.

Each table records syscall numbers and argument details, along with the registers and instruction used to enter the kernel. For example, the x86_64 entry identifies the syscall instruction and registers used for the syscall number, return value and arguments. The project also provides a JSON file for each architecture, such as /x64/syscalls.json, and an API endpoint illustrated by /v2/syscalls/x64/read.

According to the project description, users can select a kernel release and inspect differences across releases. Entries record when a syscall first appeared and, where applicable, when it was removed; removed calls remain available through an “all, with removed” view. The project says it generates its tables by reading syscall tables and SYSCALL_DEFINE macros in scanned mainline kernel releases. Short descriptions come from the Linux man-pages project, with io_uring descriptions from liburing.

At a glance
updateWhen: Presented in a Show HN post; the source…
The developmentA Show HN post introduces an updated syscall.sh website and API with system-call tables for 27 Linux architectures and historical data across kernel releases.

One Lookup Across Linux Architectures

Linux system calls provide the interface between programs and the kernel, but their numbers and calling conventions vary across architectures. A consolidated reference can help systems programmers, security researchers and maintainers check those differences without relying on a single architecture’s documentation. The inclusion of both register conventions and entry instructions makes the tables relevant to people working close to the kernel interface.

The historical records add a separate practical use: a developer can check whether a syscall existed in a particular kernel release or was later removed. The JSON downloads and API also make the information available to scripts and other tools, rather than limiting it to manual browsing. The project’s description says its data is rebuilt when the underlying data changes, though it does not specify a release schedule or independent validation process.

Vitamix 5200 Professional-Grade Blender, 64 oz. Container, Black

Vitamix 5200 Professional-Grade Blender, 64 oz. Container, Black

As an affiliate, we earn on qualifying purchases.

How the Tables Track Kernel Releases

The project presents its database as a cross-architecture reference, not as a new Linux kernel feature. Linux supports multiple processor architectures, and a syscall’s identifier, argument registers and entry instruction can differ between them. The site organizes those details by architecture and provides per-architecture JSON alongside the web tables.

Its version labels need to be read with care: the stated coverage runs from Linux 3.3 through 7.3, but an architecture’s “since” label marks the first release scanned for that architecture, not necessarily the syscall’s original introduction. The project explicitly warns that entries present in that earliest scanned release may be older. That distinction matters when using the history to make claims about when a syscall first entered Linux.

“Every Linux syscall table in one place, grouped by architecture.”

— The syscall.sh project description

Coverage Limits and Data Checks

The source material does not give the date of the Show HN post, the identity of the developer, or details of changes made in this update compared with an earlier version of the site. It also does not describe testing or independent review of the generated tables. The project says the data is read from kernel source, but the supplied information does not document the generator’s implementation or how it handles discrepancies in source files.

The stated range of Linux 3.3 to 7.3 does not mean every architecture has entries starting at Linux 3.3, and the first scanned release is not necessarily the historical introduction date of each syscall. The materials also do not specify how often the site is rebuilt, whether the API has stability or availability commitments, or whether its coverage includes non-mainline kernel variants.

Using the API and Release History

Readers can consult the architecture pages, select a kernel release, or download the corresponding JSON file. The project’s example API request retrieves information for the x86_64 “read” syscall; its API documentation is described as covering other queries, including kernel-release lookups and diffs. The source material does not announce a future release date or a planned expansion beyond the listed 27 architectures.

For users relying on the data in production tools or research, the next step is to check the project’s API documentation and compare relevant entries with the kernel release and architecture they use. The project says its site is rebuilt when data changes, but its update cadence and any forthcoming changes remain unspecified.

Key Questions

What is syscall.sh?

syscall.sh is a website and API that lists Linux system calls by architecture, with syscall numbers, argument details, calling conventions and release history.

Which architectures does the site cover?

The project lists 27 architectures, including x86_64, 32-bit x86, ARM, AArch64, RISC-V, LoongArch, PowerPC, MIPS and IBM Z.

Can users access the data without browsing the site?

Yes. The project provides a JSON file for each architecture and an API. Its example endpoint requests data for the x86_64 read syscall.

Does a syscall’s ‘since’ field always show when it was introduced?

No. The project warns that if an entry’s “since” release matches the first release scanned for its architecture, the syscall may have existed earlier.

How does the project say it obtains syscall data?

The project says its generator reads syscall tables and SYSCALL_DEFINE macros from scanned mainline Linux releases. Short descriptions are sourced from the Linux man-pages project, and io_uring descriptions from liburing.

Source: syscall.sh

You May Also Like

Google Quietly Changes Privacy Policy So Your Gmail And Photos Could Be Used In Targeted Ads – Dexerto

Google’s policy, effective October 16, says data shared from Gmail, Photos or Drive with eligible services may inform personalized ads.

G# – A modern .NET language with Go, Kotlin, and Swift ergonomics

G# is a new programming language designed for the .NET platform, combining ergonomic features inspired by Go, Kotlin, and Swift, aiming to improve developer productivity.

The AI-Powered Construction Solution That Launched In A Single Night

A solo founder developed and launched Gewerkton, an AI-powered construction documentation platform, in a single night, with verified code packages and testing.

Which AI Model Should You Use To Enhance Your Coding?

A comprehensive guide to selecting the right AI models—GPT-6, Claude, Astra, Luna, Fable—for various software development tasks.