· kaynak Hacker News – Front Page (native)
syscall.sh yenilenmesi 27 mimari genelinde her Linux syscall'ını kapsıyor, kernel 3.3'ten itibaren
Yenilenen syscall.sh, kernel 3.3'ten 7.3'e uzanan sürümler boyunca 27 CPU mimarisi için Linux syscall numaralarını, argümanlarını ve register kurallarını listeliyor; JSON indirmeleri ve bir API de mevcut.

Tüm kernel geçmişiyle güncellenmiş bir referans
syscall.sh'ın geliştiricisi siteyi ve buna eşlik eden API'yi baştan çıkardı ve yenilemeyi Hacker News'te bir "Show HN" gönderisiyle duyurdu. Referans, kernel 3.3'ten 7.3'e kadar olan sürümler boyunca 27 CPU mimarisindeki Linux sistem çağrılarını belgeliyor ve her girdi için çağrının ilk kez göründüğü sürümü ve varsa kaldırıldığı sürümü kaydediyor.
Tablolar neler içeriyor
Her mimari için tablo, tüm syscall numaralarını argümanlarıyla ve register'larıyla birlikte listeliyor. Ana akım hedeflerin hepsi mevcut — 369 syscall ile x86-64, 441 ile 32-bit i386, 326 ile AArch64, 426 ile 32-bit ARM ve 327 ile 64-bit RISC-V — ve ia32 ile x32 gibi uyumluluk ABI'leri ile üç MIPS ABI'si (o32, n32 ve n64) kendi tablolarına sahip. DEC Alpha, Motorola 68000, HP PA-RISC ve SuperH gibi eski makineler ile ARC, C-SKY, Hexagon, MicroBlaze, Nios II, OpenRISC ve Xtensa'dan gömülü çekirdekler, LoongArch64 ve IBM Z gibi yeni portların yanında kapsanıyor.
Tarama derinliği hedefe göre değişiyor: x86-64 verileri kernel 3.3'e, AArch64 3.7'ye, ARM 4.10'a, RISC-V 4.15'e ve LoongArch64 5.19'a kadar uzanıyor. Site bir uyarıyı açıkça belirtiyor — ilk görüldüğü sürüm, mimarisinin taranan en eski kernel ile eşleşen bir syscall, büyük olasılıkla bundan daha eskidir.
Geçmiş, JSON ve API
Her mimari sayfasında bir kernel seçici bulunuyor, böylece tablo herhangi bir sürümdeki haliyle görüntülenebiliyor ve bir "kaldırılanlarla birlikte" seçeneği emekliye ayrılmış girdileri görünür tutuyor, onları kaldıran sürümle işaretliyor. Görünme ve kaldırılma alanları dahil eksiksiz tablo, mimari başına düz bir JSON dosyası olarak sunuluyor. Bunun üzerinde, api.syscall.sh adresinde sürümlü bir API bulunuyor; herhangi bir kernel sürümü için tek bir syscall'ın ayrıntılarını — örneğin x86-64'te read — ve sürümler arasındaki diff'leri sunabiliyor.
Çağrı kuralları dahil
Tablolar ayrıca her mimarinin çağrı kuralını belgeliyor: kernel'a geçiş yapan instruction, syscall numarasını taşıyan register, altı argüman register'ı ve dönüş değerinin konduğu register. x86-64'te bu, syscall instruction'ı, rax'taki numara, rdi, rsi, rdx, r10, r8 ve r9'daki argümanlar ve rax'a dönen sonuç anlamına geliyor. IBM Z'de giriş, r1'deki numara ve r2'den r7'ye argümanlarla svc 0; 32-bit x86 ise eax'taki numarayla int 0x80 üzerinden giriyor.
Veriler nereden geliyor
Siteye göre her şey doğrudan kernel kaynağından üretiliyor: bir üretici, taradığı her ana sürüm için her mimarinin syscall tablosunu ve SYSCALL_DEFINE makrolarını geziyor, yani numaralar elle korunmayan listeler yerine kernel'ın kendi dispatch tablolarını yansıtıyor. Kısa açıklamalar Linux man-pages projesinden geliyor, io_uring açıklamaları liburing'den alınıyor ve temeldeki veri değiştiğinde site API'den yeniden oluşturuluyor.
Neden önemli
Syscall numaraları taşınabilir değil: aynı çağrı neredeyse her mimaride farklı bir numara taşıyor ve argümanlar farklı giriş instruction'larıyla farklı register'lardan geçiyor. Düşük seviyeli kod yazan, emulator veya seccomp politikaları oluşturan, yazılımı yeni bir hedefe taşıyan ya da binary'leri tersine mühendislik eden herkes tek bir doğru çapraz referanstan yararlanıyor. Veri makine tarafından okunabilir olduğu, kernel sürümüne göre sürümlendiği ve bir API üzerinden ücretsiz alınabildiği için yalnızca göz atma aracı olarak değil, araçları besleyebilecek yapıda. Kaldırılma geçmişi ise eski yazılımları destekleyenler için bir avantaj, çünkü emekliye ayrılan syscall'lar görüş alanından kaybolmak yerine belgelenmiş kalıyor.
- #linux
- #kernel
- #syscalls
- #developer-tools
- #api
İlgili yazılar
- Claude Opus 5.5 lansmanı: tek bir API stringi değişiyor, tokenlar %20 daha ucuz, başarılı injection saldırıları %85 daha az
- Vercel'in agent-desktop aracı, kodlama agent'lerine erişilebilirlik ağaçları üzerinden yerel uygulamaları kullanma imkânı sunuyor
- DeepSeek, Claude Code'a rakip olarak geliştirilen sürekli çalışan yapay zekâ kodlama ajanı Super-Agent'ı açık kaynak yaptı