1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

* sysdeps/unix/sysv/linux/powerpc/bits/stat.h [__WORDSIZE != 32]:

(_STAT_VER): Define to _STAT_VER_KERNEL.
	(stru stat, struct stat64): Define to match the PPC64 kernel.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
	(libc: GLIBC_2.2): Remove __xstat64, __fxstat64, and __lxstat64.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/kernel_stat.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: Add kernel_stat.h.

2002-10-02  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/xstatconv.c [STAT_IS_KERNEL_STAT]:
	Conditionalize the function definitions on this.
	* sysdeps/unix/sysv/linux/xstat.c (__xstat) [STAT_IS_KERNEL_STAT]:
	Don't use xstat_conv, just fail if VERS != _STAT_VER_KERNEL.
	* sysdeps/unix/sysv/linux/fxstat.c (__fxstat) [STAT_IS_KERNEL_STAT]:
	Likewise.
	* sysdeps/unix/sysv/linux/lxstat.c (__lxstat) [STAT_IS_KERNEL_STAT]:
	Likewise.

	* Make-dist (dist): Create .bz2 file.  Add rule to create .bz2 files.
This commit is contained in:
Roland McGrath
2002-10-02 08:34:07 +00:00
parent c84d1f2ed7
commit 72978bbbaf
8 changed files with 146 additions and 23 deletions

View File

@ -1,4 +1,5 @@
/* Copyright (C) 1992,95,96,97,98,99,2000,2001 Free Software Foundation, Inc.
/* Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
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
@ -20,12 +21,18 @@
# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
#endif
#include <bits/wordsize.h>
/* Versions of the `struct stat' data structure. */
#define _STAT_VER_LINUX_OLD 1
#define _STAT_VER_KERNEL 1
#define _STAT_VER_SVR4 2
#define _STAT_VER_LINUX 3
#define _STAT_VER _STAT_VER_LINUX /* The one defined below. */
#if __WORDSIZE == 32
# define _STAT_VER_LINUX 3
# define _STAT_VER _STAT_VER_LINUX /* The one defined below. */
#else
# define _STAT_VER _STAT_VER_KERNEL /* The one defined below. */
#endif
/* Versions of the `xmknod' interface. */
#define _MKNOD_VER_LINUX 1
@ -33,44 +40,47 @@
#define _MKNOD_VER _MKNOD_VER_LINUX /* The bits defined below. */
#if __WORDSIZE == 32
struct stat
{
__dev_t st_dev; /* Device. */
#ifndef __USE_FILE_OFFSET64
# ifndef __USE_FILE_OFFSET64
unsigned short int __pad1;
__ino_t st_ino; /* File serial number. */
#else
# else
__ino64_t st_ino; /* File serial number. */
#endif
# endif
__mode_t st_mode; /* File mode. */
__nlink_t st_nlink; /* Link count. */
__uid_t st_uid; /* User ID of the file's owner. */
__gid_t st_gid; /* Group ID of the file's group.*/
__dev_t st_rdev; /* Device number, if device. */
unsigned short int __pad2;
#ifndef __USE_FILE_OFFSET64
# ifndef __USE_FILE_OFFSET64
__off_t st_size; /* Size of file, in bytes. */
#else
# else
__off64_t st_size; /* Size of file, in bytes. */
#endif
# endif
__blksize_t st_blksize; /* Optimal block size for I/O. */
#ifndef __USE_FILE_OFFSET64
# ifndef __USE_FILE_OFFSET64
__blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
#else
# else
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
#endif
# endif
__time_t st_atime; /* Time of last access. */
unsigned long int __unused1;
unsigned long int __unused1; /* Reserved for atime.nanoseconds. */
__time_t st_mtime; /* Time of last modification. */
unsigned long int __unused2;
unsigned long int __unused2; /* Reserved for mtime.nanoseconds. */
__time_t st_ctime; /* Time of last status change. */
unsigned long int __unused3;
unsigned long int __unused3; /* Reserved for ctime.nanoseconds. */
unsigned long int __unused4;
unsigned long int __unused5;
};
#ifdef __USE_LARGEFILE64
# ifdef __USE_LARGEFILE64
struct stat64
{
__dev_t st_dev; /* Device. */
@ -83,19 +93,85 @@ struct stat64
unsigned short int __pad2;
__off64_t st_size; /* Size of file, in bytes. */
__blksize_t st_blksize; /* Optimal block size for I/O. */
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
__time_t st_atime; /* Time of last access. */
unsigned long int __unused1;
unsigned long int __unused1; /* Reserved for atime.nanoseconds. */
__time_t st_mtime; /* Time of last modification. */
unsigned long int __unused2;
unsigned long int __unused2; /* Reserved for mtime.nanoseconds. */
__time_t st_ctime; /* Time of last status change. */
unsigned long int __unused3;
unsigned long int __unused3; /* Reserved for ctime.nanoseconds. */
unsigned long int __unused4;
unsigned long int __unused5;
};
# endif /* __USE_LARGEFILE64 */
#else /* __WORDSIZE == 32 */
struct stat
{
__dev_t st_dev; /* Device. */
# ifndef __USE_FILE_OFFSET64
__ino_t st_ino; /* File serial number. */
# else
__ino64_t st_ino; /* File serial number. */
# endif
__nlink_t st_nlink; /* Link count. */
__mode_t st_mode; /* File mode. */
__uid_t st_uid; /* User ID of the file's owner. */
__gid_t st_gid; /* Group ID of the file's group.*/
int __pad2;
__dev_t st_rdev; /* Device number, if device. */
# ifndef __USE_FILE_OFFSET64
__off_t st_size; /* Size of file, in bytes. */
# else
__off64_t st_size; /* Size of file, in bytes. */
# endif
__blksize_t st_blksize; /* Optimal block size for I/O. */
# ifndef __USE_FILE_OFFSET64
__blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
# else
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
# endif
__time_t st_atime; /* Time of last access. */
unsigned long int __unused1; /* Reserved for atime.nanoseconds. */
__time_t st_mtime; /* Time of last modification. */
unsigned long int __unused2; /* Reserved for mtime.nanoseconds. */
__time_t st_ctime; /* Time of last status change. */
unsigned long int __unused3; /* Reserved for ctime.nanoseconds. */
unsigned long int __unused4;
unsigned long int __unused5;
unsigned long int __unused6;
};
# ifdef __USE_LARGEFILE64
struct stat64
{
__dev_t st_dev; /* Device. */
__ino64_t st_ino; /* File serial number. */
__nlink_t st_nlink; /* Link count. */
__mode_t st_mode; /* File mode. */
__uid_t st_uid; /* User ID of the file's owner. */
__gid_t st_gid; /* Group ID of the file's group.*/
int __pad2;
__dev_t st_rdev; /* Device number, if device. */
__off64_t st_size; /* Size of file, in bytes. */
__blksize_t st_blksize; /* Optimal block size for I/O. */
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
__time_t st_atime; /* Time of last access. */
unsigned long int __unused1; /* Reserved for atime.nanoseconds. */
__time_t st_mtime; /* Time of last modification. */
unsigned long int __unused2; /* Reserved for mtime.nanoseconds. */
__time_t st_ctime; /* Time of last status change. */
unsigned long int __unused3; /* Reserved for ctime.nanoseconds. */
unsigned long int __unused4;
unsigned long int __unused5;
unsigned long int __unused6;
};
# endif /* __USE_LARGEFILE64 */
#endif
/* Tell code we have these members. */
#define _STATBUF_ST_BLKSIZE
#define _STATBUF_ST_RDEV