missing_syscall: memfd_create() is supported by glibc since 2.27

Now, our baseline of glibc is 2.31, hence it is OK to drop it.
This commit is contained in:
Yu Watanabe
2025-02-28 21:49:03 +09:00
parent 047a4111df
commit 6ca5be8d3f
5 changed files with 2 additions and 92 deletions

View File

@@ -603,7 +603,6 @@ foreach ident : ['secure_getenv', '__secure_getenv']
endforeach
foreach ident : [
['memfd_create', '''#include <sys/mman.h>'''],
['gettid', '''#include <sys/types.h>
#include <unistd.h>'''],
['fchmodat2', '''#include <stdlib.h>

View File

@@ -5,24 +5,14 @@
#include "macro.h"
#ifndef MFD_ALLOW_SEALING
# define MFD_ALLOW_SEALING 0x0002U
#else
assert_cc(MFD_ALLOW_SEALING == 0x0002U);
#endif
#ifndef MFD_CLOEXEC
# define MFD_CLOEXEC 0x0001U
#else
assert_cc(MFD_CLOEXEC == 0x0001U);
#endif
/* since glibc-2.38 */
#ifndef MFD_NOEXEC_SEAL
# define MFD_NOEXEC_SEAL 0x0008U
#else
assert_cc(MFD_NOEXEC_SEAL == 0x0008U);
#endif
/* since glibc-2.38 */
#ifndef MFD_EXEC
# define MFD_EXEC 0x0010U
#else

View File

@@ -68,16 +68,6 @@ static inline int missing_ioprio_set(int which, int who, int ioprio) {
/* ======================================================================= */
#if !HAVE_MEMFD_CREATE
static inline int missing_memfd_create(const char *name, unsigned int flags) {
return syscall(__NR_memfd_create, name, flags);
}
# define memfd_create missing_memfd_create
#endif
/* ======================================================================= */
#if !HAVE_GETRANDOM
/* glibc says getrandom() returns ssize_t */
static inline ssize_t missing_getrandom(void *buffer, size_t count, unsigned flags) {

View File

@@ -382,74 +382,6 @@ assert_cc(__NR_getrandom == systemd_NR_getrandom);
# endif
#endif
#ifndef __IGNORE_memfd_create
# if defined(__aarch64__)
# define systemd_NR_memfd_create 279
# elif defined(__alpha__)
# define systemd_NR_memfd_create 512
# elif defined(__arc__) || defined(__tilegx__)
# define systemd_NR_memfd_create 279
# elif defined(__arm__)
# define systemd_NR_memfd_create 385
# elif defined(__i386__)
# define systemd_NR_memfd_create 356
# elif defined(__ia64__)
# define systemd_NR_memfd_create 1340
# elif defined(__loongarch_lp64)
# define systemd_NR_memfd_create 279
# elif defined(__m68k__)
# define systemd_NR_memfd_create 353
# elif defined(_MIPS_SIM)
# if _MIPS_SIM == _MIPS_SIM_ABI32
# define systemd_NR_memfd_create 4354
# elif _MIPS_SIM == _MIPS_SIM_NABI32
# define systemd_NR_memfd_create 6318
# elif _MIPS_SIM == _MIPS_SIM_ABI64
# define systemd_NR_memfd_create 5314
# else
# error "Unknown MIPS ABI"
# endif
# elif defined(__hppa__)
# define systemd_NR_memfd_create 340
# elif defined(__powerpc__)
# define systemd_NR_memfd_create 360
# elif defined(__riscv)
# if __riscv_xlen == 32
# define systemd_NR_memfd_create 279
# elif __riscv_xlen == 64
# define systemd_NR_memfd_create 279
# else
# error "Unknown RISC-V ABI"
# endif
# elif defined(__s390__)
# define systemd_NR_memfd_create 350
# elif defined(__sparc__)
# define systemd_NR_memfd_create 348
# elif defined(__x86_64__)
# if defined(__ILP32__)
# define systemd_NR_memfd_create (319 | /* __X32_SYSCALL_BIT */ 0x40000000)
# else
# define systemd_NR_memfd_create 319
# endif
# elif !defined(missing_arch_template)
# warning "memfd_create() syscall number is unknown for your architecture"
# endif
/* may be an (invalid) negative number due to libseccomp, see PR 13319 */
# if defined __NR_memfd_create && __NR_memfd_create >= 0
# if defined systemd_NR_memfd_create
assert_cc(__NR_memfd_create == systemd_NR_memfd_create);
# endif
# else
# if defined __NR_memfd_create
# undef __NR_memfd_create
# endif
# if defined systemd_NR_memfd_create && systemd_NR_memfd_create >= 0
# define __NR_memfd_create systemd_NR_memfd_create
# endif
# endif
#endif
#ifndef __IGNORE_mount_setattr
# if defined(__aarch64__)
# define systemd_NR_mount_setattr 442

View File

@@ -11,7 +11,6 @@ SYSCALLS = [
'copy_file_range',
'fchmodat2',
'getrandom',
'memfd_create',
'mount_setattr',
'move_mount',
'name_to_handle_at',