missing_syscall: getrandom is supported by glibc since 2.25

Now our baseline of glibc is 2.31, hence it is OK to drop our
definition.
This commit is contained in:
Yu Watanabe
2025-02-28 22:17:01 +09:00
parent 6ca5be8d3f
commit 69a5c4b14c
5 changed files with 3 additions and 99 deletions

View File

@@ -663,7 +663,6 @@ foreach ident : [
['getdents64', '''#include <dirent.h>'''],
['pidfd_spawn', '''#include <spawn.h>'''],
['strerrorname_np', '''#include <string.h>'''],
['getrandom', '''#include <sys/random.h>'''],
['quotactl_fd', '''#include <sys/quota.h>'''],
['setxattrat', '''#include <sys/xattr.h>'''], # no known header declares setxattrat
['removexattrat', '''#include <sys/xattr.h>'''], # no known header declares removexattrat

View File

@@ -1,26 +1,11 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include <sys/random.h>
#include "macro.h"
#if HAVE_GETRANDOM
# include <sys/random.h>
#else
# include <linux/random.h>
#endif
#ifndef GRND_NONBLOCK
# define GRND_NONBLOCK 0x0001
#else
assert_cc(GRND_NONBLOCK == 0x0001);
#endif
#ifndef GRND_RANDOM
# define GRND_RANDOM 0x0002
#else
assert_cc(GRND_RANDOM == 0x0002);
#endif
/* Defined since glibc-2.32. */
#ifndef GRND_INSECURE
# define GRND_INSECURE 0x0004
#else

View File

@@ -68,17 +68,6 @@ static inline int missing_ioprio_set(int which, int who, int ioprio) {
/* ======================================================================= */
#if !HAVE_GETRANDOM
/* glibc says getrandom() returns ssize_t */
static inline ssize_t missing_getrandom(void *buffer, size_t count, unsigned flags) {
return syscall(__NR_getrandom, buffer, count, flags);
}
# define getrandom missing_getrandom
#endif
/* ======================================================================= */
/* The syscall has been defined since forever, but the glibc wrapper was missing. */
#if !HAVE_GETTID
static inline pid_t missing_gettid(void) {

View File

@@ -314,74 +314,6 @@ assert_cc(__NR_fchmodat2 == systemd_NR_fchmodat2);
# endif
#endif
#ifndef __IGNORE_getrandom
# if defined(__aarch64__)
# define systemd_NR_getrandom 278
# elif defined(__alpha__)
# define systemd_NR_getrandom 511
# elif defined(__arc__) || defined(__tilegx__)
# define systemd_NR_getrandom 278
# elif defined(__arm__)
# define systemd_NR_getrandom 384
# elif defined(__i386__)
# define systemd_NR_getrandom 355
# elif defined(__ia64__)
# define systemd_NR_getrandom 1339
# elif defined(__loongarch_lp64)
# define systemd_NR_getrandom 278
# elif defined(__m68k__)
# define systemd_NR_getrandom 352
# elif defined(_MIPS_SIM)
# if _MIPS_SIM == _MIPS_SIM_ABI32
# define systemd_NR_getrandom 4353
# elif _MIPS_SIM == _MIPS_SIM_NABI32
# define systemd_NR_getrandom 6317
# elif _MIPS_SIM == _MIPS_SIM_ABI64
# define systemd_NR_getrandom 5313
# else
# error "Unknown MIPS ABI"
# endif
# elif defined(__hppa__)
# define systemd_NR_getrandom 339
# elif defined(__powerpc__)
# define systemd_NR_getrandom 359
# elif defined(__riscv)
# if __riscv_xlen == 32
# define systemd_NR_getrandom 278
# elif __riscv_xlen == 64
# define systemd_NR_getrandom 278
# else
# error "Unknown RISC-V ABI"
# endif
# elif defined(__s390__)
# define systemd_NR_getrandom 349
# elif defined(__sparc__)
# define systemd_NR_getrandom 347
# elif defined(__x86_64__)
# if defined(__ILP32__)
# define systemd_NR_getrandom (318 | /* __X32_SYSCALL_BIT */ 0x40000000)
# else
# define systemd_NR_getrandom 318
# endif
# elif !defined(missing_arch_template)
# warning "getrandom() syscall number is unknown for your architecture"
# endif
/* may be an (invalid) negative number due to libseccomp, see PR 13319 */
# if defined __NR_getrandom && __NR_getrandom >= 0
# if defined systemd_NR_getrandom
assert_cc(__NR_getrandom == systemd_NR_getrandom);
# endif
# else
# if defined __NR_getrandom
# undef __NR_getrandom
# endif
# if defined systemd_NR_getrandom && systemd_NR_getrandom >= 0
# define __NR_getrandom systemd_NR_getrandom
# endif
# endif
#endif
#ifndef __IGNORE_mount_setattr
# if defined(__aarch64__)
# define systemd_NR_mount_setattr 442

View File

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