Here's my guide so far: $ rg '((?!(recursive).*) Nix (?!(daemon|store|expression|Rocks!|Packages|language|derivation|archive|account|user|sandbox|flake).*))' -g '!doc/' --pcre2 All items from this query have been tackled. For the documentation side: that's for https://git.lix.systems/lix-project/lix/issues/162. Additionally, all remaining references to github.com/NixOS/nix which were not relevant were also replaced. Fixes: https://git.lix.systems/lix-project/lix/issues/148. Fixes: https://git.lix.systems/lix-project/lix/issues/162. Change-Id: Ib3451fae5cb8ab8cd9ac9e4e4551284ee6794545 Signed-off-by: Raito Bezarius <raito@lix.systems>
36 lines
1.2 KiB
C++
36 lines
1.2 KiB
C++
/*
|
|
* Determine the syscall number for `fchmodat2`.
|
|
*
|
|
* On most platforms this is 452. Exceptions can be found on
|
|
* a glibc git checkout via `rg --pcre2 'define __NR_fchmodat2 (?!452)'`.
|
|
*
|
|
* The problem is that glibc 2.39 and libseccomp 2.5.5 are needed to
|
|
* get the syscall number. However, a Lix built against nixpkgs 23.11
|
|
* (glibc 2.38) should still have the issue fixed without depending
|
|
* on the build environment.
|
|
*
|
|
* To achieve that, the macros below try to determine the platform and
|
|
* set the syscall number which is platform-specific, but
|
|
* in most cases 452.
|
|
*
|
|
* TODO: remove this when 23.11 is EOL and the entire (supported) ecosystem
|
|
* is on glibc 2.39.
|
|
*/
|
|
|
|
#pragma once
|
|
///@file
|
|
|
|
#if defined(__alpha__)
|
|
# define NIX_SYSCALL_FCHMODAT2 562
|
|
#elif defined(__x86_64__) && SIZE_MAX == 0xFFFFFFFF // x32
|
|
# define NIX_SYSCALL_FCHMODAT2 1073742276
|
|
#elif defined(__mips__) && defined(__mips64) && defined(_ABIN64) // mips64/n64
|
|
# define NIX_SYSCALL_FCHMODAT2 5452
|
|
#elif defined(__mips__) && defined(__mips64) && defined(_ABIN32) // mips64/n32
|
|
# define NIX_SYSCALL_FCHMODAT2 6452
|
|
#elif defined(__mips__) && defined(_ABIO32) // mips32
|
|
# define NIX_SYSCALL_FCHMODAT2 4452
|
|
#else
|
|
# define NIX_SYSCALL_FCHMODAT2 452
|
|
#endif
|