<- Back
Comments (47)
- db48xIt’s a side issue, but I’ve long thought that the kernel should duplicate every existing syscall that takes a null–terminated string by pointer with an otherwise identical syscall that takes the string by pointer, capacity, and length instead. It would be a huge boon to programs written in modern languages. I keep meaning to search the kernel mailing lists to see if the idea has been proposed before, but I never quite find the time.
- ozgrakkurtWould also recommend using commands like:echo '#include <sys/syscall.h>' | gcc -E -dM -xc - | grep -i "read"To get the real values on your PC to make sure.I had LLMs give wrong numbers or constant definitions several times but getting it to generate a command like this and seeing it for myself works every time.Also chromium docs has a table:https://www.chromium.org/chromium-os/developer-library/refer...It would be very useful to just make this website directly link to the syscall number.
- bkallusOn x86_64 and x32, the syscall number goes in eax, not rax. The upper 32 bits of rax are ignored and can be anything.
- guitmzI also made a CLI for consulting the syscall API when I originally released the website. I think I can tidy up the code and make it public too. It uses a embedded dataset so it does not have to query the API endpoint all the time
- wg0This is really great resource, didn't know about it. But one question not related to the website above - why the syscalls vary per architecture if the linux API is the same?Or is it I am confusing it with the C standard library/POSIX and assuming that it should be the same everywhere?
- DustinBrettThat website messes with my graphics for some reason.
- hmokiguessI am not familiar with the internals, so excuse my question, but how does one builds this? Separately, how often can it get stale?
- celesianMuito foda TMZ!
- shoobiedooThis is very handy, thank you. Currently learning aarch64 assembly
- w2seraphhehehe can't wait to get syscallin'
- whalesaladSomewhat related - I am working on a dual Pentium III retro build (first retro build) and completely forgot that this would be 32-bit and won't have niceties like SSE2. Having some fun going down the rabbit hole of IDE, SCSI interfaces and AGP graphics. Can anyone recommend some OS installations to play with? So far I am thinking Haiku, ReactOS, NetBSD and antiX or MX Linux. At some point I am also going to simulate a Novell Netware deployment.
- puklessne[flagged]
- tonglingxujianx[flagged]
- ReDressIf syscalls are so similar, for instance, like 'read' and 'readv' or 'pread', 'sendmsg' and 'sendmsgv' or 'fork' and 'vfork'.Does it still make sense to term or classify them as two distinct syscalls?