The base syscall definitions used in this library were adapted from the excellent resources provided by Mebeim. We extend our sincere gratitude for their comprehensive and well-maintained data.
Specifically, the original data was downloaded and adapted from:
-
Systrack:
-
GitHub Repository: https://github.com/mebeim/systrack
-
Interactive Syscall Table: https://syscalls.mebeim.net/
-
Their work has been invaluable in compiling accurate and up-to-date syscall information, which forms the foundation of the JSON definitions included here. We have processed and adapted these definitions to fit the specific needs and format of our library.
The update.py script in this directory is used to manage and maintain these syscall definition files.
This script performs two key functions:
-
Fetches Syscall Definitions: Downloads the latest syscall tables for supported architectures (x86/64, ARM64, i386) directly from
syscalls.mebeim.net. -
Compresses Syscall Data: Processes existing syscall JSON files, removing unnecessary fields and retaining only essential information (
name,number,signature) to optimize them for thelibdebuglibrary.
To update the syscall definitions for your current platform's architecture by fetching the latest data:
./update.py --remoteYou can also specify the architecture explicitly:
./update.py --remote --arch i386Alternatively, to compress a locally available syscall data file:
./update.py --input_file /path/to/your/syscall_data.jsonThe script automatically saves the processed data as a {architecture}.json file (e.g., amd64.json) in the correct directory.