diff --git a/libc-test/build.rs b/libc-test/build.rs index 9bb46e0a4434da4175f29d4e06b3c25ba37ef838..b7f7890705cf0cbec29e169e2d4b1b82cdf55c5d 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -226,6 +226,7 @@ fn main() { cfg.header("sys/reboot.h"); if !emscripten { cfg.header("linux/netfilter_ipv4.h"); + cfg.header("linux/fs.h"); } if !musl { cfg.header("asm/mman.h"); @@ -464,7 +465,8 @@ fn main() { // Musl uses old, patched kernel headers "FALLOC_FL_COLLAPSE_RANGE" | "FALLOC_FL_ZERO_RANGE" | - "FALLOC_FL_INSERT_RANGE" | "FALLOC_FL_UNSHARE_RANGE" if musl => true, + "FALLOC_FL_INSERT_RANGE" | "FALLOC_FL_UNSHARE_RANGE" | + "RENAME_NOREPLACE" | "RENAME_EXCHANGE" | "RENAME_WHITEOUT" if musl => true, // Defined by libattr not libc on linux (hard to test). // See constant definition for more details. diff --git a/src/unix/notbsd/linux/mod.rs b/src/unix/notbsd/linux/mod.rs index c656e1dcb1416b332d70ab4340dc93fd860f3427..0841dd2e5a086e80dc0053d70d29b11bdf8febff 100644 --- a/src/unix/notbsd/linux/mod.rs +++ b/src/unix/notbsd/linux/mod.rs @@ -673,6 +673,10 @@ pub const PTHREAD_PROCESS_PRIVATE: ::c_int = 0; pub const PTHREAD_PROCESS_SHARED: ::c_int = 1; pub const __SIZEOF_PTHREAD_COND_T: usize = 48; +pub const RENAME_NOREPLACE: ::c_int = 1; +pub const RENAME_EXCHANGE: ::c_int = 2; +pub const RENAME_WHITEOUT: ::c_int = 4; + pub const SCHED_OTHER: ::c_int = 0; pub const SCHED_FIFO: ::c_int = 1; pub const SCHED_RR: ::c_int = 2; diff --git a/src/unix/notbsd/linux/musl/b32/arm.rs b/src/unix/notbsd/linux/musl/b32/arm.rs index d0b46600c4a43b060db3ad1cd2c9daf7b6173ccb..4f2d0bdc2c3b6349c0f32d793aa80bb1c5c78467 100644 --- a/src/unix/notbsd/linux/musl/b32/arm.rs +++ b/src/unix/notbsd/linux/musl/b32/arm.rs @@ -390,3 +390,6 @@ pub const TIOCM_RNG: ::c_int = 0x080; pub const TIOCM_DSR: ::c_int = 0x100; pub const TIOCM_CD: ::c_int = TIOCM_CAR; pub const TIOCM_RI: ::c_int = TIOCM_RNG; + +// Syscall table +pub const SYS_renameat2: ::c_long = 382; diff --git a/src/unix/notbsd/linux/musl/b64/aarch64.rs b/src/unix/notbsd/linux/musl/b64/aarch64.rs index fc5863d35cf02d9ff7a72ae329c18bd529891d42..e3a14c0df6203e96ca7acdf83118849c64952866 100644 --- a/src/unix/notbsd/linux/musl/b64/aarch64.rs +++ b/src/unix/notbsd/linux/musl/b64/aarch64.rs @@ -79,3 +79,6 @@ pub const SIGSTKSZ: ::size_t = 12288; pub const PF_MAX: ::c_int = 43; #[doc(hidden)] pub const AF_MAX: ::c_int = PF_MAX; + +// Syscall table +pub const SYS_renameat2: ::c_long = 276; diff --git a/src/unix/notbsd/linux/musl/b64/powerpc64.rs b/src/unix/notbsd/linux/musl/b64/powerpc64.rs index 5f31ab8962e7df5d172184238324a12b8ef18355..1574bff5a6064738642425ae213fdda218289852 100644 --- a/src/unix/notbsd/linux/musl/b64/powerpc64.rs +++ b/src/unix/notbsd/linux/musl/b64/powerpc64.rs @@ -78,3 +78,6 @@ pub const MINSIGSTKSZ: ::size_t = 2048; pub const AF_MAX: ::c_int = 42; #[doc(hidden)] pub const PF_MAX: ::c_int = AF_MAX; + +// Syscall table +pub const SYS_renameat2: ::c_long = 357; diff --git a/src/unix/notbsd/linux/other/b32/arm.rs b/src/unix/notbsd/linux/other/b32/arm.rs index 4de1f32ba924eacfa07e418296833b5ee80d11bb..8a8f3cee32a12a61129338a0fb3e8f6a2faf888e 100644 --- a/src/unix/notbsd/linux/other/b32/arm.rs +++ b/src/unix/notbsd/linux/other/b32/arm.rs @@ -249,3 +249,6 @@ pub const TIOCOUTQ: ::c_ulong = 0x5411; pub const TIOCGWINSZ: ::c_ulong = 0x5413; pub const TIOCSWINSZ: ::c_ulong = 0x5414; pub const FIONREAD: ::c_ulong = 0x541B; + +// Syscall table +pub const SYS_renameat2: ::c_long = 382; diff --git a/src/unix/notbsd/linux/other/b64/aarch64.rs b/src/unix/notbsd/linux/other/b64/aarch64.rs index f4583d5893abbd172b9f213b723f74a1c2bf43ea..3bae5375f85dd413a44ecf4d052f8c7a61af32ec 100644 --- a/src/unix/notbsd/linux/other/b64/aarch64.rs +++ b/src/unix/notbsd/linux/other/b64/aarch64.rs @@ -488,3 +488,6 @@ pub const TIOCOUTQ: ::c_ulong = 0x5411; pub const TIOCGWINSZ: ::c_ulong = 0x5413; pub const TIOCSWINSZ: ::c_ulong = 0x5414; pub const FIONREAD: ::c_ulong = 0x541B; + +// Syscall table +pub const SYS_renameat2: ::c_long = 276; diff --git a/src/unix/notbsd/linux/other/b64/powerpc64.rs b/src/unix/notbsd/linux/other/b64/powerpc64.rs index 56a78b0626c7c8e4ad84cc2176a78873540484f8..e3b81bedc0d0e0363325df4c9e4fac9992df0c8d 100644 --- a/src/unix/notbsd/linux/other/b64/powerpc64.rs +++ b/src/unix/notbsd/linux/other/b64/powerpc64.rs @@ -485,3 +485,6 @@ pub const TIOCOUTQ: ::c_ulong = 0x40047473; pub const TIOCGWINSZ: ::c_ulong = 0x40087468; pub const TIOCSWINSZ: ::c_ulong = 0x80087467; pub const FIONREAD: ::c_ulong = 0x4004667f; + +// Syscall table +pub const SYS_renameat2: ::c_long = 357; diff --git a/src/unix/notbsd/linux/s390x.rs b/src/unix/notbsd/linux/s390x.rs index fa550730d6fad954276657970b2ef46ee4195f62..aac1004631b3a467393a00d000fd2917a8c2e85b 100644 --- a/src/unix/notbsd/linux/s390x.rs +++ b/src/unix/notbsd/linux/s390x.rs @@ -779,6 +779,9 @@ pub const TIOCMSET: ::c_ulong = 0x5418; pub const FIONREAD: ::c_ulong = 0x541B; pub const TIOCCONS: ::c_ulong = 0x541D; +// Syscall table +pub const SYS_renameat2: ::c_long = 347; + pub const RTLD_DEEPBIND: ::c_int = 0x8; pub const RTLD_GLOBAL: ::c_int = 0x100; pub const RTLD_NOLOAD: ::c_int = 0x4;