mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-15 08:32:44 -05:00
Commitd5094bcb5b("tools/nolibc: define time_t in terms of __kernel_old_time_t") made nolibc use the kernel's time type so that `time_t` matches `timespec::tv_sec` on all ABIs (notably x32). But since __kernel_old_time_t is fairly new, notably from 2020 in commit94c467ddb2("y2038: add __kernel_old_timespec and __kernel_old_time_t"), nolibc builds that rely on host headers may fail. Switch to __kernel_time_t, which is the same as __kernel_old_time_t and has existed for longer. Tested in PPC VM of Open Source Lab of Oregon State University (./tools/testing/selftests/rcutorture/bin/mkinitrd.sh) Fixes:d5094bcb5b("tools/nolibc: define time_t in terms of __kernel_old_time_t") Signed-off-by: Zhouyi Zhou <zhouzhouyi@gmail.com> [Thomas: Reformat commit and its message a bit] Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
35 lines
1.0 KiB
C
35 lines
1.0 KiB
C
/* SPDX-License-Identifier: LGPL-2.1 OR MIT */
|
|
/*
|
|
* Standard definitions and types for NOLIBC
|
|
* Copyright (C) 2017-2021 Willy Tarreau <w@1wt.eu>
|
|
*/
|
|
|
|
#ifndef _NOLIBC_STD_H
|
|
#define _NOLIBC_STD_H
|
|
|
|
/* Declare a few quite common macros and types that usually are in stdlib.h,
|
|
* stdint.h, ctype.h, unistd.h and a few other common locations. Please place
|
|
* integer type definitions and generic macros here, but avoid OS-specific and
|
|
* syscall-specific stuff, as this file is expected to be included very early.
|
|
*/
|
|
|
|
#include "stdint.h"
|
|
#include "stddef.h"
|
|
|
|
#include <linux/types.h>
|
|
|
|
/* those are commonly provided by sys/types.h */
|
|
typedef unsigned int dev_t;
|
|
typedef unsigned long ino_t;
|
|
typedef unsigned int mode_t;
|
|
typedef signed int pid_t;
|
|
typedef unsigned int uid_t;
|
|
typedef unsigned int gid_t;
|
|
typedef unsigned long nlink_t;
|
|
typedef signed long off_t;
|
|
typedef signed long blksize_t;
|
|
typedef signed long blkcnt_t;
|
|
typedef __kernel_time_t time_t;
|
|
|
|
#endif /* _NOLIBC_STD_H */
|