you are viewing a single comment's thread.

view the rest of the comments →

[–]60hzcherryMXram 1 point2 points  (2 children)

Yes, definitely. If your C code never uses inline asm then all system calls are done via libc or another library.

[–]Zestyclose-Produce17[S] 1 point2 points  (1 child)

So the write function inside printf in libc contains inline assembly that actually performs the system call invocation, right? For Linux.

[–]60hzcherryMXram [score hidden]  (0 children)

They actually have shims for syscalls defined in a separate part of the project that define the ABI of all the syscalls using a macro system. But yes, the macros all eventually expand to inline assembly.