Linux 시스템 콜 통합 참조 사이트 업데이트

원제: Show HN: I've updated my Linux System Call website and API

왜 중요한가

커널 개발, 보안 연구, 이진 분석 등에서 아키텍처별 시스템 콜 참조 비용을 크게 줄여주는 실용 도구다.

syscall.sh가 27개 아키텍처의 Linux 시스템 콜 테이블을 한 곳에 모아 제공한다. x64, arm64, RISC-V 등 주요 아키텍처부터 LoongArch, Xtensa 등 임베디드 아키텍처까지 포함하며, Linux 3.3부터 7.3까지 커널 버전별 변경 이력과 호출 규약(calling convention)을 함께 정리했다.

syscall.sh는 Linux 커널 소스를 직접 파싱해 27개 아키텍처의 시스템 콜 번호, 인수, 레지스터 정보를 정리한 참조 사이트다. 이번 업데이트로 데이터 범위가 Linux 3.3~7.3으로 확장됐으며, 각 아키텍처별 시스템 콜 수는 x86(i386) 441개, x64 369개, arm 426개, arm64 326개 등이다.

사이트는 커널 버전별 셀렉터를 제공해 특정 릴리스에서 추가되거나 삭제된 시스템 콜을 확인할 수 있다. 삭제된 항목도 'all, with removed' 옵션으로 계속 조회 가능하며, 각 항목에는 최초 등장 커널(since)과 삭제 커널(removed_in)이 기록된다.

데이터는 JSON 형태로 `/x64/syscalls.json` 같은 경로에서 직접 다운로드할 수 있고, REST API(`https://api.syscall.sh/v2/syscalls/x64/read`)를 통해 특정 시스템 콜 정보를 조회하거나 커널 릴리스 간 diff도 확인할 수 있다. 각 아키텍처의 호출 규약—커널 진입 명령어부터 번호·인수가 들어가는 레지스터까지—도 표 형태로 정리돼 있다.

사이트 제작자는 모든 데이터를 커널 소스의 시스템 콜 테이블과 `SYSCALL_DEFINE` 매크로에서 직접 읽어 생성한다고 밝혔다.

출처

syscall.sh — 원문 읽기 →