linux: Remove stat-check.c

The check is moved to LFS fstatat implementation (since it is the
code that actually implements the syscall).

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
Adhemerval Zanella 2021-02-07 18:45:15 +00:00
parent d2fa24f239
commit 7eb3000f9f
3 changed files with 13 additions and 30 deletions

View File

@ -28,6 +28,18 @@
#include <kstat_cp.h>
#include <stat_t64_cp.h>
#if __TIMESIZE == 64 \
&& (__WORDSIZE == 32 \
&& (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
/* Sanity check to avoid newer 32-bit ABI to support non-LFS calls. */
_Static_assert (sizeof (__off_t) == sizeof (__off64_t),
"__blkcnt_t and __blkcnt64_t must match");
_Static_assert (sizeof (__ino_t) == sizeof (__ino64_t),
"__blkcnt_t and __blkcnt64_t must match");
_Static_assert (sizeof (__blkcnt_t) == sizeof (__blkcnt64_t),
"__blkcnt_t and __blkcnt64_t must match");
#endif
int
__fstatat64_time64 (int fd, const char *file, struct __stat64_t64 *buf,
int flag)

View File

@ -1,3 +1,3 @@
ifeq ($(subdir),misc)
sysdep_routines += epoll_create inotify_init stat-check
sysdep_routines += epoll_create inotify_init
endif

View File

@ -1,29 +0,0 @@
/* Static assert for __blkcnt64_t when __INO_T_MATCHES_INO64_T is defined.
Copyright (C) 2019-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library. If not, see
<https://www.gnu.org/licenses/>. */
#include <sys/stat.h>
#include <bits/typesizes.h>
/* This is due to the layout code in bits/stat.h and the overflow handling in
wordsize-32/overflow.h, requiring either all or none of the three types
concerned to have padding. */
#if defined __INO_T_MATCHES_INO64_T
_Static_assert (sizeof (__blkcnt_t) == sizeof (__blkcnt64_t),
"__blkcnt_t and __blkcnt64_t must match");
#endif