Might be a license thing? The Linux headers are probably GPL like the rest of Linux.
The Linux kernel licence explicitly says programs using the syscall interface are not considered derivative works and that GPL does not apply to them: https://github.com/torvalds/linux/blob/master/LICENSES/excep...
nolibc is NOT under GPL. See first line of each file.
/* SPDX-License-Identifier: LGPL-2.1 OR MIT */
It's technically not part Linux's headers either. It's published under the tools subdirectory, so it's something that ships along with the kernel, but not used by the kernel itself. Basically it's there as some people might find it useful, but could've as well been a separate repo.
Re:Linux Syscall Support
by almostgotcaught on Thursday November 07, 2024 @07:04AM
(#42075921)
Ya totally - those wacky people at chrome must've just never heard of those headers /s
What you don't understand, because you don't work on Chrome, or Chrome sized projects, is that generic, lowest common denominator implementations cannot be optimal for all use-cases and at scale (Chrome-sized project) those inefficiencies matter. That's why this exists, that's why folly exists, that's why abseil exists, that's why no not everyone can just use boost, etc etc etc
Re:Linux Syscall Support
by yencabulator on Thursday November 07, 2024 @02:14PM
(#42079843)
nolibc seems very minimal. For example, no pread/pwrite just read/write, forcing you to lseek and ruining concurrent use.
Kind of an understatement. The existence of an official interface obsoletes 3rd party projects like the one posted.