3 ms·
Go used to do raw syscalls on macOS but changed. Same with some BSDs. Go always did ~libc on Windows (and Solaris) and still does. Go still does raw syscalls
by bradfitz 2y ago
Go used to do raw syscalls on macOS but changed. Same with some BSDs.
Go always did ~libc on Windows (and Solaris) and still does.
Go still does raw syscalls on Linux, as that's a stable ABI.
- pjmlp 2y agolibc is a UNIX concept, as the OS API surface, as described by POSIX. On any other no-UNIX derived OS, it is the C compiler standard library, covering only the ISO C specifies. All the remaining OS services are exposed by other libraries, which in Windows case, the bare minimum is user, kernel and gdi dlls for the Win32 personality. Systems like IBM i, IBM z, ClearPath MCP, .... also have similar set of libraries, as do non-POSIX RTOS for embedded.