diff options
author | Florian Weimer <fweimer@redhat.com> | 2018-07-05 18:59:02 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2018-07-05 19:00:10 +0200 |
commit | d6da5cb6a8e0e8a9ce92b7d951a254cf325248d7 (patch) | |
tree | 4c8f50e0ec6b6780eb1eb4dd2b496f0a1b1411d3 /sysdeps/unix/sysv/linux/alpha | |
parent | 1002d708232dda9ebff65f6c1409fa067a01b6e0 (diff) |
Add renameat2 function [BZ #17662]
The implementation falls back to renameat if renameat2 is not available
in the kernel (or in the kernel headers) and the flags argument is zero.
Without kernel support, a non-zero argument returns EINVAL, not ENOSYS.
This mirrors what the kernel does for invalid renameat2 flags.
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/kernel-features.h | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/libc.abilist | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/kernel-features.h b/sysdeps/unix/sysv/linux/alpha/kernel-features.h index c2d4a9f55b..5781cffd5a 100644 --- a/sysdeps/unix/sysv/linux/alpha/kernel-features.h +++ b/sysdeps/unix/sysv/linux/alpha/kernel-features.h @@ -35,6 +35,11 @@ #define __ASSUME_RECV_SYSCALL 1 #define __ASSUME_SEND_SYSCALL 1 +/* Support for the renameat2 syscall was added in 3.17. */ +#if __LINUX_KERNEL_VERSION < 0x031100 +# undef __ASSUME_RENAMEAT2 +#endif + /* Support for the execveat syscall was added in 4.2. */ #if __LINUX_KERNEL_VERSION < 0x040200 # undef __ASSUME_EXECVEAT diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 28d54b9794..23fec55d97 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2027,6 +2027,7 @@ GLIBC_2.27 wcstof64_l F GLIBC_2.27 wcstof64x F GLIBC_2.27 wcstof64x_l F GLIBC_2.28 fcntl64 F +GLIBC_2.28 renameat2 F GLIBC_2.3 __ctype_b_loc F GLIBC_2.3 __ctype_tolower_loc F GLIBC_2.3 __ctype_toupper_loc F |