commits
cpuid.h only supports i386 and x86_64.
feat: Implemented mlock and munlock syscalls
Instead of using the `inherit` action, LLDB uses `dup2` with both FDs being the same number. This is supported by XNU, so we have to support it as well. The solution is to see if each descriptor we want to set CLOEXEC on is present in the file actions list. If it is, then we *don't* set CLOEXEC on it.
Also, implement octal formatting in `__simple_vsnprintf`.
This makes xtrace print more useful debugging information for posix_spawn. There are other syscalls that could definitely benefit from having more detailed output (e.g. `kevent` and friends).
Also, I was noticing segfaults when processes exited with pthread_terminate; they were due to xtrace using pthread keys after pthread_terminate had been called, which cleans up pthread keys. This new static key approach should be fault free, if only at the expense of leaking some memory per-thread. TODO: add a death hook in libsystem_kernel to notify xtrace when a thread is *actually* going to die.
update reference to cups for fix of #1000
https://github.com/darlinghq/darling/issues/1000
This was an attempt to get sshd to run properly, but unfortunately, it still fails to do so
This is for the remaining PAM modules
Update CMake supported clang versions
* Fix the Carbon framework to properly reexport the right frameworks
* Add many missing Carbon-related type definitions
* A couple of fixes in some submodules (see their commits)
This has been tested with Clang 7, but Clang 6 should work as well.
...and use it in the various printing functions, instead of `__simple_vsprintf`. This fixes some buffer overflow issues with really long messages (like for applications with long path names when logging the execv expansion message).
Also, install an empty `/Library/Preferences` directory.
...for the compiler include path detection
This fixes include issues with musl libc
This requires a change in libelfloader to ensure the interpreter is resolved according to the Linux root and not the prefix.
No wonder LLDB could never find symbols for dyld: we weren't generating them!
Leaving it to the default was causing issues with Arch, because it's on by default there. Having it on causes "device or resource busy" errors.
Remove Unused Code Cocotron
Instead of using the `inherit` action, LLDB uses `dup2` with both FDs being the same number. This is supported by XNU, so we have to support it as well. The solution is to see if each descriptor we want to set CLOEXEC on is present in the file actions list. If it is, then we *don't* set CLOEXEC on it.
Also, implement octal formatting in `__simple_vsnprintf`.
This makes xtrace print more useful debugging information for posix_spawn. There are other syscalls that could definitely benefit from having more detailed output (e.g. `kevent` and friends).
Also, I was noticing segfaults when processes exited with pthread_terminate; they were due to xtrace using pthread keys after pthread_terminate had been called, which cleans up pthread keys. This new static key approach should be fault free, if only at the expense of leaking some memory per-thread. TODO: add a death hook in libsystem_kernel to notify xtrace when a thread is *actually* going to die.