[libc-commits] [libc] [libc][darwin] add syscall numbers from macos sdk (PR #166354)

Shreeyash Pandey via libc-commits libc-commits at lists.llvm.org
Fri Nov 7 06:27:51 PST 2025


bojle wrote:

Found the problem: the sdk include path is not being searched at all. Here's the error:

```
[1/118] Building CXX object libc/src/__support/OSUtil/darwin/CMakeFiles/libc.src.__support.OSUtil.darwin.darwin_util.dir/exit.cpp.o
FAILED: [code=1] libc/src/__support/OSUtil/darwin/CMakeFiles/libc.src.__support.OSUtil.darwin.darwin_util.dir/exit.cpp.o
/Library/Developer/CommandLineTools/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_22_0_0_git -D_DEBUG -I/Users/fog/dev/llvm-project/libc -isystem /Users/fog/dev/llvm-project/build-libc/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -Wno-pass-failed -fdiagnostics-color -g -std=gnu++17 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -MD -MT libc/src/__support/OSUtil/darwin/CMakeFiles/libc.src.__support.OSUtil.darwin.darwin_util.dir/exit.cpp.o -MF libc/src/__support/OSUtil/darwin/CMakeFiles/libc.src.__support.OSUtil.darwin.darwin_util.dir/exit.cpp.o.d -o libc/src/__support/OSUtil/darwin/CMakeFiles/libc.src.__support.OSUtil.darwin.darwin_util.dir/exit.cpp.o -c /Users/fog/dev/llvm-project/libc/src/__support/OSUtil/darwin/exit.cpp
/Users/fog/dev/llvm-project/libc/src/__support/OSUtil/darwin/exit.cpp:19:40: error: use of undeclared identifier 'SYS_exit'
   19 |     LIBC_NAMESPACE::syscall_impl<long>(SYS_exit, status);
      |                                        ^
1 error generated.
[14/118] Building CXX object libc/test/UnitTest/CMakeFiles/LibcTest.unit.dir/LibcTest.cpp.o
```
The sys/syscall.h files is in `/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk` which is clearly being included by `-sysroot`. Adding `/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include` manually to this command line succeeds. I've tried adding the path through `target_include_directory` and through [CMAKE_OSX_SYSROOT](https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_SYSROOT.html) but none of it worked. Cache shouldn't be an issue as I rm -rf the whole build directory before building. There is definitely some cmake oddity that is tripping me off.

https://github.com/llvm/llvm-project/pull/166354


More information about the libc-commits mailing list