From 72978bbbaf4eb2dec3caaddfa9e0e982b0b5e8ce Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Wed, 2 Oct 2002 08:34:07 +0000 Subject: * 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 * 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. --- sysdeps/unix/sysv/linux/powerpc/bits/stat.h | 114 +++++++++++++++++---- sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist | 1 + sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions | 1 - .../unix/sysv/linux/powerpc/powerpc64/fxstat64.c | 1 + .../sysv/linux/powerpc/powerpc64/kernel_stat.h | 21 ++++ .../unix/sysv/linux/powerpc/powerpc64/lxstat64.c | 1 + .../unix/sysv/linux/powerpc/powerpc64/xstat64.c | 1 + 7 files changed, 120 insertions(+), 20 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/kernel_stat.h create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c (limited to 'sysdeps/unix/sysv/linux') diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/stat.h b/sysdeps/unix/sysv/linux/powerpc/bits/stat.h index fa3df6e27b..c85695e511 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/stat.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/stat.h @@ -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 directly; use instead." #endif +#include + /* 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; /* 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; + }; +# 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; + 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; + 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 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist index 738b9cc542..381f878080 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist @@ -1 +1,2 @@ clone.S +kernel_stat.h diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions index 0026730c17..c3f9daad4c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions @@ -1,7 +1,6 @@ libc { GLIBC_2.2 { # functions used in other libraries - __xstat64; __fxstat64; __lxstat64; # g* glob64; diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c new file mode 100644 index 0000000000..9eff9ebeb7 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c @@ -0,0 +1 @@ +/* fxstat64 is in fxstat.c */ diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/kernel_stat.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/kernel_stat.h new file mode 100644 index 0000000000..8a43ea4a1d --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/kernel_stat.h @@ -0,0 +1,21 @@ +/* Definition of `struct stat' used in the kernel. + Copyright (C) 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 + 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, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#define STAT_IS_KERNEL_STAT 1 +#define XSTAT_IS_XSTAT64 1 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c new file mode 100644 index 0000000000..bb5dbd0fff --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c @@ -0,0 +1 @@ +/* lxstat64 is in lxstat.c */ diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c new file mode 100644 index 0000000000..e7acd3b45e --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c @@ -0,0 +1 @@ +/* xstat64 is in xstat.c */ -- cgit 1.4.1